【AI】使用Jan.ai在本地部署大模型开启AI对话(含通过huggingface下载大模型,实现大模型自由)

发布时间:2024年01月06日


前言

2023年是AIGC元年,2024,每个人多少都会接触到GPT带来的变换。别人都在用,我们也不能落下。ChatGPT咱用不了,可以用国内的各种大模型。
今天,我们还可以把大模型放到本地电脑上运行,不信?咱往下看!

使用Jan.ai在本地调用大模型进行对话

一、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。然后点击即可开启对话模式。

在这里插入图片描述
本来到这里小伙伴就可以愉快的玩耍大模型了。
但国内的故事才刚刚开始……
在国内下载大模型,会让你下到哭。
难道就这么放弃了吗?不!
下面就要轮到大杀器登场,看我们怎么解决。

二、下载大模型

1. 找到大模型文件地址

打开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。
在这里插入图片描述

2. 下载大模型

由于国内下载大模型往往会超时,造成下载失败,而大模型往往都很大,所以博主之前研究后写了文章,请移步:
【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名称
在这里插入图片描述

3. 修改model.json文件

在"engine": "nitro"后增加, “state”: “ready”。注意nitro引号后面要加一个“,”。
在这里插入图片描述
保存后再进入Jan的界面,即可看到已经变为绿色的Use按钮。
在这里插入图片描述

三、使用Jan调用大模型进行对话

点击Use即可切换到主界面,反正不要钱,就把Max Tokens放到最大。
在这里插入图片描述
输入问题即可看到,反馈结果:
在这里插入图片描述
是不是很爽,不仅免费,而且可以自由调用大模型。就是GPU风扇要呜呜转哈!
本人使用3070显卡,速度还凑合吧。CPU应该也可以跑。


总结

Jan未来还将可以自行添加大模型,有兴趣的小伙伴也可以照着models目录的命名要求和model.json文件要求自行添加。
更多使用方法见官方文档:https://jan.ai/guides/

文章来源:https://blog.csdn.net/popboy29/article/details/135424546
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。