
Langchain-Chatchat
把公司资料变成私人顾问,只答自己家的内容
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 38710
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(以 Python 库形式安装运行)
- 需自行启动模型部署框架:Xinference / LocalAI / Ollama / FastChat,或通过 One API 接入在线 API
- pip 安装时建议使用官方 Pypi 源或清华源,以保证库为最新版
- Docker 部署需已安装 Docker,官方强烈建议配合 docker-compose 使用
安装与启动步骤
-
1安装主程序
以 Python 库形式安装 Langchain-Chatchat,0.3.0 起支持该安装方式,建议使用官方 Pypi 源或清华源。
pip install langchain-chatchat -U -
2(可选)装 Xinference 依赖
若要搭配 Xinference 模型部署框架使用,需额外安装对应 Python 依赖库,用带 extra 的方式安装。
pip install "langchain-chatchat[xinference]" -U -
3初始化配置与数据目录
0.3.1 起使用本地 yaml 文件配置,可设置存放配置文件和数据文件的根目录(可选),服务器会自动更新无需重启。
-
4启动服务
执行启动命令拉起服务,README 给出出现对应界面即为启动成功;启动前请确认模型部署框架已就绪。
chatchat start -a -
5(可选)开放远程访问
默认监听地址为 127.0.0.1,无法用其他 IP 访问;如需通过机器 IP 访问(如 Linux),修改监听地址为 0.0.0.0。
-
6(可选)Docker 拉取镜像
使用 Docker 时拉取官方镜像,国内网络可用腾讯云镜像;强烈建议改用 docker-compose 部署。
docker pull chatimage/chatchat:0.3.1.3-93e2c87-20240829 docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-93e2c87-20240829 -
7(可选)配置本地模型路径
Xinference 内置模型会自动下载,若想加载本机已下载模型,启动 Xinference 后到 tools/model_loaders 执行该脚本按提示设置。
streamlit run xinference_manager.py
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
DEFAULT_BIND_HOST | 否 | 服务监听地址,默认 127.0.0.1,改为 0.0.0.0 才能用机器 IP 访问 | 0.0.0.0 |
basic_settings.yaml | 否 | 基础配置文件,监听地址等参数在此修改,改后自动生效无需重启 | basic_settings.yaml 中修改 DEFAULT_BIND_HOST |
如何确认成功
执行 chatchat start -a 后,出现 README 所示启动成功界面即表示服务已启动。默认仅监听 127.0.0.1。
常见问题
Q:启动后其他机器访问不了怎么办?
A:默认监听地址 DEFAULT_BIND_HOST 为 127.0.0.1,需到 basic_settings.yaml 中把监听地址改为 0.0.0.0,再通过机器 IP 访问。
Q:怎么搭配 Xinference 使用?
A:安装时使用 pip install "langchain-chatchat[xinference]" -U 额外安装对应依赖,并在 Xinference 启动后修改配置接入项目。
Q:能让 Xinference 加载本机已下载的模型吗?
A:可以。启动 Xinference 服务后,到项目 tools/model_loaders 目录执行 streamlit run xinference_manager.py,按页面提示为指定模型设置本地路径。
Q:有推荐的 Docker 部署方式吗?
A:README 强烈建议使用 docker-compose 部署,具体步骤参考仓库 docs/install/README_docker.md。
Q:怎么做源码安装或二次开发?
A:源码安装部署与开发部署请参考仓库文档 docs/contributing/README_dev.md。
注意事项
- README 节选中 pip 安装的“初始化项目配置与数据目录”部分代码块被截断,具体命令请以仓库原文档为准。
- 本项目不内置模型,需先自行启动 Xinference、LocalAI、Ollama、FastChat 等部署框架,或通过 One API 接入在线 API。
- 除本地模型框架外,还可通过 One API 接入 OpenAI、Azure OpenAI、Anthropic Claude、智谱清言、百川等在线 API。
- 数据库对话需额外配置,参见 docs/install/README_text2sql.md。
核心亮点
- 基于Langchain架构,支持RAG与Agent模式,可灵活对接ChatGLM、Qwen、Llama等多种主流本地大模型,实现知识库问答与多轮对话。
- 内置FAISS、Milvus等向量数据库集成,提供完整的本地知识库构建、检索与问答流程,降低私有化部署门槛。
- 项目活跃度高(38k+星标),社区生态丰富,提供WebUI、API接口及多种部署方式,便于快速集成到实际业务。
不足之处
- 文档/社区待观察
- 依赖组件较多(Langchain、向量库、模型服务等),部署与配置复杂,对非技术用户不够友好。
- 在处理超大规模知识库时,检索性能与准确性可能受限于所选向量库和Embedding模型,需要额外调优。
适用场景
- 企业内部知识库问答系统,如员工手册、产品文档的智能检索与答疑。
- 基于私有数据的RAG应用,如法律、医疗等专业领域的辅助咨询。
- 快速搭建本地大模型对话Demo或原型,用于技术验证与产品演示。
替代项目
Dify、FastGPT、Quivr
同类项目推荐
IncarnaMind
开源
拖入多个 PDF/TXT,立即用大模型对话提问,答案带出处。
From messy files to a checked report. A free, open-source desktop app for macOS, Win···
telegram-search
开源
一键导出Telegram聊天,用AI语义搜索找回任何记忆
导出并模糊搜索 Telegram 聊天记录 | Export and fuzzy search your Telegram chat histor···
mlx-embeddings
开源
在 Mac 上本地跑视觉/文本嵌入模型,轻松搞定 RAG 和语义搜索
MLX-Embeddings is the best package for running Vision and Language Embedding models ···
web-scraper-api
开源
一个接口调全网数据,实时信息随取随用
All-in-one web scraping API for real-time, large-scale data extraction – proxies, C···
rags
开源
用大白话跟数据聊天,自动出结果
Build ChatGPT over your data, all with natural language
KAG
开源
专业资料问 AI 也能答得准,知识库不再吃灰
KAG is a logical form-guided reasoning and retrieval framework based on OpenSPG engi···
RAG-Survey
开源
一张图看懂RAG论文全景,快速找到你要的研究方向
Collecting awesome papers of RAG for AIGC. We propose a taxonomy of RAG foundations···
local-deep-research
开源
本地跑深度研究,多源检索自动出报告
~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (ll···
cognita
开源
模块化 RAG 框架,快速搭建生产级问答应用
RAG (Retrieval Augmented Generation) Framework for building modular, open source app···