【LLM】-12-部署Langchain-Chatchat-0.3.x版本

目录

1、0.3与0.2的功能对比

2、0.3.x支持多种部署方式

2.3、源码安装

2.3.1、项目源码下载

2.3.2、创建conda环境

2.3.3、安装poetry

2.3.4、安装依赖库

2.3.5、项目初始化

 2.3.6、配置文件

2.3.7、初始化知识库

2.3.7、启动服务

2.3.8、配置说明

2.3.8.1、basic_settings.yaml


从0.3.1开始,模型与项目独立部署,需要借助xinference、oneai、localai等平台独立部署大模型,

Langchain-Chat通过接口API调用

1、0.3与0.2的功能对比

功能0.2.x0.3.x
模型接入本地:fastchat
在线:XXXModelWorker
本地:model_provider,支持大部分主流模型加载框架
在线:oneapi
所有模型接入均兼容openai sdk
Agent❌不稳定✅针对ChatGLM3和QWen进行优化,Agent能力显著提升
LLM对话
知识库对话
搜索引擎对话
文件对话✅仅向量检索✅统一为File RAG功能,支持BM25+KNN等多种检索方式
数据库对话
多模态图片对话✅ 推荐使用 qwen-vl-chat
ARXIV文献对话
Wolfram对话
文生图
本地知识库管理
WEBUI✅更好的多会话支持,自定义系统提示词...

2、0.3.x支持多种部署方式

Langchain-Chatchat 自 0.3.0 版本起,为方便支持用户使用 pip 方式安装部署,以及为避免环境中依赖包版本冲突等问题, 在源代码/开发部署中不再继续使用 requirements.txt 管理项目依赖库,转为使用 Poetry 进行环境管理。

1)pip 安装:

pip install langchain-chatchat -U

2)docker安装

docker pull chatimage/chatchat:0.3.1.3-0f4eb00-20240729

# 国内镜像

docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-0f4eb00-20240729

2.3、源码安装

2.3.1、项目源码下载

git clone https://github.com/chatchat-space/Langchain-Chatchat.git

2.3.2、创建conda环境

conda create -n chat03x python=3.10

conda activate chat03x

2.3.3、安装poetry

pip install poetry

poetry config virtualenvs.prefer-active-python true

2.3.4、安装依赖库

cd Langchain-Chatchat-03x/libs/chatchat-server

poetry install --with lint,test -E xinference


pip install -e .

Poetry install 后会在你的虚拟环境中 site-packages 路径下生成一个 chatchat-<version>.dist-info 文件夹带有 direct_url.json 文件,这个文件指向你的开发环境

2.3.5、项目初始化

cd libs/chatchat-server

python chatchat/cli.py init

注:配置参数打印查看

from chatchat.settings import Settings

print(Settings.basic_settings) # 基本配置信息,包括数据目录、服务器配置等
print(Settings.kb_settings) # 知识库相关配置项
print(Settings.model_settings) # 模型相关配置项
print(Settings.tool_settings) # 工具相关配置项
print(Settings.prompt_settings) # prompt 模板

 2.3.6、配置文件

修改model_settings.yaml 文件

cd libs/chatchat-server

vim model_settings.yaml
# 默认选用的 LLM 名称
DEFAULT_LLM_MODEL: llama3-8b

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


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

# # xinference 平台访问地址 api url
api_base_url: http://127.0.0.1:9997/v1

# # api key if available
api_key: EMPTY

博主已搭建xinference平台, 并启动 名为llama3-8b的模型、以及名为 customer-bge-large-zh的embedding

可以借助平台,在线下载部署

2.3.7、初始化知识库

需要启动语言模型与嵌入模型

cd libs/chatchat-server

# 会清空数据库、删除已有的配置文件,如果有重要数据,请备份。
python chatchat/cli.py kb --recreate-vs

如需使用其它 Embedding 模型,或者重建特定的知识库,请查看 python chatchat/cli.py kb --help 了解更多的参数。

2.3.7、启动服务

需要先确保LLM 模型启动成功,参考【LLM】-13-Xinference的部署、使用-CSDN博客

cd libs/chatchat-server

python chatchat/cli.py start -a

部分启动日志

操作系统:Linux-5.15.0-73-generic-x86_64-with-glibc2.31.
python版本:3.10.14 (main, May  6 2024, 19:42:50) [GCC 11.2.0]
项目版本:0.3.1.3
langchain版本:0.1.17
数据目录:/home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server


当前使用的分词器:ChineseRecursiveTextSplitter
默认选用的 Embedding 名称: customer-bge-large-zh

2.3.8、配置说明

2.3.8.1、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: /home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server/data/knowledge_base

# 数据库默认存储路径。如果使用sqlite,可以直接修改DB_ROOT_PATH;如果使用其它数据库,请直接修改SQLALCHEMY_DATABASE_URI。
DB_ROOT_PATH: 
  /home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server/data/knowledge_base/info.db

