Langchain-Chatchat

chatchat-space/Langchain-Chatchat

Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-Ch

38k
Stars
6.2k
Forks
23
Open issues
291
Watchers
Python Apache-2.0Last pushed Nov 10, 2025

Langchain-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

Categories

Tags

Similar tools

Install

pip install Langchain-Chatchat

README

chatchat-space%2FLangchain-Chatchat | Trendshift

🌍 READ THIS IN ENGLISH

📃 LangChain-Chatchat (原 Langchain-ChatGLM)

基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的 RAG 与 Agent 应用项目。


目录

  • 概述
  • 功能介绍
    • 0.3.x 功能一览
    • 已支持的模型推理框架与模型
  • 快速上手
    • pip 安装部署
    • 源码安装部署/开发部署
    • Docker 部署
  • 项目里程碑
  • 联系我们

概述

🤖️ 一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。

💡 受 GanymedeNil 的项目 document.aiAlexZhangji 创建的 ChatGLM-6B Pull Request 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中可使用 XinferenceOllama 等框架接入 GLM-4-ChatQwen2-InstructLlama3 等模型,依托于 langchain 框架支持通过基于 FastAPI 提供的 API 调用服务,或使用基于 Streamlit 的 WebUI 进行操作。

✅ 本项目支持市面上主流的开源 LLM、 Embedding 模型与向量数据库,可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。

⛓️ 本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。

📺 原理介绍视频

从文档处理角度来看,实现流程如下:

🚩 本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。

🌐 AutoDL 镜像0.3.0 版本所使用代码已更新至本项目 v0.3.0 版本。

🐳 Docker 镜像将会在近期更新。

🧑‍💻 如果你想对本项目做出贡献,欢迎移步开发指南 获取更多开发部署相关信息。

功能介绍

0.3.x 版本功能一览

功能0.2.x0.3.x
模型接入本地:fastchat
在线:XXXModelWorker
本地:model_provider,支持大部分主流模型加载框架
在线:oneapi
所有模型接入均兼容openai sdk
Agent❌不稳定✅针对ChatGLM3和Qwen进行优化,Agent能力显著提升
LLM对话
知识库对话
搜索引擎对话
文件对话✅仅向量检索✅统一为File RAG功能,支持BM25+KNN等多种检索方式
数据库对话
多模态图片对话✅ 推荐使用 qwen-vl-chat
ARXIV文献对话
Wolfram对话
文生图
本地知识库管理
WEBUI