Integrieren
Englisch | 简体中文GraphRag4openwebui ist eine API-Schnittstelle, die speziell für Open Webui entwickelt wurde, mit der die GraphRAG-Technologie (Graph-basierte Abrufabrechnung) in die Integration von Microsoft Research integriert wird. Dieses Projekt bietet ein leistungsstarkes System zur Abrufen von Informationen, das mehrere Suchmodelle unterstützt, insbesondere für die Verwendung in offenen Webbenutzeroberflächen.
Das Hauptziel dieses Projekts ist es, eine bequeme Schnittstelle für offene Webui bereitzustellen, um die leistungsstarken Funktionen von GraphRAG zu nutzen. Es integriert drei Hauptabrufmethoden und bietet eine umfassende Suchoption, mit der Benutzer gründliche und genaue Suchergebnisse erzielen können.
Lokale Suche
Globale Suche
Tavy suchen
Vollständige Modellsuche
GraphRag4openwebui unterstützt nun die Verwendung von Lokalsprachmodellen (LLMs) und die Einbettungsmodelle, wodurch die Flexibilität und Privatsphäre des Projekts erhöht wird. Insbesondere unterstützen wir die folgenden lokalen Modelle:
Ollama
API_BASE -Umgebung festgelegt wird, um auf den API -Endpunkt von Ollama hinzuweisenLM Studio
API_BASE -Umgebung konfigurierenLokale Einbettungsmodelle
GRAPHRAG_EMBEDDING_MODEL einstellenDiese Unterstützung für lokale Modelle ermöglicht es GraphRag4openwebui, ohne sich auf externe APIs zu verlassen, die Datenschutz zu verbessern und die Nutzungskosten zu senken.
Stellen Sie sicher, dass Sie Python 3.8 oder höher auf Ihrem System installiert haben. Befolgen Sie dann folgende Schritte, um zu installieren:
Klonen Sie das Repository:
git clone https://github.com/your-username/GraphRAG4OpenWebUI.git
cd GraphRAG4OpenWebUIErstellen und aktivieren Sie eine virtuelle Umgebung:
python -m venv venv
source venv/bin/activate # On Windows use venvScriptsactivateAbhängigkeiten installieren:
pip install -r requirements.txtHinweis: Das GraphRAG -Paket muss möglicherweise aus einer bestimmten Quelle installiert werden. Wenn der obige Befehl GraphRAG nicht installiert, finden Sie unter den spezifischen Anweisungen von Microsoft Research oder wenden Sie sich an den Wartemetrieben, um die richtige Installationsmethode zu erhalten.
Vor dem Ausführen der API müssen Sie die folgenden Umgebungsvariablen festlegen. Sie können dies tun, indem Sie eine .env -Datei erstellen oder sie direkt in Ihrem Terminal exportieren:
# 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 "Stellen Sie sicher, dass Sie die Platzhalter in den oben genannten Befehlen durch Ihre tatsächlichen API -Schlüssel und -pfade ersetzen.
Starten Sie den Server:
python main-en.py
Der Server wird unter http://localhost:8012 ausgeführt.
API -Endpunkte:
/v1/chat/completions : Anfrage zur Durchführung von Suchvorgängen veröffentlichen/v1/models : Nehmen Sie die Anfrage zum Abrufen der Liste der verfügbaren Modelle ab Integration mit Open Webui: Setzen Sie in der offenen Webui -Konfiguration den API -Endpunkt auf http://localhost:8012/v1/chat/completions . Auf diese Weise kann Open Webui die Suchfunktionalität von GraphRag4openwebui verwenden.
Beispiel -Suchanforderung:
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 : Lokale Suchegraphrag-global-search:latest : Globale Suchetavily-search:latest : Tavily Suchefull-model:latest : Umfassende Suche (enthält alle oben genannten Suchmethoden) INPUT_DIR verfügen.Pull -Anfragen sind willkommen. Für wichtige Änderungen öffnen Sie zuerst ein Problem, um zu besprechen, was Sie ändern möchten.
Apache-2.0-Lizenz