Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

محرك التضمين

محرك التضمين هو أساس قدرة الاسترجاع الدلالي في PRX-Memory. يحوّل ذكريات النصوص إلى متجهات عالية الأبعاد تلتقط المعنى، مما يتيح البحث القائم على التشابه الذي يتجاوز مطابقة الكلمات المفتاحية.

كيف يعمل

عند تخزين ذاكرة مع تفعيل التضمين، يقوم PRX-Memory بما يلي:

  1. يرسل نص الذاكرة إلى مزوّد التضمين المُعيَّن.
  2. يستقبل تمثيلاً متجهياً (عادةً 768--3072 بُعداً).
  3. يخزّن المتجه جنباً إلى جنب مع بيانات الذاكرة الوصفية.
  4. يستخدم المتجه لبحث تشابه جيب التمام أثناء الاسترجاع.
mermaid
graph LR
    TEXT["Memory Text"] --> PROVIDER["Embedding Provider<br/>Jina | OpenAI | Gemini"]
    PROVIDER --> VECTOR["Float Vector<br/>[0.012, -0.034, ...]"]
    VECTOR --> STORE["Vector Storage"]
    QUERY["Recall Query"] --> QPROVIDER["Same Provider"]
    QPROVIDER --> QVECTOR["Query Vector"]
    QVECTOR --> SEARCH["Cosine Similarity"]
    STORE --> SEARCH
    SEARCH --> RESULTS["Ranked Results"]

هندسة المزوّد

تُعرّف حزمة prx-memory-embed سمة مزوّد تنفّذها جميع واجهات التضمين. يتيح هذا التصميم تبديل المزودين دون تغيير كود التطبيق.

المزودون المدعومون:

المزوّدمفتاح البيئةالوصف
متوافق مع OpenAIPRX_EMBED_PROVIDER=openai-compatibleأي واجهة برمجة متوافقة مع OpenAI (OpenAI، Azure، خوادم محلية)
JinaPRX_EMBED_PROVIDER=jinaنماذج التضمين من Jina AI
GeminiPRX_EMBED_PROVIDER=geminiنماذج التضمين من Google Gemini

الإعداد

اضبط المزوّد والبيانات الاعتمادية عبر متغيرات البيئة:

bash
PRX_EMBED_PROVIDER=jina
PRX_EMBED_API_KEY=your_api_key
PRX_EMBED_MODEL=jina-embeddings-v3
PRX_EMBED_BASE_URL=https://api.jina.ai  # optional, for custom endpoints

مفاتيح احتياطية للمزوّد

إذا لم يكن PRX_EMBED_API_KEY مضبوطاً، يعود النظام إلى المفاتيح الخاصة بالمزوّد:

  • Jina: JINA_API_KEY
  • Gemini: GEMINI_API_KEY

متى تُفعّل التضمين

السيناريوهل التضمين مطلوب؟
مجموعة ذاكرة صغيرة (<100 إدخال)اختياري -- قد يكفي البحث المعجمي
مجموعة ذاكرة كبيرة (+1000 إدخال)موصى به -- التشابه المتجهي يحسن الاسترجاع بشكل كبير
استعلامات باللغة الطبيعيةموصى به -- يلتقط المعنى الدلالي
تصفية دقيقة بالوسوم/النطاقغير مطلوب -- البحث المعجمي يتعامل مع هذا
استرجاع متعدد اللغاتموصى به -- النماذج متعددة اللغات تعمل عبر اللغات

خصائص الأداء

  • الكمون: 50--200 مللي ثانية لكل طلب تضمين حسب المزوّد والنموذج.
  • وضع الدفعة: تجميع نصوص متعددة في طلب API واحد لتقليل الرحلات الذهاب والإياب.
  • التخزين المؤقت المحلي: تُخزَّن المتجهات محلياً وتُعاد استخدامها؛ فقط الذكريات الجديدة أو المتغيرة تتطلب طلبات تضمين.
  • معيار 100 ألف: استرجاع p95 أقل من 123 مللي ثانية للاسترجاع المعجمي+الأهمية+الحداثة على 100,000 إدخال (دون طلبات شبكة).

الخطوات التالية

Released under the Apache-2.0 License.