Memista هي خدمة بحث عالية الأداء عالية الأداء مكتوبة في الصدأ توفر واجهة برمجة تطبيقات HTTP بسيطة لتخزين واسترداد قطع النص مع تضمينات المتجهات المرتبطة بها. فهو يجمع بين SQLITE لتخزين البيانات الوصفية مع USEARCH للبحث في تشابه المتجه الفعال.
أدخل أجزاء النص مع تضميناتها في قاعدة بيانات محددة.
ابحث عن أجزاء مماثلة باستخدام التضمينات المتجهات.
إسقاط قاعدة بيانات محددة وفهرس المتجه المرتبط بها.
يمكن تكوين الخدمة باستخدام متغيرات البيئة:
DATABASE_PATH : مسار إلى ملف قاعدة بيانات SQLite (افتراضي: "memista.db")SERVER_HOST : عنوان المضيف لربط (افتراضي: "127.0.0.1")SERVER_PORT : منفذ للاستماع إليه (افتراضي: 8083)LOG_LEVEL : مستوى التسجيل (الافتراضي: "معلومات") .env مع التكوين الخاص بك (اختياري)cargo runسيبدأ الخادم وستتوفر وثائق API على:
curl -X POST http://localhost:8083/v1/insert
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"chunks": [{
"embedding": [0.1, 0.2],
"text": "Sample text",
"metadata": "{"source": "document1"}"
}]
} 'curl -X POST http://localhost:8083/v1/search
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"embeddings": [[0.1, 0.2]],
"num_results": 5
} ' يستخدم المشروع العديد من التبعيات الرئيسية:
للحصول على قائمة كاملة من التبعيات ، راجع ملف Cargo.toml.
تم ترخيص هذا المشروع بموجب ترخيص GNU العام الإصدار 3.0 (GPL -3.0) - انظر أدناه للحصول على ملخص:
GNU General Public License v3.0 (GPL-3.0)
أذونات:
شروط:
القيود:
للحصول على نص الترخيص الكامل ، راجع الترخيص أو زيارة https://www.gnu.org/licenses/gpl-3.0.en.html