واجهات التخزين
يدعم PRX-Memory واجهات تخزين متعددة للاحتفاظ بالذكريات ومتجهات التضمين الخاصة بها. توفر حزمة prx-memory-storage واجهة موحدة تنفّذها جميع الواجهات.
الواجهات المتاحة
| الواجهة | قيمة الإعداد | دعم المتجهات | الاستمرارية | الأنسب لـ |
|---|---|---|---|---|
| JSON | json | مدمجة في الإدخالات | قائمة على الملفات | التطوير، مجموعات البيانات الصغيرة |
| SQLite | sqlite | أعمدة متجهات مدمجة | قائمة على الملفات | الإنتاج، مجموعات البيانات المتوسطة |
| LanceDB | lancedb | فهرس متجهات أصلي | قائمة على الدليل | مجموعات البيانات الكبيرة، البحث ANN السريع |
الواجهة الافتراضية
الواجهة الافتراضية هي JSON (PRX_MEMORY_BACKEND=json)، لا تحتاج إلى إعداد إضافي. للنشر الإنتاجي، يُوصى بـ SQLite.
واجهة JSON
أبسط واجهة تخزّن جميع الذكريات في ملف JSON واحد. مثالية للتطوير والاختبار ومجموعات الذاكرة الصغيرة (أقل من 10,000 إدخال).
PRX_MEMORY_BACKEND=json
PRX_MEMORY_DB=./data/memory-db.jsonالمزايا:
- إعداد صفري -- حدد مساراً للملف فقط.
- قابلة للقراءة البشرية -- فحصها وتعديلها بأي محرر نصي.
- قابلة للنقل -- انسخ الملف لنقل قاعدة بيانات الذاكرة كاملةً.
القيود:
- يُحمَّل الملف بأكمله في الذاكرة عند بدء التشغيل.
- عمليات الكتابة تعيد كتابة الملف كاملاً.
- لا بحث متجهي مفهرس -- فحص شامل بالقوة الغاشمة للتشابه.
واجهة SQLite
يوفر SQLite معاملات ACID واستعلامات مفهرسة ودعماً مدمجاً لأعمدة المتجهات للبحث الفعّال عن التشابه.
PRX_MEMORY_BACKEND=sqlite
PRX_MEMORY_DB=./data/memory.dbراجع تخزين SQLite للإعداد التفصيلي.
واجهة LanceDB (اختياري)
يوفر LanceDB بحثاً أصلياً تقريبياً للجار الأقرب (ANN) بتخزين عمودي. فعّله بعلامة ميزة lancedb-backend:
cargo build --release -p prx-memory-mcp --bin prx-memoryd --features lancedb-backendPRX_MEMORY_BACKEND=lancedb
PRX_MEMORY_DB=./data/lancedbعلامة الميزة مطلوبة
دعم LanceDB غير مدرج في البناء الافتراضي. يجب تفعيل علامة الميزة lancedb-backend وقت الترجمة.
اختيار واجهة
| السيناريو | الواجهة الموصى بها |
|---|---|
| التطوير المحلي | JSON |
| الإنتاج مع أقل من 100 ألف إدخال | SQLite |
| الإنتاج مع أكثر من 100 ألف إدخال | LanceDB |
| الحاجة لتخزين قابل للقراءة البشرية | JSON |
| الحاجة لمعاملات ACID | SQLite |
| الحاجة لبحث متجهي ANN سريع | LanceDB |
عمليات التخزين
يوفر PRX-Memory أدوات لصيانة التخزين:
| الأداة | الوصف |
|---|---|
memory_export | تصدير جميع الذكريات إلى تنسيق قابل للنقل |
memory_import | استيراد الذكريات من تصدير |
memory_migrate | الترحيل بين واجهات التخزين |
memory_compact | تحسين التخزين واسترداد المساحة |
memory_reembed | إعادة تضمين جميع الذكريات بنموذج جديد |
الخطوات التالية
- تخزين SQLite -- إعداد SQLite وضبطه
- البحث المتجهي -- كيف يعمل البحث بالتشابه المتجهي
- مرجع الإعداد -- جميع متغيرات البيئة