
从零到一玩转 Langchain-Chatchat4 步搭起私有化本地知识库问答【免费下载链接】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 就是干这件事的一套基于 Langchain 与 ChatGLM、Qwen、Llama 等开源大语言模型的本地知识库问答系统你喂文档、它答题模型跑在本地整条链路可以完全离线。这篇文章写给完全没碰过它的你。不需要懂向量库照着走一遍就能得到一个只根据你自己的文档回答的问答系统。先看清它到底在做什么原理一句话就够你的文档被切成小段、转成向量存起来你提问时系统先从向量库捞出最相关的几段连同问题一起塞进提示词再交给大模型作答。所以答案出自你的文档而不是模型的记忆。动手前先确认两件事 ⚠️Python 版本在 3.8 到 3.11 之间Windows、macOS、Linux 均可没有独立显卡也能跑只是模型选小一点有 8G 以上显存则能流畅跑主流的 7B 模型特别提醒一个容易踩的坑Langchain-Chatchat 和模型推理框架请各用各的虚拟环境混装最容易出依赖冲突这也是大部分莫名报错的源头。里程碑一 · 搭好骨架安装与初始化先把本体装进来pip install langchain-chatchat -U如果你打算搭配 Xinference 框架加载模型多装一份附加依赖pip install langchain-chatchat[xinference] -U成功标志终端最后显示Successfully installed langchain-chatchat-...全程没有ERROR。接下来指定数据要落在哪里不设置就默认放在当前目录然后跑初始化# Linux / macOS export CHATCHAT_ROOT/path/to/chatchat_data # Windows set CHATCHAT_ROOTC:\chatchat_data chatchat init这一条命令会建好数据目录、复制内置的 samples 示例知识库并落下一批带默认值的 yaml 文件。成功标志指定目录下多了config/和data/config 里躺着model_settings.yaml、basic_settings.yaml、kb_settings.yaml三个文件。现在先别改它们等模型启动后只动其中两个字段。里程碑二 · 接入大脑用 Xinference 拉起来模型Langchain-Chatchat 自己不去加载模型而是通过模型推理框架与模型通话。这里以 Xinference 为例跨平台、模型库全。pip install xinference[all] xinference -H 0.0.0.0成功标志浏览器打开 http://127.0.0.1:9997 能看到 Xinference 的模型管理页面。在页面上启动两个模型一个 LLM比如qwen1.5-7b-chat或 GLM-4 系列一个 Embedding 模型比如bge-large-zh-v1.5——它是向量化器建知识库离不开它首次启动会自动下载模型文件耐心等。注意记下列表里显示的模型 uidID马上要用。然后打开model_settings.yaml把这两行改成你启动的模型 uidDEFAULT_LLM_MODEL: qwen1.5-chat DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5同文件里LLM_MODEL_CONFIG的 llm_model、action_model 以及MODEL_PLATFORMS的平台信息也要同步指向你的模型。文件内自带中文注释照注释改即可保存后无需重启配置会自动刷新。里程碑三 · 喂上知识一次性建好向量库 现在到了最见成效的一步。先确认 Xinference 里 Embedding 模型还在运行然后执行重建chatchat kb -r内置 samples 知识库有 47 个文件CPU 上需要几分钟。跑完会看到一份类似这样的报表知识库名称 samples 知识库类型 faiss 向量模型 bge-large-zh-v1.5 文件总数量 47 入库文件数 42 知识条目数 740成功标志知识条目数是非零数字说明文档确实进了向量库。如果卡住了Windows 下卡死不动多半是python-magic-bin依赖的问题先pip uninstall python-magic-bin再装回兼容版本pip install python-magic-bin0.4.14然后重跑chatchat kb -r即可。向量库建好后日常管理都在 WebUI 里做上传新文档、调整切分参数、按源文件重建一个页面全搞定。里程碑四 · 跑通闭环启动服务打开 WebUIchatchat start -a成功标志终端打印出http://127.0.0.1:8501开头的本地地址浏览器打开就是 Langchain-Chatchat 主界面。想从别的机器用 IP 访问的话把basic_settings.yaml里的DEFAULT_BIND_HOST改成0.0.0.0默认的 127.0.0.1 只允许本机访问。不想逐项装依赖的可以跳过上面全部步骤直接用 Docker Compose 一键拉起参考 Docker 部署指引。第一次实测问一个只有文档能答的问题点左侧对话入口把模式切换成知识库问答选中samples知识库输入用一句话介绍Prompt工程。回答下方会挂着一个可展开的知识库匹配结果出处标得明明白白——哪篇文档、哪一段这就是它和普通闲聊最直观的区别答案是从你的文档里读出来的。如果回答是根据已知信息无法回答该问题说明问题超出了知识库范围。这是设计使然反而是好事它不瞎编。不止问答还能往哪走闭环跑通之后顺手看看它的边界。Agent 工具调用对话页勾选启用Agent再挑几个工具天气查询、网络检索等模型会自己规划调用数据库对话接上数据库让模型用 SQL 作答配置说明见 数据库对话配置多模态接入 qwen-vl-chat 这类视觉模型图片也能问配置项细节、开发部署等更深入的内容可以看项目内的 配置说明 与开发指南。系统跑起来了文档也进库了第一个只有你的文档能答的问题有了出处——接下来换成你自己的文档问你的问题。【免费下载链接】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),仅供参考