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

慈云数据 2024-03-12 技术支持 165 0

文章目录

  • 前言
  • 一、Jan.ai是什么?
  • 二、下载大模型
    • 1. 找到大模型文件地址
    • 2. 下载大模型
    • 3. 修改model.json文件
    • 三、使用Jan调用大模型进行对话
    • 总结

      前言

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

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

      下面就让我们的主角登场。

      一、Jan.ai是什么?

      Jan 是 ChatGPT 的替代品,可在您自己的计算机上运行,并带有本地 API 服务器

      Jan 100% 在您自己的机器上运行,可预测、私密和离线。没有其他人可以看到你的对话。

      开源工具Jan可以让用户在本地计算机上运行chatbot,而无需互联网连接。Jan支持Mac、Windows和Linux系统,它提供简单的界面下载和使用流行的开源模型,比如LLMA和Mixol等。下文就演示一下如何下载和安装Jan,然后在本地开启类似ChatGPT的界面进行AIGC。

      打开网页https://jan.ai,即可看到Jan有Mac、Windows、linux系统的版本,大家根据自己需要下载。

      在这里插入图片描述

      博主下载了Windows 版本,运行安装文件jan-win-x64-0.4.3.exe,桌面会出现黄色小手Jan的图标。打开后界面如下:

      在这里插入图片描述

      首次运行,除了默认的Open AI 的在线API接口(Jan就是个大模型调用界面,使用ChatGPT需要输入其API Key),其他大模型需要现在后才可以使用。需要用到哪个,点击Download即可。下载完成蓝色的Download即会变为绿色的Use。然后点击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": "\n{system_message}\n{prompt}"
        },
        "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大模型下载问题

      复制上面的source_url,repo_id 和filename会根据source_url自动生成,local_dir 就填刚才找到的目录。

      # 使用前先通过pip install huggingface_hub安装huggingface_hub包
      import time
      from huggingface_hub import hf_hub_download
      source_url ="https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v0.6/resolve/main/ggml-model-q4_0.gguf"
      location = source_url.split('/resolve/main/')
      repo_id = location[0].strip('https://huggingface.co/')# 仓库ID,例如:"TinyLlama/TinyLlama-1.1B-Chat-v0.6" 
      local_dir = r'C:\Users\one\jan\models\tinyllama-1.1b'
      cache_dir = local_dir + "/cache"
      filename= location[1]# 大模型文件,例如:"ggml-model-q4_0.gguf"
      print(f'开始下载大模型\n仓库:{repo_id}\n保存在:{local_dir}\{filename}\n')
      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
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon