
QDrant هو محرك بحث وقاعدة بيانات متخصصة في العثور على أوجه التشابه بين المتجهات. يحتوي على واجهة برمجة تطبيقات تتيح لك تخزين المتجهات والبحث عنها وإدارتها مع معلومات إضافية. تم تصميم QDrant لدعم قدرات التصفية المتقدمة ، مما يجعلها مفيدة للمهام مثل مطابقة الشبكة العصبية والبحث في وجه وتطبيقات أخرى.
تم تصميم QDrant باستخدام لغة برمجة الصدأ ، والتي تضمن أداء سريع وموثوق حتى عند التعامل مع كمية كبيرة من البيانات. يمكنك استخدام QDrant لتحويل التضمينات أو تشفير الشبكة العصبية إلى تطبيقات قوية للمهام مثل المطابقة والبحث والتوصية والمزيد. والجدير بالذكر أن قواعد بيانات المتجهات (QDrant على وجه الخصوص) قد شهدت زيادة في شعبية استخدامها كمتجر متجه مع LLMs الحديثة. شاهد البرنامج المساعد Retrieval ChatGPT للحصول على مثال جيد على ذلك.
يحتوي هذا المستودع على جميع الملفات والتكوينات اللازمة لتشغيل مجموعة Qdrant متوفرة للغاية على شبكة Fly.io الخاصة مع التواصل والاكتشاف من نظير إلى نظير (P2P).
ابدأ بإنشاء تطبيق ذبابة جديدة في منطقتك المفضلة. قم بتنفيذ الأوامر التالية داخل شوكة أو استنساخ من هذا المستودع. ولكن أولاً ، تأكد من تعيين منطقتك الأساسية (واسم التطبيق) في ملف fly.toml .
باستخدام ذبابة cli قم بتشغيل ما يلي:
fly launch --no-public-ips --from https://github.com/kylemclaren/qdrant-on-fly
يقوم هذا الأمر بإنشاء تطبيق ذبابة جديد مع جهاز تشغيل واحد وحجم مرفق. عند المطالبة ، حدد yes لنسخ التكوين الحالي إلى التطبيق الذي تم إنشاؤه حديثًا. لا تقم بإنشاء قاعدة بيانات postgreSQL أو مثيل Redis Upstash.
قم بتوسيع المجموعة عن طريق استنساخ الجهاز الأول. حاليًا ، لا يدعم fly scale count آلات التحجيم مع أحجام التخزين المستمرة. سنستخدم "استنساخ آلة الذبابة" لتوسيع نطاق مجموعةنا.
fly machine clone --region ord --selectfly status قم بتوسيع نطاق الإعداد إلى منطقة أخرى عن طريق استنساخ آلة هناك. الآن يجب أن يكون لديك اثنين من أقران في ord وآخر في jnb .
fly machine clone --region jnb --selectfly statusيمكن لتطبيقات الطيران داخل نفس المؤسسة الاتصال بقاعدة بيانات QDrant الخاصة بك باستخدام URI التالي:
http:// < fly-app-name > .flycast:6333أولاً ، ستحتاج إلى تخصيص عنوان IP Flycast الخاص لتطبيقك. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي:
fly ips allocate-v6 --private إذا كنت بحاجة إلى أن يكون تطبيقك متاحًا للجمهور خارج شبكة Fly Private ، فيمكنك ببساطة تخصيص عنوان IP عام لتطبيق Fly والبدء في استخدام وكيل Fly للاتصال كالمعتاد (أي https://<fly-app-name>.fly.dev )
تحذير إذا قمت بذلك ، تأكد من تعيين
QDRANT__SERVICE__API_KEYSecret.
fly proxy : fly proxy 6333:6333 -a < fly-app-name >curl ) للاتصال بمثيل QDrant الخاص بك على المنفذ المعاد توجيهه. ارجع إلى وثائق Fly على وحدات التخزين لمزيد من التفاصيل حول كيفية التعامل بأمان مع المجلدات التي تخزن بيانات المتجه الخاصة بك. curl -H " Content-Type: application/json " http://localhost:6333/cluster | jq{
"result" : {
"status" : " enabled " ,
"peer_id" : 8961156852769025 ,
"peers" : {
"8961156852769025" : {
"uri" : " http://e286376be66286.vm.qdrant-6pn.internal:6335/ "
},
"6238012613461344" : {
"uri" : " http://568370dc75418e.vm.qdrant-6pn.internal:6335/ "
},
"2504460418660966" : {
"uri" : " http://148e722b75d789.vm.qdrant-6pn.internal:6335/ "
}
},
"raft_info" : {
"term" : 1314 ,
"commit" : 3510 ,
"pending_operations" : 0 ,
"leader" : 8961156852769025 ,
"role" : " Leader " ,
"is_voter" : true
},
"consensus_thread_status" : {
"consensus_thread_status" : " working " ,
"last_update" : " 2023-06-20T22:23:48.543413978Z "
},
"message_send_failures" : {}
},
"status" : " ok " ,
"time" : 4.125e-05
}توجه إلى http: // localhost: 6333/Dashboard لمشاهدة Qdrant dashbaord الجديد والتفاعل مع بياناتك هناك.
بشكل افتراضي ، يتم تخزين بيانات QDrant واللقطات في /data/qdrant/ . إذا كنت بحاجة إلى تغيير موقع التخزين الافتراضي ، فيمكنك ضبط متغيرات QDRANT__STORAGE__SNAPSHOTS_PATH و QDRANT__STORAGE__STORAGE_PATH في fly.toml
WIP
هل هذه فكرة جيدة؟
ربما لا ¯_(ツ)_/¯
إذا كنت تواجه صعوبات أو لديك أي استفسارات ، فلا تتردد في إنشاء مشكلة هنا.
يوصى بتمكين تسجيل تصحيح الأخطاء قبل تقديم مشكلة: fly secrets set QDRANT__DEBUG=true QDRANT__LOG_LEVEL=DEBUG
بدلاً من ذلك ، يمكنك طرح الأسئلة في صفحة المجتمع هنا.
إذا كنت تتطلع إلى المساهمة في المشروع ، فشوكه ولا تتردد في إرسال طلبات السحب.