استخدام Milvus في PrivateGPT
برايفتGPT هو مشروع ذكاء اصطناعي جاهز للإنتاج يُمكِّن المستخدمين من طرح أسئلة حول مستنداتهم باستخدام نماذج لغوية كبيرة دون الحاجة للاتصال بالإنترنت مع ضمان الخصوصية بنسبة 100%. يقدم PrivateGPT واجهة برمجة تطبيقات مقسمة إلى كتل عالية المستوى وأخرى منخفضة المستوى. كما يوفر أيضاً عميل واجهة مستخدم Gradio UI وأدوات مفيدة مثل البرامج النصية لتنزيل النماذج المجمّعة والبرامج النصية للاستيعاب. من الناحية النظرية، يغلّف PrivateGPT خط أنابيب RAG ويكشف عن أولياته، بحيث يكون جاهزًا للاستخدام ويوفر تنفيذًا كاملًا لواجهة برمجة التطبيقات وخط أنابيب RAG.
سنوضح لك في هذا البرنامج التعليمي كيفية استخدام Milvus كقاعدة بيانات متجهية خلفية لـ PrivateGPT.
يُشار في هذا البرنامج التعليمي بشكل أساسي إلى دليل التثبيت الرسمي لـ PrivateGPT. إذا وجدت أن هذا البرنامج التعليمي يحتوي على أجزاء قديمة، يمكنك إعطاء الأولوية لاتباع الدليل الرسمي وإنشاء مشكلة لنا.
المتطلبات الأساسية لتشغيل PrivateGPT
1. استنساخ مستودع PrivateGPT
استنسخ المستودع وانتقل إليه:
$ git clone https://github.com/zylon-ai/private-gpt
$ cd private-gpt
2. تثبيت Poetry
قم بتثبيت Poetry لإدارة التبعية: اتبع التعليمات الموجودة على موقع Poetry الرسمي لتثبيته.
3. 3. (اختياري) تثبيت Make
لتشغيل العديد من البرامج النصية المختلفة، تحتاج إلى تثبيت Make.
macOS (باستخدام Homebrew):
$ brew install make
ويندوز (باستخدام Chocolatey):
$ choco install make
تثبيت الوحدات المتاحة
يسمح PrivateGPT بتخصيص الإعداد لبعض الوحدات، مثل LLM، والتضمينات، ومخازن المتجهات، وواجهة المستخدم.
في هذا البرنامج التعليمي، سنستخدم الوحدات التالية:
- LLM: أولاما
- التضمينات: أولاما
- مخازن المتجهات: ميلفوس
- واجهة المستخدم: غراديو
قم بتشغيل الأمر التالي لاستخدام الشعر لتثبيت تبعيات الوحدة النمطية المطلوبة:
$ poetry install --extras "llms-ollama embeddings-ollama vector-stores-milvus ui"
ابدأ تشغيل خدمة أولاما
انتقل إلى ollama.ai واتبع التعليمات لتثبيت Ollama على جهازك.
بعد التثبيت، تأكد من إغلاق تطبيق Ollama لسطح المكتب.
الآن، ابدأ تشغيل خدمة أولاما (سيبدأ تشغيل خادم استدلال محلي يخدم كلاً من LLM و Embeddings):
$ ollama serve
قم بتثبيت النماذج التي سيتم استخدامها، يتم تكوين الافتراضي settings-ollama.yaml
للمستخدم llama3.1
8b LLM (حوالي 4 جيجابايت) و nomic-embed-text
Embeddings (حوالي 275 ميغابايت)
بشكل افتراضي، ستقوم PrivateGPT بسحب النماذج تلقائيًا حسب الحاجة. يمكن تغيير هذا السلوك بتعديل الخاصية ollama.autopull_models
.
على أي حال، إذا أردت سحب النماذج يدويًا، قم بتشغيل الأوامر التالية:
$ ollama pull llama3.1
$ ollama pull nomic-embed-text
يمكنك اختياريًا التغيير إلى نماذجك المفضلة في الملف settings-ollama.yaml
وسحبها يدويًا.
تغيير إعدادات ميلفوس
في الملف settings-ollama.yaml
، اضبط متجه المتجر على ميلفوس:
vectorstore:
database: milvus
يمكنك أيضاً إضافة بعض تكوينات ملف ميلفوس لتحديد الإعدادات الخاصة بك مثل هذا:
milvus:
uri: http://localhost:19530
collection_name: my_collection
خيارات التكوين المتاحة هي:
خيار الحقل | الوصف |
---|---|
يوري | يتم تعيين الإعداد الافتراضي على "local_data/private_gpt/milvus/milvus_local.db" كملف محلي؛ يمكنك أيضًا إعداد خادم Milvus أكثر أداءً على docker أو k8s على سبيل المثال http://localhost:19530، كـ uri الخاص بك؛ لاستخدام Zilliz Cloud، اضبط uri والرمز المميز على نقطة النهاية العامة ومفتاح API في Zilliz Cloud. |
الرمز المميز | إقران مع خادم Milvus على docker أو k8s أو مفتاح واجهة برمجة التطبيقات في Zilliz Cloud. |
اسم_المجموعة | اسم المجموعة، مضبوط على "milvus_db" الافتراضي. |
الكتابة فوق | الكتابة فوق البيانات الموجودة في المجموعة إذا كانت موجودة، مضبوطة على الوضع الافتراضي True. |
بدء تشغيل PrivateGPT
بمجرد الانتهاء من جميع الإعدادات، يمكنك تشغيل PrivateGPT باستخدام واجهة مستخدم Gradio.
PGPT_PROFILES=ollama make run
ستكون واجهة المستخدم متاحة على http://0.0.0.0:8001
.
يمكنك التلاعب بواجهة المستخدم وطرح الأسئلة حول مستنداتك.
لمزيد من التفاصيل، يُرجى الرجوع إلى الوثائق الرسمية لـ PrivateGPT.