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-ChatchatLangchain-Chatchat 是一个完全开源、可离线部署的本地知识库问答系统。照着下面的步骤走完你会得到一个能上传自己文档、用文档内容回答问题的私有问答界面——问答过程不出你的网络不用写一行代码。 先说场景公司资料散落在几十个文档里想查一个结论得先搜文件名、再逐页翻内容找到后还要自己总结。你想要的是问文档不是搜文档。Langchain-Chatchat 做的就是这件事把 PDF、Word、Markdown、网页等文件读进来切成文本块、转成向量存进向量库你提问时系统先从向量库里捞出最相关的几段文本连同问题一起交给大模型生成回答。模型推理走本地推理框架或在线 API数据本身留在本地。✅ 动手前自查检查项要求系统Windows / macOS / Linux 均可Python3.8 - 3.11建议为 Chatchat 和模型框架各建一个虚拟环境硬件纯 CPU 4G 内存也能跑配小模型想用 7B 级模型建议 NVIDIA GPU、8G 以上显存两条提醒官方明确要求把 Langchain-Chatchat 和 Xinference 这类模型框架装进不同的虚拟环境conda、venv 均可避免依赖冲突。没有 GPU 也可以0.3.x 版本支持接入在线 API只是离线这一条就不成立了。 阶段一装好 Chatchat 和 Xinference把两个模型拉起来预期产物一条安装成功的pip记录加上一个能看到模型状态的 Web 界面。Chatchat 自己不加载大模型它把问题转发给模型推理框架——一个把本地模型跑起来、并提供兼容 OpenAI 格式接口的小服务。下面以 Xinference 为例它对 CPU / GPU 平台都支持得不错。第一步装 Chatchatpip install langchain-chatchat -U如果确定搭配 Xinference 使用用这条会连带装好对应 Python 依赖pip install langchain-chatchat[xinference] -U第二步在新的虚拟环境里装并启动 Xinferencepip install xinference[all] xinference -H 0.0.0.0第三步浏览器打开http://127.0.0.1:9997在它的 Web 界面下载并启动两类模型LLM负责生成回答Qwen1.5-7B-Chat、GLM-4-9B-Chat 都可以Embedding负责把文本变成向量bge-large-zh-v1.5。两个模型状态都显示 RUNNING这一阶段就完成了。⚙️ 阶段二初始化项目并接上你的模型预期产物一份改好模型信息的默认配置之后全程不用再动它。先用环境变量指定 Chatchat 存放配置和数据的根目录可选不设置则用当前目录# Linux / macOS export CHATCHAT_ROOT/path/to/chatchat_data # Windows set CHATCHAT_ROOTC:\path\to\chatchat_data然后执行初始化chatchat init这条命令会一次性做完三件事创建数据目录、复制一份 samples 示例知识库、生成默认 yaml 配置文件。之后只需要改两处。第一处是model_settings.yaml告诉 Chatchat 调哪个模型配置项文件怎么改DEFAULT_LLM_MODELmodel_settings.yaml改成你启动的 LLM 模型名如qwen1.5-chatDEFAULT_EMBEDDING_MODELmodel_settings.yaml改成你启动的 Embedding 模型名如bge-large-zh-v1.5LLM_MODEL_CONFIGmodel_settings.yaml把llm_model、action_model的键改成你实际用的 LLMMODEL_PLATFORMSmodel_settings.yaml对应模型平台的地址、Key 等信息KB_ROOT_PATH/DB_ROOT_PATHbasic_settings.yaml想换知识库、数据库的存放路径才需要改默认在CHATCHAT_ROOT/data/knowledge_base下 阶段三初始化示例知识库并启动服务预期产物一个能打开、能提问的 Web 界面。先确认 embedding 模型已经在跑再执行chatchat kb -r这一步会把示例知识库里几十个文档做分块和向量化全部完成后控制台会输出一张汇总单知识库名称 samples 知识库类型 faiss 向量模型 bge-large-zh-v1.5 文件总数量 47 入库文件数 42 知识条目数 740 用时 0:02:29.701002如果卡在某个文件上没动静先别等去查 embedding 模型是不是没启动。最后启动服务chatchat start -a浏览器访问http://127.0.0.1:8501看到上图这样的界面就成功了左侧是对话和知识库管理两个主入口。默认只监听本机地址想让局域网内别的设备访问改一下配置文件里的监听地址为0.0.0.0即可。 跑通验证三条标准全过就算跑通了chatchat kb -r输出的入库文件数大于 0http://127.0.0.1:8501能打开 Web 界面在对话页切到知识问答模式选中 samples 知识库输入什么是 Prompt 工程——回答能引用文档里的内容而不只是模型自己编的通用答案。️ 进阶与排错现象Windows 下chatchat kb -r卡在文件处理上不动。原因unstructured依赖的python-magic-bin在新虚拟环境里行为异常可用from unstructured.partition.auto import partition卡住与否来确认。动作pip uninstall python-magic-bin pip install python-magic-bin0.4.14然后重新执行知识库初始化。现象8501 端口只有自己机器能访问。原因Chatchat 默认监听本机地址。动作打开basic_settings.yaml把监听地址改为0.0.0.0配置会自动生效无需重启。现象提问无响应或回答与知识库无关。原因模型推理框架没启动或配置里的模型名和框架里实际加载的不一致。动作先打开模型框架的 Web 界面确认两个模型都在 RUNNING再逐字核对model_settings.yaml里的模型名称。想省掉手动装环境熟悉 Docker 的话可以用 docker-compose 把 Chatchat 和 Xinference 一起拉起来命令和镜像版本以仓库 README 和 Docker 部署说明 为准。后续还能解锁 Agent 工具调用、文件对话、文生图等功能入口就在 Web 界面里。【免费下载链接】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),仅供参考