دمج تقنية GraphRag من Microsoft في Webui مفتوحة لاسترجاع المعلومات المتقدمة
الإنجليزية | 简体中文GraphRag4OpenWebui هي واجهة API مصممة خصيصًا لـ WebUI المفتوحة ، تهدف إلى دمج تقنية GraphRag (الجيل المسبق للاسترجاع المستند إلى الرسم البياني). يوفر هذا المشروع نظامًا قويًا لاسترجاع المعلومات يدعم نماذج بحث متعددة ، خاصةً الاستخدام في واجهات مستخدم الويب المفتوحة.
الهدف الرئيسي من هذا المشروع هو توفير واجهة مريحة لـ Open Webui للاستفادة من الميزات القوية لـ GraphRag. يدمج ثلاث طرق استرجاع رئيسية ويوفر خيار بحث شامل ، مما يسمح للمستخدمين بالحصول على نتائج بحث شاملة ودقيقة.
البحث المحلي
البحث العالمي
بحث تافلي
البحث النموذج الكامل
يدعم GraphRag4OpenWebui الآن استخدام نماذج اللغة المحلية (LLMS) وتضمين نماذج ، مما يزيد من مرونة المشروع وخصوصته. على وجه التحديد ، نحن ندعم النماذج المحلية التالية:
أولاما
API_BASE للإشارة إلى نقطة نهاية ALMA's API الخاصة بـ Ollamaاستوديو LM
API_BASEنماذج التضمين المحلية
GRAPHRAG_EMBEDDING_MODELيتيح هذا الدعم للنماذج المحلية أن يعمل GraphRag4OpenWebui دون الاعتماد على واجهات برمجة التطبيقات الخارجية ، وتعزيز خصوصية البيانات وتقليل تكاليف الاستخدام.
تأكد من أن لديك 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: في تكوين 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 : Global searchtavily-search:latest : Tavily Searchfull-model:latest : البحث الشامل (يتضمن جميع طرق البحث أعلاه) INPUT_DIR .طلبات السحب موضع ترحيب. للتغييرات الرئيسية ، يرجى فتح مشكلة أولاً لمناقشة ما تريد تغييره.
ترخيص Apache-2.0