Integrasi Teknologi GraphRag Microsoft ke dalam WebUI Terbuka untuk Pengambilan Informasi Lanjutan
Bahasa Inggris | 简体中文Graphrag4OpenWebUI adalah antarmuka API yang dirancang khusus untuk WebUI terbuka, yang bertujuan untuk mengintegrasikan teknologi Microsoft Research's Graphrag (pembuatan Retrieval-Agusted berbasis grafik). Proyek ini menyediakan sistem pengambilan informasi yang kuat yang mendukung beberapa model pencarian, terutama cocok untuk digunakan di antarmuka pengguna web terbuka.
Tujuan utama dari proyek ini adalah untuk menyediakan antarmuka yang nyaman bagi WebUI terbuka untuk memanfaatkan fitur -fitur yang kuat dari Graphrag. Ini mengintegrasikan tiga metode pengambilan utama dan menawarkan opsi pencarian yang komprehensif, memungkinkan pengguna untuk mendapatkan hasil pencarian yang menyeluruh dan tepat.
Pencarian Lokal
Pencarian Global
Pencarian yang Tavily
Pencarian Model Lengkap
Graphrag4OpenWebUI sekarang mendukung penggunaan model bahasa lokal (LLM) dan model penyematan, meningkatkan fleksibilitas dan privasi proyek. Secara khusus, kami mendukung model lokal berikut:
Ollama
API_BASE untuk menunjuk ke titik akhir API OllamaLM Studio
API_BASEModel embedding lokal
GRAPHRAG_EMBEDDING_MODELDukungan untuk model lokal ini memungkinkan GraphRag4OpenWebUI untuk berjalan tanpa mengandalkan API eksternal, meningkatkan privasi data dan mengurangi biaya penggunaan.
Pastikan Anda memiliki Python 3.8 atau lebih tinggi diinstal pada sistem Anda. Kemudian, ikuti langkah -langkah ini untuk menginstal:
Klon Repositori:
git clone https://github.com/your-username/GraphRAG4OpenWebUI.git
cd GraphRAG4OpenWebUIBuat dan aktifkan lingkungan virtual:
python -m venv venv
source venv/bin/activate # On Windows use venvScriptsactivateInstal dependensi:
pip install -r requirements.txtCatatan: Paket GraphRag mungkin perlu diinstal dari sumber tertentu. Jika perintah di atas gagal menginstal GraphRag, silakan merujuk ke instruksi spesifik Microsoft Research atau hubungi Mainter untuk metode instalasi yang benar.
Sebelum menjalankan API, Anda perlu mengatur variabel lingkungan berikut. Anda dapat melakukan ini dengan membuat file .env atau mengekspornya secara langsung di terminal Anda:
# 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 "Pastikan untuk mengganti placeholder dalam perintah di atas dengan kunci dan jalur API Anda yang sebenarnya.
Mulai server:
python main-en.py
Server akan berjalan di http://localhost:8012 .
API Endpoints:
/v1/chat/completions : Posting permintaan untuk melakukan pencarian/v1/models : Dapatkan permintaan untuk mengambil daftar model yang tersedia Integrasi dengan Buka WebUI: Dalam konfigurasi WebUI terbuka, atur titik akhir API ke http://localhost:8012/v1/chat/completions . Ini akan memungkinkan WebUI terbuka untuk menggunakan fungsionalitas pencarian graphrag4openwebui.
Contoh Permintaan Pencarian:
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 : Local Searchgraphrag-global-search:latest : Pencarian Globaltavily-search:latest : Pencarian Tavilyfull-model:latest : Pencarian Komprehensif (Termasuk semua metode pencarian di atas) INPUT_DIR .Permintaan tarik dipersilakan. Untuk perubahan besar, buka masalah terlebih dahulu untuk membahas apa yang ingin Anda ubah.
Lisensi apache-2.0