从头开始搭建 Langchain-Chatchat 0.3x

github代码库链接

Langchain-Chatchaticon-default.png?t=N7T8https://github.com/chatchat-space/Langchain-Chatchat

inferenceicon-default.png?t=N7T8https://github.com/xorbitsai/inference

本文将会用到两个代码库

第一个代码库是启动chatchat使用。

第二个代码库是加载推理模型使用。

安装Xinference

首先新建虚拟环境, 然后通过pip安装

pip install "xinference[all]"

启动方式

xinference-local --host 0.0.0.0 --port 8887

通过浏览器打开会看到这样一个界面

launch model 会自动下载模型文件,默认是从hugging face下载,如果网络不通可以更改到ModelScope。也可以添加本地模型

添加注册模型

  1. 点击resgister model
  2.  填写model name 自己随便起一个名字就好了
  3. 模型介绍 可写可不写
  4. 按照截图勾选即可
  5. 选择你下载到本地的大模型基座
  6. 填写本地大模型的实际路径
  7. register mdoel 点击注册

glm4-chat模型下载国内可以去魔塔社区下载:

魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。icon-default.png?t=N7T8https://www.modelscope.cn/models/ZhipuAI/glm-4-9b

打开网址复制名字,以glm4为例,按照下面代码操作可以指定下载目录。

pip install modelscope
from modelscope import snapshot_download
download_dir = r'D:\mycode\MachineLearningPractice-main\modelscope_download'
model_dir = snapshot_download("ZhipuAI/glm-4-9b-chat", cache_dir=download_dir)

魔塔下载模型详细文档信息:魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。icon-default.png?t=N7T8https://www.modelscope.cn/docs/%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%B8%8B%E8%BD%BD

启动模型

  1. 点击launch model
  2. 点击custom models
  3. 点击language mdels

然后我们就会看到我们刚刚注册的大模型信息

点击卡片--右边弹出信息

  1. 选择推理模型引擎
  2. 是否量化
  3. 选择gpu or cpu
  4. 小火箭启动模型API

  1. 点击Running Model
  2. LANGUAGE MODELS

即可查看到我们启动的模型

  1. Actions-向上箭头 ↑即可打开模型推理界面
  2. 右边垃圾桶 即关闭运行的模型

同理我们在注册一个embedding model

使用nohup方式启动xinference,这样我们关闭终端的时候,我们启动的API接口依然存在。

nohup xinference-local --host 0.0.0.0 --port 8887 > logfile.log 2>&1 &

安装chatchat3

退出xinference虚拟环境,新建一个虚拟环境用来运行Langchain-Chatchat

pip install "langchain-chatchat[xinference]" -U

需要修改默认llm模型可执行:

模型名字即为之前注册的模型ID,选择你所启动的模型的ID 

chatchat-config model --default_llm_model autodl-tmp-glm-4-9b-chat

需要修改默认embedding模型可执行:

chatchat-config model --DEFAULT_EMBEDDING_MODEL custom-embedding-bge

自定义模型接入配置

完成上述项目配置项可以通过MODEL_PLATFORMS这里配置

chatchat-config model --set_model_platforms "[{
    \"platform_name\": \"xinference\",
    \"platform_type\": \"xinference\",
    \"api_base_url\": \"http://127.0.0.1:9997/v1\",
    \"api_key\": \"EMPT\",
    \"api_concurrencies\": 5,
    \"llm_models\": [
        \"autodl-tmp-glm-4-9b-chat\"
    ],
    \"embed_models\": [
        \"custom-embedding-bge\"
    ],
    \"image_models\": [],
    \"reranking_models\": [],
    \"speech2text_models\": [],
    \"tts_models\": []
}]"

主要修改这两个选项

初始化知识库

指定自己在xinference平台上启动的embedding模型ID

chatchat-kb -r --embed-model=custom-embedding-bge
chatchat-config basic --show

知识库路径为  DATA_PATH 变量指向的路径下的 knowledge_base 目录中:

启动项目

chatchat -a

启动成功

由于 chatchat-config server 配置默认监听地址 DEFAULT_BIND_HOST 为 127.0.0.1, 所以无法通过其他 ip 进行访问。

chatchat-config server --show 
{
    "HTTPX_DEFAULT_TIMEOUT": 300.0,
    "OPEN_CROSS_DOMAIN": true,
    "DEFAULT_BIND_HOST": "127.0.0.1",
    "WEBUI_SERVER_PORT": 8501,
    "API_SERVER_PORT": 7861,
    "WEBUI_SERVER": {
        "host": "127.0.0.1",
        "port": 8501
    },
    "API_SERVER": {
        "host": "127.0.0.1",
        "port": 7861
    },
    "class_name": "ConfigServer"
}
chatchat-config server --DEFAULT_BIND_HOST 0.0.0.0

修改监听地址

  • 12
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值