当前位置: 首页 > news >正文

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_datapip3 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.05max_tokens: 4096history_len: 10prompt_name: defaultcallbacks: falsellm_model:model: ''temperature: 0.9max_tokens: 4096history_len: 10prompt_name: defaultcallbacks: trueaction_model:model: ''temperature: 0.01max_tokens: 4096history_len: 10prompt_name: ChatGLM3callbacks: truepostprocess_model:model: ''temperature: 0.01max_tokens: 4096history_len: 10prompt_name: defaultcallbacks: trueimage_model:model: sd-turbosize: 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: xinferenceplatform_type: xinferenceapi_base_url: http://192.168.18.55:9997/v1api_key: EMPTYapi_proxy: ''api_concurrencies: 5auto_detect_model: truellm_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.0port: 7861public_host: 127.0.0.1public_port: 7861# WEBUI 服务器地址
WEBUI_SERVER:host: 0.0.0.0port: 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
在这里插入图片描述

http://www.lryc.cn/news/416117.html

相关文章:

  • 江协科技51单片机学习- p33 PWM呼吸灯和直流驱动电机调速
  • 使用Jetbrains.Rider反编译Unity的DLL文件看源码
  • 【学习笔记】决策单调性优化DP
  • 【每日一题】【二分图最大匹配】【经典板子题】有大家喜欢的零食吗 河南萌新联赛2024第(一)场:河南农业大学 C题 C++
  • 【python】OpenCV—Image Colorization
  • vue 学习笔记
  • 武汉流星汇聚:‘中国制造’闪耀欧洲站,体育赛事成亚马逊增长点
  • RPA是什么?探讨RPA发展的最新趋势 | RPA研究
  • sqlalchemy时间范围查询
  • 电脑不小心删除的文件怎么恢复?教你文件恢复的绝招
  • stm32:使用和学习--硬件和程序
  • ARM知识点二
  • C# ?的使用
  • 【unity小技巧】unity性能优化以及如何进行性能测试
  • 算法参考改进点/知识点
  • electron 配置、打包 -报错解决
  • 基于STM32设计的智能鱼缸(华为云IOT)(200)
  • Django与数据库
  • 大数据系列之:CentOS7安装R详细步骤
  • Linux学习第57天:Linux PWM驱动实验
  • git 远程拉取指定文件
  • 【css】 CSS3+JS做一个酷炫的仪表进度条3d进度条
  • uniapp小程序全局配置分享到朋友和朋友圈功能的实现
  • Java优化后台分页
  • <数据集>电梯内人车识别数据集<目标检测>
  • 二百五十三、OceanBase——Linux上安装OceanBase数据库(三):OBD页面上部署OceanBase数据库
  • Redis应用笔记
  • html实现好看的塔罗牌、十二星座运势网站源码
  • 万字长文带你入门shell编程(超详细)
  • 音质提升秘籍:专业音频剪辑软件汇总