2023年是AIGC元年,2024,每个人多少都会接触到GPT带来的变换。别人都在用,我们也不能落下。ChatGPT咱用不了,可以用国内的各种大模型。
今天,我们还可以把大模型放到本地电脑上运行,不信?咱往下看!
使用Jan.ai在本地调用大模型进行对话
Jan 是 ChatGPT 的替代品,可在您自己的计算机上运行,并带有本地 API 服务器。
Jan 100% 在您自己的机器上运行,可预测、私密和离线。没有其他人可以看到你的对话。
开源工具Jan可以让用户在本地计算机上运行chatbot,而无需互联网连接。Jan支持Mac、Windows和Linux系统,它提供简单的界面下载和使用流行的开源模型,比如LLMA和Mixol等。下文就演示一下如何下载和安装Jan,然后在本地开启类似ChatGPT的界面进行AIGC。
博主下载了Windows 版本,运行安装文件jan-win-x64-0.4.3.exe,桌面会出现黄色小手Jan的图标。打开后界面如下:
首次运行,除了默认的Open AI 的API接口外,其他大模型需要现在后才可以使用。需要用到哪个,点击Download即可。下载完成蓝色的Download即会变为绿色的Use。然后点击即可开启对话模式。
本来到这里小伙伴就可以愉快的玩耍大模型了。
但国内的故事才刚刚开始……
在国内下载大模型,会让你下到哭。
难道就这么放弃了吗?不!
下面就要轮到大杀器登场,看我们怎么解决。
打开jan的用户信息安装目录(一般在%UserProfile%/jan),进入models目录,可以看到和上面界面对应的大模型名称,Download后的大模型保存在这里。
找一个我们要下载的模型目录。可以看到有一个model.json文件。打开文件如下:
{
"source_url": "https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v0.6/resolve/main/ggml-model-q4_0.gguf",
"id": "tinyllama-1.1b",
"object": "model",
"name": "TinyLlama Chat 1.1B Q4",
"version": "1.0",
"description": "The TinyLlama project, featuring a 1.1B parameter Llama model, is pretrained on an expansive 3 trillion token dataset. Its design ensures easy integration with various Llama-based open-source projects. Despite its smaller size, it efficiently utilizes lower computational and memory resources, drawing on GPT-4's analytical prowess to enhance its conversational abilities and versatility.",
"format": "gguf",
"settings": {
"ctx_len": 2048,
"prompt_template": "<|system|>\n{system_message}<|user|>\n{prompt}<|assistant|>"
},
"parameters": {
"max_tokens": 2048
},
"metadata": {
"author": "TinyLlama",
"tags": ["Tiny", "Foundation Model"],
"size": 637000000
},
"engine": "nitro"
}
这里我们可以看到source_url即为大模型文件的地址,id和目录名一样。这个名字也是大模型下载后保存的名称。
我们用浏览器进入网址:https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v0.6/,切换到Files and versions即可看到对应的文件ggml-model-q4_0.gguf。
由于国内下载大模型往往会超时,造成下载失败,而大模型往往都很大,所以博主之前研究后写了文章,请移步:
【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题
修改代码中repo_id 和filename,local_dir 就填刚才找到的目录
# 使用前先通过pip install huggingface_hub安装huggingface_hub包
import time
from huggingface_hub import hf_hub_download
repo_id = "TinyLlama/TinyLlama-1.1B-Chat-v0.6" # 仓库ID
local_dir = f'C:\Users\one\jan\models\tinyllama-1.1b'
cache_dir = local_dir + "/cache"
filename= "ggml-model-q4_0.gguf"
while True:
try:
hf_hub_download(cache_dir=cache_dir,
local_dir=local_dir,
repo_id=repo_id,
filename=filename,
local_dir_use_symlinks=False,
resume_download=True,
etag_timeout=100
)
except Exception as e :
print(e)
# time.sleep(5)
else:
print('下载完成')
break
Downloading ggml-model-q4_0.gguf: 100%|█████████████████████████████████████████████| 637M/637M [00:26<00:00, 24.5MB/s]
下载完成
请按任意键继续. . .
下载完成看到:
修改大模型文件为id名称
在"engine": "nitro"后增加, “state”: “ready”。注意nitro引号后面要加一个“,”。
保存后再进入Jan的界面,即可看到已经变为绿色的Use按钮。
点击Use即可切换到主界面,反正不要钱,就把Max Tokens放到最大。
输入问题即可看到,反馈结果:
是不是很爽,不仅免费,而且可以自由调用大模型。就是GPU风扇要呜呜转哈!
本人使用3070显卡,速度还凑合吧。CPU应该也可以跑。
Jan未来还将可以自行添加大模型,有兴趣的小伙伴也可以照着models目录的命名要求和model.json文件要求自行添加。
更多使用方法见官方文档:https://jan.ai/guides/