当前位置:   article > 正文

从头开始搭建 Langchain-Chatchat 0.3x_langchain-chatchat0.3

langchain-chatchat0.3

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
  1. from modelscope import snapshot_download
  2. download_dir = r'D:\mycode\MachineLearningPractice-main\modelscope_download'
  3. 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这里配置

  1. chatchat-config model --set_model_platforms "[{
  2. \"platform_name\": \"xinference\",
  3. \"platform_type\": \"xinference\",
  4. \"api_base_url\": \"http://127.0.0.1:9997/v1\",
  5. \"api_key\": \"EMPT\",
  6. \"api_concurrencies\": 5,
  7. \"llm_models\": [
  8. \"autodl-tmp-glm-4-9b-chat\"
  9. ],
  10. \"embed_models\": [
  11. \"custom-embedding-bge\"
  12. ],
  13. \"image_models\": [],
  14. \"reranking_models\": [],
  15. \"speech2text_models\": [],
  16. \"tts_models\": []
  17. }]"

主要修改这两个选项

初始化知识库

指定自己在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 
  1. {
  2. "HTTPX_DEFAULT_TIMEOUT": 300.0,
  3. "OPEN_CROSS_DOMAIN": true,
  4. "DEFAULT_BIND_HOST": "127.0.0.1",
  5. "WEBUI_SERVER_PORT": 8501,
  6. "API_SERVER_PORT": 7861,
  7. "WEBUI_SERVER": {
  8. "host": "127.0.0.1",
  9. "port": 8501
  10. },
  11. "API_SERVER": {
  12. "host": "127.0.0.1",
  13. "port": 7861
  14. },
  15. "class_name": "ConfigServer"
  16. }
chatchat-config server --DEFAULT_BIND_HOST 0.0.0.0

修改监听地址

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/990328
推荐阅读
相关标签
  

闽ICP备14008679号