langchain-chatchat / README_ja.md
Zulelee's picture
Upload 16 files
8d50bff verified
|
raw
history blame
8.68 kB

🌍 中文文档 🌍 READ THIS IN ENGLISH

📃 LangChain-Chatchat (旧名 Langchain-ChatGLM):

LLM アプリケーションは、Langchain とオープンソースまたはリモートの LLM API に基づいて、知識と検索エンジンベースの QA を実装することを目的としています。


目次

イントロ

🤖️ 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 イメージがサポートされ、v13 では v0.2.9 にアップデートされました。

🐳 Docker イメージ

ペインポイントへの対応

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

クイックスタート

環境セットアップ

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

$ python --version
Python 3.10.12

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


# リポジトリをクローン
$ 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 を参照してください。


お問い合わせ

Telegram

Telegram

WeChat グループ

二维码

WeChat 公式アカウント

图片