MicrosoftのGraphRagテクノロジーをオープンWebUIに統合して、高度な情報検索
英語| 简体中文GraphRag4OpenWebuiは、Microsoft ResearchのGraphRag(Graphベースの検索された高級生成)テクノロジーの統合を目指して、Open WebUI専用に設計されたAPIインターフェイスです。このプロジェクトは、複数の検索モデルをサポートする強力な情報検索システムを提供します。これは、特にオープンWebユーザーインターフェイスでの使用に適しています。
このプロジェクトの主な目標は、GraphRagの強力な機能を活用するために、Open WebUIに便利なインターフェイスを提供することです。 3つの主要な検索方法を統合し、包括的な検索オプションを提供し、ユーザーが徹底的かつ正確な検索結果を取得できるようにします。
ローカル検索
グローバル検索
タビリー検索
完全なモデル検索
GraphRag4OpenWebuiは、ローカル言語モデル(LLMS)と埋め込みモデルの使用をサポートし、プロジェクトの柔軟性とプライバシーを高めています。具体的には、次のローカルモデルをサポートしています。
オラマ
API_BASE環境変数を設定して構成できますLMスタジオ
API_BASE環境変数を構成することにより、LM Studioのサービスに接続しますローカル埋め込みモデル
GRAPHRAG_EMBEDDING_MODEL環境変数を設定して、使用する埋め込みモデルを指定しますローカルモデルのこのサポートにより、Graph4OpenWebuiは外部APIに依存せずに実行でき、データプライバシーを強化し、使用コストを削減できます。
システムにPython 3.8以降がインストールされていることを確認してください。次に、次の手順に従ってインストールしてください。
リポジトリをクローンします:
git clone https://github.com/your-username/GraphRAG4OpenWebUI.git
cd GraphRAG4OpenWebUI仮想環境を作成してアクティブ化します。
python -m venv venv
source venv/bin/activate # On Windows use venvScriptsactivate依存関係をインストールします:
pip install -r requirements.txt注:GraphRagパッケージは、特定のソースからインストールする必要がある場合があります。上記のコマンドがGraphRagのインストールに失敗した場合は、Microsoft Researchの特定の指示を参照するか、正しいインストール方法についてメンテナーに連絡してください。
APIを実行する前に、次の環境変数を設定する必要があります。これを行うには、 .envファイルを作成したり、端末に直接エクスポートしたりできます。
# Set the TAVILY API key
export TAVILY_API_KEY= " your_tavily_api_key "
export INPUT_DIR= " /path/to/your/input/directory "
# Set the API key for LLM
export GRAPHRAG_API_KEY= " your_actual_api_key_here "
# Set the API key for embedding (if different from GRAPHRAG_API_KEY)
export GRAPHRAG_API_KEY_EMBEDDING= " your_embedding_api_key_here "
# Set the LLM model
export GRAPHRAG_LLM_MODEL= " gemma2 "
# Set the API base URL
export API_BASE= " http://localhost:11434/v1 "
# Set the embedding API base URL (default is OpenAI's API)
export API_BASE_EMBEDDING= " https://api.openai.com/v1 "
# Set the embedding model (default is "text-embedding-3-small")
export GRAPHRAG_EMBEDDING_MODEL= " text-embedding-3-small "上記のコマンドのプレースホルダーを実際のAPIキーとパスに置き換えるようにしてください。
サーバーを開始します:
python main-en.py
サーバーはhttp://localhost:8012で実行されます。
APIエンドポイント:
/v1/chat/completions :検索を実行するためのリクエストを投稿します/v1/models :利用可能なモデルのリストを取得するためのリクエストを取得するOpen WebUIとの統合:Open WebUI構成で、APIエンドポイントをhttp://localhost:8012/v1/chat/completionsに設定します。これにより、Open WebUIはGraphRag4OpenWebuiの検索機能を使用できます。
検索リクエストの例:
import requests
import json
url = "http://localhost:8012/v1/chat/completions"
headers = { "Content-Type" : "application/json" }
data = {
"model" : "full-model:latest" ,
"messages" : [{ "role" : "user" , "content" : "Your search query" }],
"temperature" : 0.7
}
response = requests . post ( url , headers = headers , data = json . dumps ( data ))
print ( response . json ())graphrag-local-search:latest :ローカル検索graphrag-global-search:latest :グローバル検索tavily-search:latest :Tavily Searchfull-model:latest :包括的な検索(上記のすべての検索方法を含む) INPUT_DIRディレクトリに正しい入力ファイル(Parquetファイルなど)があることを確認してください。プルリクエストは大歓迎です。大きな変更については、最初に問題を開いて、何を変えたいかを議論してください。
Apache-2.0ライセンス