Home
Login

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

Apache-2.0TypeScript 35.3kchatchat-space Last Updated: 2025-03-25

Langchain-Chatchat 项目详细介绍

项目概述

Langchain-Chatchat(原名 Langchain-ChatGLM)是一个基于大语言模型与Langchain等应用框架实现的开源、可离线部署的RAG(检索增强生成)与Agent应用项目。该项目致力于建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。

核心特性

1. 多模型支持

项目支持市面上主流的开源大语言模型:

  • GLM系列: GLM-4-Chat, ChatGLM等
  • Qwen系列: Qwen2-Instruct, Qwen-VL-Chat等
  • Llama系列: Llama3等
  • 在线API: 支持OpenAI GPT API调用

2. 多种部署框架

支持多种模型部署框架,提供灵活的接入方式:

框架 Xinference LocalAI Ollama FastChat
OpenAI API接口对齐
加速推理引擎 GPTQ, GGML, vLLM, TensorRT, mlx GPTQ, GGML, vLLM, TensorRT GGUF, GGML vLLM
接入模型类型 LLM, Embedding, Rerank, Text-to-Image, Vision, Audio LLM, Embedding, Rerank, Text-to-Image, Vision, Audio LLM, Text-to-Image, Vision LLM, Vision

3. 丰富的对话功能

0.3.x版本提供多种对话模式:

功能 0.2.x 0.3.x
LLM对话
知识库对话
搜索引擎对话
文件对话 ✅仅向量检索 ✅统一为File RAG功能,支持BM25+KNN等多种检索方式
数据库对话
多模态图片对话 ✅ 推荐使用 qwen-vl-chat
ARXIV文献对话
Wolfram对话
文生图
Agent ❌不稳定 ✅针对ChatGLM3和Qwen进行优化

技术架构

RAG实现原理

项目的核心技术基于RAG(检索增强生成)架构:

文档加载 → 文本读取 → 文本分割 → 文本向量化 → 问句向量化 → 
相似度匹配(Top-K) → 上下文构建 → LLM生成回答

Agent功能

0.3.x版本的核心功能由Agent实现,提供三种操作模式:

操作方式 实现功能 适用场景
启用Agent + 多工具 LLM自动工具调用 ChatGLM3/Qwen等具备Agent能力的模型
启用Agent + 单工具 LLM仅解析工具参数 Agent能力一般的模型,手动选择功能
不启用Agent + 单工具 手动参数填入 不具备Agent能力的模型

安装部署

1. Python库安装


pip install langchain-chatchat -U

pip install "langchain-chatchat[xinference]" -U

2. 环境要求

  • Python版本: 3.8-3.11
  • 操作系统: Windows, macOS, Linux
  • 硬件支持: CPU, GPU, NPU, MPS

3. 配置步骤

设置根目录(可选)

# Linux/macOS
export CHATCHAT_ROOT=/path/to/chatchat_data

# Windows
set CHATCHAT_ROOT=/path/to/chatchat_data

初始化项目

chatchat init

配置文件修改

主要配置文件包括:

  • model_settings.yaml: 模型配置
  • basic_settings.yaml: 基础路径配置
  • kb_settings.yaml: 知识库配置

知识库初始化

chatchat kb -r

启动服务

chatchat start -a

4. Docker部署


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

使用场景

1. 企业知识库问答

  • 文档管理与检索
  • 内部知识分享
  • 客服自动化

2. 学术研究

  • 文献检索与分析
  • 学术论文对话
  • 研究资料整理

3. 个人知识管理

  • 个人文档整理
  • 学习笔记检索
  • 资料归档管理

优势特点

  1. 完全开源: 遵循Apache-2.0协议,代码完全开放
  2. 离线部署: 支持完全离线运行,保护数据隐私
  3. 中文友好: 针对中文场景优化,支持中文模型
  4. 框架灵活: 支持多种模型部署框架
  5. 功能丰富: 提供RAG、Agent、多模态等多种功能
  6. 易于部署: 提供pip安装和Docker部署方式

技术栈

  • 核心框架: Langchain
  • Web框架: FastAPI, Streamlit
  • 向量数据库: FAISS等
  • 模型推理: Xinference, Ollama, LocalAI, FastChat
  • API接入: One API支持多种在线API

该项目为需要构建本地知识库问答系统的用户提供了完整的解决方案,特别适合对数据隐私有严格要求的企业和个人用户。