30分钟搭好本地知识库问答:Langchain-Chatchat 完整部署指南
2026/9/1 8:48:25 网站建设 项目流程

30分钟搭好本地知识库问答:Langchain-Chatchat 完整部署指南

【免费下载链接】Langchain-ChatchatLangchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain项目地址: https://gitcode.com/GitHub_Trending/la/Langchain-Chatchat

Langchain-Chatchat 是一套本地知识库问答系统,让 ChatGLM、Qwen 等大模型基于你的私有文档回答问题,可完全离线运行。读完本文,你能在自己的机器上完成环境准备、首次启动、导入私有资料,并开始知识库问答。

五步命令跑通服务

这个项目 0.3.x 版本起不直接加载模型,而是靠 Xinference、Ollama 等推理框架托管模型。两个部分建议放在不同的 Python 虚拟环境,避免依赖冲突。

第一步,装主程序,要求 Python 3.8–3.11:

pip install langchain-chatchat -U

第二步,单独的环境里装模型推理框架并启动。以 Xinference 为例,它能加载 GLM-4、Qwen 等对话模型和 Embedding 模型:

pip install xinference --force xinference-local

等 Xinference 页面里 LLM 和 Embedding 两类模型都加载完成后,回到 chatchat 环境执行初始化,它生成 model_settings、basic_settings、kb_settings 三个配置文件,并复制 samples 示例知识库:

chatchat init

打开 model_settings.yaml,把 DEFAULT_LLM_MODEL、DEFAULT_EMBEDDING_MODEL 改成你加载的模型名,MODEL_PLATFORMS 里填上平台地址(Xinference 默认 http://127.0.0.1:9997/v1)。

第三步,为 samples 知识库建向量库,日志打印出知识条目数即成功:

chatchat kb -r

最后一步,同时启动 API 服务和 WebUI:

chatchat start -a

这就是启动成功后的主界面。左侧面板选"LLM对话"模式和模型,右侧输入问题即可得到第一个结果。

把私有文档变成可检索的知识库

切到左侧导航的"知识库管理"页,新建一个知识库,向量库类型用默认的 FAISS 即可。⚠️ 上传前确认 Embedding 模型仍在运行。

图中中间的"上传知识文件"区域就是放你自己数据的地方。支持 txt、md、pdf、docx、csv、xlsx 和带 OCR 的图片,单文件 200MB 以内,拖拽或点选都行。

导入时有两个参数要注意:

  • 单段文本最大长度:文件切分后每段的上限,越短检索越准,但上下文越碎
  • 相邻文本重合长度:段与段之间保留的重叠,防止一句话在切分处被截断

点"添加文件到知识库",等向量化完成。回到"对话"页,模式改"知识库问答",选中你的知识库即可提问:

答案下方的"知识库匹配结果"会展开检索到的源文件片段,点开核对,就能判断回答是否真的出自你的文档。

调参让回答更贴合数据

对话页左侧的常用参数,调高或调低的效果各不相同:

  • Temperature:调高表达更多样、易跑题;调低更稳定贴题。知识库问答建议 0.1–0.3
  • 历史对话轮数:调高模型携带的上下文更多、连贯性更好,但更耗 token;调低响应快但可能丢上下文
  • 匹配知识条数:调高检索覆盖更广,适合需要跨文件归纳的问题;调低答案更聚焦
  • 知识匹配分数阈值:调高只采纳高相关片段,噪音少;调低则可能混入无关内容

每调一次就拿同一个问题对比验证。若回答总引用不到你的文档,先调大匹配条数,再检查阈值。

处理常见卡点

其他设备访问不了 WebUI现象:本机 localhost 正常,别的机器访问超时。原因:默认监听本地回环地址。处理:basic_settings.yaml 中把 DEFAULT_BIND_HOST 改为 0.0.0.0 后重启。

知识库初始化卡住现象:chatchat kb -r 长时间无输出,新虚拟环境常见。原因:python-magic-bin 依赖冲突。处理:卸载后重装同版本的 python-magic-bin,再重建知识库。

对话超时现象:模型加载慢、对话中途报错。原因:默认请求超时 300 秒。处理:调大 basic_settings.yaml 的 HTTPX_DEFAULT_TIMEOUT。

模型下载缓慢现象:Xinference 拉取模型很慢。原因:默认源速度有限。处理:手动下载模型文件,启动 Xinference 后用 tools/model_loaders/xinference_manager.py 指定本地路径。

下一步可以做什么

跑通闭环后,建议按方向继续:

  • 用 API 把问答能力接进你自己的系统:docs/contributing/api.md
  • 想在服务器上一键部署:docs/install/README_docker.md
  • 想改代码或加功能:docs/contributing/README_dev.md

更多配置项都带中文注释,直接打开对应 yaml 阅读即可。

【免费下载链接】Langchain-ChatchatLangchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain项目地址: https://gitcode.com/GitHub_Trending/la/Langchain-Chatchat

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询