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

تخزين SQLite

توفر واجهة SQLite محرك تخزين قوياً قائماً على الملفات مع معاملات ACID واستعلامات مفهرسة ودعم مدمج لأعمدة المتجهات. إنها الواجهة الموصى بها للنشر الإنتاجي مع ما يصل إلى 100,000 ذاكرة.

الإعداد

bash
PRX_MEMORY_BACKEND=sqlite
PRX_MEMORY_DB=./data/memory.db

يُنشأ ملف قاعدة البيانات تلقائياً عند أول تشغيل. تُهيئ PRX-Memory جميع الجداول والفهارس وأعمدة المتجهات.

نظرة عامة على المخطط

تخزّن واجهة SQLite الذكريات في مخطط منظم:

العمودالنوعالوصف
idTEXTمعرف ذاكرة فريد
textTEXTمحتوى الذاكرة
scopeTEXTنطاق الذاكرة (عالمي، مشروع، إلخ)
tagsTEXTمصفوفة JSON من الوسوم
importanceREALدرجة الأهمية (0.0--1.0)
created_atTEXTطابع زمني ISO 8601
updated_atTEXTطابع زمني ISO 8601
embeddingBLOBتضمين المتجه (إن كان مفعّلاً)
metadataTEXTبيانات JSON وصفية إضافية

تخزين المتجهات

عند تفعيل التضمين، تُخزَّن بيانات المتجه كأعمدة BLOB في نفس الجدول كإدخال الذاكرة. هذا التواجد المشترك يبسّط الاستعلامات ويتجنب تكلفة JOIN.

يستخدم بحث التشابه المتجهي حساب تشابه جيب التمام بالقوة الغاشمة على المتجهات المخزّنة. لمجموعات البيانات أقل من 100,000 إدخال، يوفر هذا أوقات استعلام أقل من ثانية (p95 أقل من 123 مللي ثانية بناءً على المعايير).

الصيانة

الضغط

بمرور الوقت، يمكن أن تترك عمليات الحذف والتحديث مساحةً مجزأة. استخدم memory_compact لاسترداد المساحة:

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "memory_compact",
    "arguments": {}
  }
}

النسخ الاحتياطي

يمكن نسخ ملف قاعدة بيانات SQLite احتياطياً بمجرد نسخه أثناء إيقاف الخادم:

bash
cp ./data/memory.db ./data/memory.db.backup

WARNING

لا تنسخ ملف قاعدة البيانات أثناء تشغيل الخادم. يستخدم SQLite تسجيل الكتابة المسبقة (WAL) وقد ينتج عن نسخ الملف أثناء الكتابة نسخة احتياطية تالفة. أوقف الخادم أولاً أو استخدم أداة memory_export للتصدير الآمن.

الترحيل من JSON

للترحيل من واجهة JSON إلى SQLite:

  1. صدّر ذكرياتك باستخدام memory_export.
  2. غيّر إعداد الواجهة إلى SQLite.
  3. استورد البيانات المصدّرة باستخدام memory_import.

أو استخدم أداة memory_migrate للترحيل المباشر.

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

Released under the Apache-2.0 License.