Langchain-Chatchat+Xinference集成部署

Langchain-Chatchat+Xinference集成部署
安装环境:
系统:Anolis OS 8.9
python版本:Python 3.9.19
Langchain-Chatchat版本:0.3.1.3
Xinference版本:v0.13.3
模型选择(下载时需要科学上网):
qwen2-instruct
bge-large-zh-v1.5

部署内网IP:192.168.18.55
安装目录:/data/langchain/chatchat_data

一、初始化环境安装

yum install -y python39-devel python39 mesa-libGL
pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

二、xinference模型框架安装

pip3 install "xinference[all]" -i https://pypi.tuna.tsinghua.edu.cn/simple

2.1 xinference模型框架启动及模型下载

XINFERENCE_MODEL_SRc=modelscope xinference-local --host 192.168.18.55 --port 9997

在这里插入图片描述
启动后访问:http://192.168.18.55:9997
进入xinference控制台下载模型
下载模型时需要科学上网去下载

2.2 下载qwen2-instruct模型

在这里插入图片描述

2.3 查看qwen2-instruct下载成功后并自动运行

在这里插入图片描述

2.4 下载bge-large-zh-v1.5模型

在这里插入图片描述

2.5 下载成功后会自动运行

在这里插入图片描述

三、安装langchain

mkdir -p /data/langchain/chatchat_data

pip3 install langchain-chatchat -U -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install "langchain-chatchat[xinference]" -U -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install "unstructured[pdf]"  -i https://pypi.tuna.tsinghua.edu.cn/simple
python3 -m nltk.downloader -d /data/langchain/chatchat_data/data/nltk_data popular

四、初始化项目配置与数据目录

4.1 设置 Chatchat 存储配置文件和数据文件的根目录

# on linux
export CHATCHAT_ROOT=/data/langchain/chatchat_data

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

4.2 执行初始化配置

chatchat init

4.3 修改配置文件

cat model_settings.yaml

# 模型配置项


# 默认选用的 LLM 名称
DEFAULT_LLM_MODEL: qwen2-instruct

# 默认选用的 Embedding 名称
DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5

# AgentLM模型的名称 (可以不指定,指定之后就锁定进入Agent之后的Chain的模型,不指定就是 DEFAULT_LLM_MODEL)
Agent_MODEL: ''

# 默认历史对话轮数
HISTORY_LEN: 3

# 大模型最长支持的长度,如果不填写,则使用模型默认的最大长度,如果填写,则为用户设定的最大长度
MAX_TOKENS:

# LLM通用对话参数
TEMPERATURE: 0.7

# 支持的Agent模型
SUPPORT_AGENT_MODELS:
  - chatglm3-6b
  - glm-4
  - openai-api
  - Qwen-2
  - qwen2-instruct
  - gpt-3.5-turbo
  - gpt-4o

# LLM模型配置,包括了不同模态初始化参数。
# `model` 如果留空则自动使用 DEFAULT_LLM_MODEL
LLM_MODEL_CONFIG:
  preprocess_model:
    model: ''
    temperature: 0.05
    max_tokens: 4096
    history_len: 10
    prompt_name: default
    callbacks: false
  llm_model:
    model: ''
    temperature: 0.9
    max_tokens: 4096
    history_len: 10
    prompt_name: default
    callbacks: true
  action_model:
    model: ''
    temperature: 0.01
    max_tokens: 4096
    history_len: 10
    prompt_name: ChatGLM3
    callbacks: true
  postprocess_model:
    model: ''
    temperature: 0.01
    max_tokens: 4096
    history_len: 10
    prompt_name: default
    callbacks: true
  image_model:
    model: sd-turbo
    size: 256*256

# # 模型加载平台配置


# # 平台名称
# platform_name: xinference

# # 平台类型
# # 可选值:['xinference', 'ollama', 'oneapi', 'fastchat', 'openai', 'custom openai']
# platform_type: xinference

# # openai api url
# api_base_url: http://127.0.0.1:9997/v1

