Skip to content

Latest commit

 

History

History
192 lines (127 loc) · 10.2 KB

README_ja.md

File metadata and controls

192 lines (127 loc) · 10.2 KB

🌍 中文文档 🌍 READ THIS IN ENGLISH

📃 LangChain-Chatchat (旧名 Langchain-ChatGLM)

ChatGLM などの大規模な言語モデルや Langchain などのアプリケーション フレームワークに基づいた、オープン ソースのオフライン展開可能な検索拡張生成 (RAG) 大規模モデル ナレッジ ベース プロジェクトです。

⚠️0.2.100.2.x シリーズの最終バージョンとなり、0.2.x シリーズはアップデートと技術サポートを終了し、より適用性の高い Langchain-Chachat 0.3.x の開発に努めます。 。 0.2.10 のその後のバグ修正は、バージョン更新なしで master ブランチに直接プッシュされます。


目次

イントロ

🤖️ langchain のアイデアを用いて実装された、ローカルナレッジベースに基づく Q&A アプリケーション。 目標は、中国のシナリオとオープンソースモデルに親和性があり、オフラインとオンラインの両方で実行可能な KBQA(ナレッジベースの Q&A)ソリューションを構築することです。

💡 document.aiChatGLM-6B Pull Request に触発され、 プロセス全体を通してオープンソースモデルまたはリモート LLM api を使用して実装することができるローカルナレッジベースの質問応答アプリケーションを構築します。 このプロジェクトの最新バージョンでは、FastChat を使用して、Vicuna、Alpaca、LLaMA、Koala、RWKV、その他多くのモデルにアクセスしています。 このプロジェクトは langchain に依存し、FastAPI に基づいて提供されるAPIを通してサービスを呼び出したり、 Streamlit に基づいて WebUI を使ったりすることをサポートしています。

✅ オープンソースの LLM と Embedding モデルに依存して、このプロジェクトはフルプロセスの **オフラインプライベートデプロイメント ** を実現することができます。 同時に、本プロジェクトは OpenAI GPT API や Zhipu API の呼び出しにも対応しており、今後も様々な機種やリモート API へのアクセスを拡大していきます。

⛓️ このプロジェクトの実施原則を下のグラフに示します。主なプロセスは以下の通りです: ファイルの読み込み -> テキストの読み込み -> テキストのセグメンテーション -> テキストのベクトル化 -> 質問のベクトル化 -> 質問ベクトルと最も似ている top-k をテキストベクトルでマッチング -> マッチしたテキストをコンテキストと質問として prompt に追加 -> 回答を生成するために LLM に送信。

📺video introduction

实现原理图

文書プロセスの側面からの主なプロセス分析:

实现原理图2

🚩 トレーニングやファインチューニングはプロジェクトには含まれないが、これらを行うことで必ずパフォーマンスを向上させることができます。

🌐 AutoDL イメージがサポートされ、0.2.10 では v0.2.10 にアップデートされました。

🐳 Docker イメージ

ペインポイントへの対応

このプロジェクトは、完全にローカライズされた推論によってナレッジベースを強化するソリューションであり、特にデータセキュリティと企業向けのプライベートな展開の問題に取り組んでいます。 このオープンソースソリューションは Apache ライセンスに基づき、無償で商用利用できます。 私たちは、市場で入手可能な主流のローカル大予言モデルや Embedding モデル、オープンソースのローカルベクターデータベースをサポートしています。 対応機種とデータベースの詳細については、Wiki をご参照ください。

クイックスタート

環境セットアップ

まず、マシンにPython 3.10がインストールされていることを確認してください。

$ python --version
Python 3.11.7

次に、仮想環境を作成し、プロジェクトの依存関係を仮想環境内にインストールする。

# リポジトリをクローン
$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git

# ディレクトリに移動
$ cd Langchain-Chatchat

# すべての依存関係をインストール
$ pip install -r requirements.txt
$ pip install -r requirements_api.txt
$ pip install -r requirements_webui.txt

# デフォルトの依存関係には、基本的な実行環境(FAISS ベクターライブラリ)が含まれます。milvus/pg_vector などのベクターライブラリを使用する場合は、requirements.txt 内の対応する依存関係のコメントを解除してからインストールしてください。

LangChain-Chachat 0.2.x シリーズは Langchain 0.0.x シリーズ用です。Langchain 0.1.x シリーズをお使いの場合は、ダウングレードする必要があります。

モデルをダウンロード

このプロジェクトをローカルまたはオフライン環境で実行する必要がある場合は、まずプロジェクトに必要なモデルをダウンロードする必要があります。 通常、オープンソースの LLM と Embedding モデルは Hugging Face からダウンロードできる。

このプロジェクトで使用されているデフォルトの LLM モデルである THUDM/chatglm2-6bと、Embedding モデル moka-ai/m3e-base を例にとると、次のようになります:

モデルをダウンロードするには、まず Git LFS をインストールし、次のように実行する必要があります:

$ git lfs install
$ git clone https://huggingface.co/THUDM/chatglm2-6b
$ git clone https://huggingface.co/moka-ai/m3e-base

ナレッジベースと設定ファイルの初期化

以下の手順に従って、ナレッジベースと設定ファイルを初期化してください:

$ python copy_config_example.py
$ python init_database.py --recreate-vs

ワンクリック起動

プロジェクトを開始するには、次のコマンドを実行します:

$ python startup.py -a

起動インターフェースの例

  1. FastAPI docs インターフェース

  1. webui ページ
  • Web UI ダイアログページ:

img

  • Web UI ナレッジベースマネジメントページ:

上記の手順はクイックスタートのために提供されています。より多くの機能が必要な場合や、起動方法をカスタマイズしたい場合は、Wiki を参照してください。


プロジェクトのマイルストーン

  • 2023 年 4 月: Langchain-ChatGLM 0.1.0 がリリースされ、ChatGLM-6B モデルに基づくローカル ナレッジ ベースの質問と回答がサポートされました。

  • 2023 年 8 月: Langchain-ChatGLMLangchain-Chatchat に名前変更され、モデル読み込みソリューションとして fastchat を使用し、より多くのモデルとデータベースをサポートする 0.2.0 がリリースされました。

  • 2023 年 10 月: Langchain-Chachat 0.2.5 リリース、エージェント コンテンツ、オープンソース プロジェクトをFounder Park & Zhipu AI & Zillizで開始 開催したハッカソンでは3位に入賞しました。

  • 2023 年 12 月: Langchain-Chachatオープンソース プロジェクトは 20,000 つ以上のスターを獲得しました。

  • 2024 年 1 月: LangChain 0.1.x がリリースされ、Langchain-Chachat 0.2.x が安定版 0.2.10 をリリースしました。 今後はアップデートと技術サポートを停止し、より適用性の高いLangchain-Chachat 0.3.xの開発に努める予定です。

  • 🔥 これからのChatchatストーリーを一緒に楽しみにしましょう···


お問い合わせ

Telegram

Telegram

WeChat グループ

二维码

WeChat 公式アカウント

图片