Langchain-chatchat调用One-API进行本地部署

在使用langchain接入One API调用相关模型时,遇到一些问题,网上相关资料较少,整个流程梳理一下当个经验参考。

参考链接:

https://github.com/chatchat-space/Langchain-Chatchat?tab=readme-ov-file

https://github.com/songquanpeng/one-api?tab=readme-ov-file

https://www.bookstack.cn/read/FastGPT-4.8-zh/3192cefc4b1ae9a3.md

1. 配置环境

软件:新建环境:Python 3.8-3.11,Windows、macOS、Linux 操作系统均可;

硬件:因 0.3.0 版本已修改为支持不同模型部署框架接入,因此可在 CPU、GPU、NPU、MPS 等不同硬件条件下使用。

2. 安装 Langchain-Chatchat

从 0.3.0 版本起,Langchain-Chatchat 提供以 Python 库形式的安装方式,具体安装请执行:

pip install langchain-chatchat -U

#注意:为确保所使用的 Python 库为最新版,建议使用官方 Pypi 源或清华源

3. 接入One API ——手动部署

(1)从链接 Release v0.6.8 · songquanpeng/one-api 下载可执行文件.exe,或者从源码编译:

git clone https://github.com/songquanpeng/one-api.git

# 构建前端
cd one-api/web/default
npm install
npm run build

# 构建后端
cd ../..
go mod download
go build -ldflags "-s -w" -o one-api

(2)运行:

chmod u+x one-api
./one-api --port 3000 --log-dir ./logs

(3)弹出cmd界面,访问 http://localhost:3000/ 并登录one API。初始账号用户名为 root,密码为 123456

登录界面为

(4)点击 渠道 ,创建新的渠道

渠道 创建成功!返回渠道列表:

(5)申请令牌

One API部署完毕!

4. 初始化项目配置与数据目录

从 0.3.1 版本起,Langchain-Chatchat 使用本地 yaml 文件的方式进行配置,用户可以直接查看并修改其中的内容,服务器会自动更新无需重启。

(1) 设置 Chatchat 存储配置文件和数据文件的根目录(可选)

# on linux or macos
export CHATCHAT_ROOT=/path/to/chatchat_data

# on windows
set CHATCHAT_ROOT=/path/to/chatchat_data

若不设置该环境变量,则自动使用当前目录。

(2) 执行初始化

chatchat init

该命令会执行以下操作:

  • 创建所有需要的数据目录

  • 复制 samples 知识库内容

  • 生成默认 yaml 配置文件

得到的文件结构如图:

(3) 修改配置文件

1. 配置模型(model_settings.yaml) 这里我们选择了One-API的推理框架,选择想用的模型进行配置。具体参考model_settings.yaml 中的注释。主要修改以下内容:
# 默认选用的 LLM 名称
DEFAULT_LLM_MODEL: qwen1.5-chat
# 默认选用的 Embedding 名称
DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5
# 将 LLM_MODEL_CONFIG 中 llm_model, action_model 的键改成对应的 LLM 模型
# 在 MODEL_PLATFORMS 中修改对应模型平台信息

以阿里云百炼平台相关模型为例:

MODEL_PLATFORMS这里记得设置成 oneapi 模式,api_key是3.(5) 得到的令牌key。

2. 配置知识库路径(basic_settings.yaml)(可选) 默认知识库位于 CHATCHAT_ROOT/data/knowledge_base,如果你想把知识库放在不同的位置,或者想连接现有的知识库,可以在这里修改对应目录即可。
# 知识库默认存储路径
KB_ROOT_PATH: D:\chatchat-test\data\knowledge_base
# 数据库默认存储路径。如果使用sqlite,可以直接修改DB_ROOT_PATH;如果使用其它数据库,请直接修改SQLALCHEMY_DATABASE_URI。
DB_ROOT_PATH: D:\chatchat-test\data\knowledge_base\info.db
# 知识库信息数据库连接URI
SQLALCHEMY_DATABASE_URI: sqlite:///D:\chatchat-test\data\knowledge_base\info.db
3. 配置知识库(kb_settings.yaml)(可选)
4. 默认使用 FAISS 知识库,如果想连接其它类型的知识库,可以修改 DEFAULT_VS_TYPEkbs_config

5. 初始化知识库

进行知识库初始化前,请确保已经启动模型推理框架及对应 embedding 模型,且已按照上述步骤4完成模型接入配置。

终端执行代码:

chatchat kb -r

更多功能可以查看

chatchat kb --help

出现以下日志即为成功:

----------------------------------------------------------------------------------------------------
知识库名称      :samples
知识库类型      :faiss
向量模型:      :bge-large-zh-v1.5
知识库路径      :/root/anaconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/data/knowledge_base/samples
文件总数量      :47
入库文件数      :42
知识条目数      :740
用时            :0:02:29.701002
----------------------------------------------------------------------------------------------------

总计用时        :0:02:33.414425

6. 启动项目

chatchat start -a

出现以下界面即为启动成功:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值