# # api key if available
# api_key: EMPTY

# # API 代理
# api_proxy: ''

# # 该平台单模型最大并发数
# api_concurrencies: 5

# # 是否自动获取平台可用模型列表。设为 True 时下方不同模型类型可自动检测
# auto_detect_model: false

# # 该平台支持的大语言模型列表,auto_detect_model 设为 True 时自动检测
# llm_models: []

# # 该平台支持的嵌入模型列表,auto_detect_model 设为 True 时自动检测
# embed_models: []

# # 该平台支持的图像生成模型列表,auto_detect_model 设为 True 时自动检测
# text2image_models: []

# # 该平台支持的多模态模型列表,auto_detect_model 设为 True 时自动检测
# image2text_models: []

# # 该平台支持的重排模型列表,auto_detect_model 设为 True 时自动检测
# rerank_models: []

# # 该平台支持的 STT 模型列表,auto_detect_model 设为 True 时自动检测
# speech2text_models: []

# # 该平台支持的 TTS 模型列表,auto_detect_model 设为 True 时自动检测
# text2speech_models: []
MODEL_PLATFORMS:
  - platform_name: xinference
    platform_type: xinference
    api_base_url: http://192.168.18.55:9997/v1
    api_key: EMPTY
    api_proxy: ''
    api_concurrencies: 5
    auto_detect_model: true
    llm_models: []
    embed_models: []
    text2image_models: []
    image2text_models: []
    rerank_models: []
    speech2text_models: []
    text2speech_models: []

配置知识库路径(basic_settings.yaml)(可选)
默认知识库位于 CHATCHAT_ROOT/data/langchain/chatchat_data,如果你想把知识库放在不同的位置,或者想连接现有的知识库,可以在这里修改对应目录即可。

cat basic_settings.yaml

# 服务器基本配置信息
# 除 log_verbose/HTTPX_DEFAULT_TIMEOUT 修改后即时生效
# 其它配置项修改后都需要重启服务器才能生效,服务运行期间请勿修改


# 生成该配置模板的项目代码版本,如这里的值与程序实际版本不一致,建议重建配置文件模板
version: 0.3.1.3

# 是否开启日志详细信息
log_verbose: false

# httpx 请求默认超时时间(秒)。如果加载模型或对话较慢,出现超时错误,可以适当加大该值。
HTTPX_DEFAULT_TIMEOUT: 300.0

# 知识库默认存储路径
KB_ROOT_PATH: /data/langchain/chatchat_data/data/knowledge_base

# 数据库默认存储路径。如果使用sqlite,可以直接修改DB_ROOT_PATH;如果使用其它数据库,请直接修改SQLALCHEMY_DATABASE_URI。
DB_ROOT_PATH: /data/langchain/chatchat_data/data/knowledge_base/info.db

# 知识库信息数据库连接URI
SQLALCHEMY_DATABASE_URI: sqlite:////data/langchain/chatchat_data/data/knowledge_base/info.db

# API 是否开启跨域
OPEN_CROSS_DOMAIN: false

# 各服务器默认绑定host。如改为"0.0.0.0"需要修改下方所有XX_SERVER的host
# Windows 下 WEBUI 自动弹出浏览器时,如果地址为 "0.0.0.0" 是无法访问的,需要手动修改地址栏
DEFAULT_BIND_HOST: 0.0.0.0

# API 服务器地址。其中 public_host 用于生成云服务公网访问链接(如知识库文档链接)
API_SERVER:
  host: 0.0.0.0
  port: 7861
  public_host: 127.0.0.1
  public_port: 7861

# WEBUI 服务器地址
WEBUI_SERVER:
  host: 0.0.0.0
  port: 8501

4.4 初始化知识库

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

chatchat kb -r

出现以下日志即为成功:

----------------------------------------------------------------------------------------------------
知识库名称      :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

4.5 启动项目

chatchat start -a

启动后访问http://192.168.18.55:8501
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值