如何使用 langchain-chatchat 和 vllm 框架在本地部署大语言模型
时间: 2025-05-22 10:13:31 浏览: 45
<think>好的,我需要帮助用户了解如何使用LangChain-Chatchat和vLLM框架在本地部署大语言模型。首先,我要回忆这两个框架的基本信息。LangChain-Chatchat是一个结合了LangChain和ChatGLM的项目,用于构建本地知识库和对话系统。vLLM则是一个高效的大语言模型推理框架,由加州大学伯克利分校开发,特别擅长管理显存和提升吞吐量。
接下来,用户的需求是本地部署,所以需要确保所有步骤都在本地完成,不需要远程连接。之前用户提到默认模型THUDM/ChatGLM3-6B和BAAI/bge-large-zh可能会远程连接,但用户希望本地化。因此,可能需要调整配置,确保模型文件完全下载到本地,并正确设置路径。
然后,我应该分步骤来写部署教程。首先准备环境,安装必要的依赖,比如Python版本、PyTorch、CUDA等。需要检查vLLM和LangChain-Chatchat的版本兼容性,避免冲突。然后是模型下载,用户需要从Hugging Face或ModelScope获取模型文件,比如ChatGLM3-6B和bge-large-zh,并确认它们被正确放置在本地目录。
接下来是配置文件的修改。用户需要修改LangChain-Chatchat的配置文件,将模型路径指向本地,并设置使用vLLM作为推理后端。这里可能需要指导用户如何编辑configs/model_config.py和server_config.py,特别是修改LLM_MODEL参数和vLLM的相关配置,比如启用tensor并行或调整GPU内存分配。
然后启动应用,可能涉及运行startup.py脚本,并确保服务正确启动,同时处理可能出现的端口冲突或依赖缺失问题。还需要测试API和Web界面是否正常工作,验证模型是否本地运行。
此外,用户可能遇到常见问题,比如显存不足,需要指导调整batch_size或使用量化。网络问题方面,确保所有模型本地加载,关闭远程连接。依赖冲突可能需要创建虚拟环境或使用Docker。
最后,生成相关问题,帮助用户深入理解优化方法、与其他框架的对比、处理中文的优化、模型微调整合等。需要确保回答结构清晰,步骤详细,并引用之前提到的参考信息,但根据用户需求调整,避免无关内容。</think>以下是如何使用 LangChain-Chatchat 和 vLLM 框架在本地部署大语言模型的完整指南:
### 一、环境准备
1. **硬件要求**
- 推荐 NVIDIA GPU(至少16GB显存)
- 64GB内存(处理大模型参数需要)
- 200GB可用存储空间(存放模型权重)
2. **软件依赖安装**
```bash
# 创建虚拟环境
conda create -n vllm_env python=3.9
conda activate vllm_env
# 安装核心框架
pip install "langchain-chatchat>=0.3.0"
pip install vllm==0.2.6
pip install modelscope
```
### 二、模型部署流程
1. **模型下载(本地化)**
```python
from modelscope import snapshot_download
model_dir = snapshot_download('ZhipuAI/chatglm3-6b', revision='v1.0.0')
```
2. **配置文件修改**
修改 `configs/model_config.py`:
```python
LLM_MODELS = ["chatglm3-6b"] # 仅加载本地模型
MODEL_PATH = {
"chatglm3-6b": "/path/to/local/chatglm3-6b", # 本地模型路径
"bge-large-zh": "/path/to/local/bge-large-zh"
}
```
3. **vLLM集成配置**
在 `server_config.py` 中添加:
```python
VLLM_CONFIG = {
"tensor_parallel_size": 2, # 根据GPU数量设置
"gpu_memory_utilization": 0.9,
"enforce_eager": True # 避免图编译错误
}
```
### 三、服务启动
```bash
# 启动vLLM服务端
python -m vllm.entrypoints.openai.api_server \
--model /path/to/chatglm3-6b \
--tokenizer /path/to/chatglm3-6b \
--trust-remote-code \
--port 8000
# 启动LangChain-Chatchat
python startup.py --all-webui
```
### 四、验证部署
1. **API测试**
```python
from vllm import LLM
llm = LLM(model="/path/to/chatglm3-6b")
print(llm.generate("北京的气候特点"))
```
2. **Web界面访问**
访问 `http://localhost:8501` 可进入知识库问答系统[^1]
### 五、常见问题解决
1. **显存不足**
- 解决方案:在vLLM配置中添加 `"swap_space": 8` 启用磁盘交换
- 调整batch_size:`max_batch_size=4`
2. **网络连接问题**
在 `configs/server_config.py` 中设置:
```python
NO_REMOTE_MODEL = True # 强制使用本地模型
```
3. **依赖冲突**
建议使用Docker部署:
```dockerfile
FROM nvidia/cuda:12.1.0-devel-ubuntu22.04
RUN pip install vllm==0.2.6 langchain-chatchat==0.3.0
```
阅读全文
相关推荐

















