Langchain-Chatchat项目基于Ollama和Qwen2的本地部署指南
前言
Langchain-Chatchat是一个功能强大的对话系统框架,支持多种大语言模型和向量模型的集成。本文将详细介绍如何在本地环境中使用Ollama服务部署Qwen2大语言模型和BGE向量模型,实现完整的Langchain-Chatchat系统运行。
环境准备
1. Ollama服务安装
Ollama是一个简化大语言模型本地部署的工具,最新版本为0.1.48。安装完成后,需要拉取所需的模型:
ollama pull qwen2:7b # 根据需求选择合适大小的模型
ollama pull quentinz/bge-large-zh-v1.5:latest # 向量模型
2. Python环境配置
推荐使用Pyenv管理Python环境,确保环境隔离。安装步骤如下:
pip install poetry
poetry config virtualenvs.prefer-active-python true
cd Langchain-Chatchat/libs/chatchat-server/
poetry install --with lint,test
配置文件调整
1. 模型配置修改
在chatchat/configs/_model_config.py
文件中,需要调整以下关键参数:
# 默认LLM模型设置
self.DEFAULT_LLM_MODEL = "qwen2:7b"
# 默认向量模型设置
self.DEFAULT_EMBEDDING_MODEL = "quentinz/bge-large-zh-v15" # 注意去掉:latest后缀
# 模型平台配置
self.MODEL_PLATFORMS = [
{
"platform_name": "ollama",
"platform_type": "ollama",
"api_base_url": "http://127.0.0.1:11434/v1",
"api_key": "sk",
"api_concurrencies": 5,
"llm_models": ["qwen2:7b"],
"embed_models": ["quentinz/bge-large-zh-v1.5"], # 同样去掉:latest
# 其他模型类型保持空数组
}
]
重要提示:向量模型名称必须完全一致,且不能包含:latest
后缀,否则在使用FAISS向量库时会出现错误。
系统初始化与启动
1. 数据库初始化
在chatchat-server目录下执行:
python init_database.py --recreate-vs
初始化过程中可能会遇到关于libmupdf.so的警告,这通常不会影响主要功能。
2. 启动服务
执行以下命令启动所有服务组件:
python startup.py -a
服务启动后,可以通过浏览器访问http://127.0.0.1:8501/
使用Web界面。
常见问题解决
-
模型名称不一致:确保
DEFAULT_LLM_MODEL
和MODEL_PLATFORMS
中的llm_models
名称完全一致,包括大小写和特殊字符。 -
向量模型访问错误:检查向量模型名称是否包含非法字符(如
:latest
),并确认Ollama服务已正确加载该模型。 -
端口占用问题:如果默认端口被占用,可以通过修改配置文件调整服务端口。
最佳实践建议
-
模型版本管理:为生产环境指定具体的模型版本号,而非使用
latest
标签,确保版本一致性。 -
性能监控:对于
api_concurrencies
参数,应根据服务器硬件配置合理设置,避免资源耗尽。 -
日志分析:定期检查服务日志,及时发现并解决潜在问题。
-
安全配置:虽然本地开发可以使用简单的API key如"sk",生产环境应使用更复杂的密钥。
结语
通过本文的指导,开发者可以成功在本地部署基于Ollama的Langchain-Chatchat系统,集成Qwen2大语言模型和BGE向量模型。这种部署方式不仅便于开发和测试,也为理解现代对话系统的架构提供了实践机会。随着Langchain-Chatchat项目的持续更新,建议关注新版本特性,如0.3.1版本引入的动态配置更新功能,这将进一步提升开发效率。
- DDeepSeek-R1-0528DeepSeek-R1-0528 是 DeepSeek R1 系列的小版本升级,通过增加计算资源和后训练算法优化,显著提升推理深度与推理能力,整体性能接近行业领先模型(如 O3、Gemini 2.5 Pro)Python00
cherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端TSX029unibest
unibest - 最好用的 uniapp 开发框架。unibest 是由 uniapp + Vue3 + Ts + Vite5 + UnoCss + WotUI 驱动的跨端快速启动模板,使用 VS Code 开发,具有代码提示、自动格式化、统一配置、代码片段等功能,同时内置了大量平时开发常用的基本组件,开箱即用,让你编写 uniapp 拥有 best 体验。TypeScript01
热门内容推荐
最新内容推荐
项目优选









