chatchat-space/Langchain-ChatchatPlease refer to the latest official releases for information GitHub Homepage
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. 個人の知識管理
- 個人のドキュメント整理
- 学習ノート検索
- 資料アーカイブ管理
優れた特徴
- 完全オープンソース: Apache-2.0ライセンスに準拠し、コードは完全に公開されています。
- オフラインデプロイ: 完全なオフライン実行をサポートし、データのプライバシーを保護します。
- 中国語に優しい: 中国語のシーン向けに最適化され、中国語モデルをサポートします。
- 柔軟なフレームワーク: 多様なモデルデプロイメントフレームワークをサポートします。
- 豊富な機能: RAG、Agent、マルチモーダルなどの多様な機能を提供します。
- 容易なデプロイ: pipインストールとDockerデプロイ方式を提供します。
技術スタック
- コアフレームワーク: Langchain
- Webフレームワーク: FastAPI, Streamlit
- ベクトルデータベース: FAISSなど
- モデル推論: Xinference, Ollama, LocalAI, FastChat
- API接続: One APIは多様なオンラインAPIをサポートします。
このプロジェクトは、ローカルナレッジベースの質問応答システムを構築する必要があるユーザーに完全なソリューションを提供し、特にデータのプライバシーに厳しい要件を持つ企業や個人ユーザーに適しています。