Login

ChatGLM、Qwen、Llamaなどの大規模言語モデルとLangchainフレームワークをベースに実装された、オープンソースでオフラインデプロイ可能なRAGおよびAgentアプリケーションプロジェクト

Apache-2.0TypeScript 35.7kchatchat-spaceLangchain-Chatchat 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によって実現され、3つの操作モードを提供します。

操作方式 実現機能 適用シーン
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をサポートします。

このプロジェクトは、ローカルナレッジベースの質問応答システムを構築する必要があるユーザーに完全なソリューションを提供し、特にデータのプライバシーに厳しい要件を持つ企業や個人ユーザーに適しています。

Star History Chart