# 知识库信息数据库连接URI
SQLALCHEMY_DATABASE_URI: 
  sqlite:home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server/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

参考文章:

Langchain-chat 0.3.x版本

Langchain-chat-0.3.x docker-compose部署

Langchain-chat API文档

使用 — Xinference

NLTK下载资源包报错问题处理

<think>好的,我现在需要回答用户关于在Linux系统中部署Xinference知识库的问题。首先,我得仔细阅读用户提供的引用内容,看看里面有没有相关的步骤或信息。 根据引用[1],用户提到在Linux本地部署Langchain-chatchat-v0.3+Xinference+qwen-chat 1.5-72B时,首先创建了一个名为xinfer的conda虚拟环境,并安装了Python 3.10。这说明使用conda创建虚拟环境是部署Xinference的一部分。不过这里可能还涉及到其他步骤,比如安装Xinference本身以及相关依赖。 引用[2]提到用户尝试安装Xinference时使用了不同的pip命令,比如安装所有后端引擎的`pip install "xinference[all]"`,或者只安装transformers和vllm的`pip install "xinference[transformers,vllm]"`,但在Windows下遇到问题,后来切换到WSL的Linux环境下才成功。这说明在Linux环境下安装Xinference可能更可靠,但需要注意后端引擎的选择和可能的依赖问题。 引用[3]讨论了Xinference和Ollama在构建本地RAG知识库时的对比,定位和适用场景。虽然这里没有直接的部署步骤,但可以推测Xinference需要与其他工具如Langchain-chatchat结合使用,可能涉及模型部署和配置。 接下来,我需要整理这些信息,形成一个清晰的步骤指南。首先,确保系统环境是Linux,然后创建虚拟环境,安装Xinference,选择合适的后端,启动服务,最后验证部署。另外,用户可能需要下载模型,比如qwen-chat-72B,并配置相关参数,如端口号。还要注意可能的依赖问题,比如CUDA版本是否正确,是否需要安装额外的库。 可能遇到的问题包括安装时的依赖错误,这时候需要检查pip版本,确保Python版本3.10,或者安装必要的系统库。此外,模型下载可能需要较长时间,或者需要特定的权限设置。如果用户遇到启动失败,可能需要检查日志,确认端口是否被占用,或者模型路径是否正确。 总结起来,步骤应该是:准备环境→安装Xinference→启动服务→下载模型→验证部署。同时,提供相关问题的建议,比如性能调优、模型选择等。</think>### 分步指南:在 Linux 系统中部署 Xinference 知识库 #### 1. **环境准备** - **安装 Conda** 若未安装 Miniconda/Anaconda,先通过以下命令安装: ```bash wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh ``` 按照提示完成安装后,初始化 Conda: ```bash conda init bash source ~/.bashrc ``` - **创建虚拟环境** 为避免依赖冲突,创建独立环境(需 Python 3.10): ```bash conda create -n xinfer python=3.10 conda activate xinfer ``` [^1] #### 2. **安装 Xinference** - **基础安装** 使用 pip 安装 Xinference 核心库: ```bash pip install xinference ``` - **选择推理后端** 根据硬件和需求安装对应后端(如使用 NVIDIA GPU 推荐 `vllm`): ```bash pip install "xinference[transformers,vllm]" # 常用组合 # 或安装全部后端 pip install "xinference[all]" ``` [^2] #### 3. **启动 Xinference 服务** - **本地启动** 运行以下命令启动服务(默认端口 9997): ```bash xinference-local ``` 若需自定义端口或绑定 IP: ```bash xinference-local --host 0.0.0.0 --port 8888 ``` - **验证服务状态** 访问 `http://localhost:9997` 或指定端口,查看 Web UI 是否正常。 #### 4. **部署模型(以 qwen-chat-72B 为例)** - **下载模型** 通过 Xinference CLI 下载模型: ```bash xinference register --model-type "LLM" --file "qwen-chat-1.5-72b" --endpoint http://localhost:9997 ``` - **启动模型实例** 使用以下命令加载模型(需根据 GPU 显存调整 `n-gpu`): ```bash xinference launch --model-name "qwen-chat-1.5-72b" --model-format "pytorch" --size-in-billions 72 --n-gpu 2 ``` #### 5. **集成知识库应用** - **连接 Langchain-Chatchat** 修改 Langchain-Chatchat 配置文件中 Xinference 的 API 地址和模型名称: ```yaml # config.yml inference_backend: type: xinference endpoint: http://localhost:9997 model_uid: "qwen-chat-1.5-72b" ``` - **启动知识库服务** 按照 Langchain-Chatchat部署流程启动服务即可。 #### 常见问题排查 - **依赖冲突** 若安装失败,尝试先升级 pip:`pip install --upgrade pip` - **CUDA 版本不匹配** 确保 CUDA 版本与 PyTorch 版本兼容(如 CUDA 11.8 + PyTorch 2.1+)。 - **端口占用** 使用 `netstat -tuln | grep 9997` 检查端口占用情况,必要时更换端口。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

宣晨光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值