سمات
- صغير : إنه في الاسم. إنه حرفيًا مجرد خادم Axum. من السهل للغاية التخصيص ، حوالي 600 سطر من الكود.
- Fast : يجب أن يكون لدى TinyVector سرعة مماثلة لقواعد بيانات المتجهات المتقدمة عندما يأتي على مجموعات بيانات صغيرة إلى متوسطة ، ودقة أفضل قليلاً.
- المقاييس الرأسية : يخزن TinyVector جميع الفهارس في الذاكرة للاستعلام السريع. من السهل جدًا توسيع نطاق ما يصل إلى 100 مليون أبعاد متجه دون مشكلة.
- المصدر المفتوح : معهد ماساتشوستس للتكنولوجيا مرخصة ، مجانًا إلى الأبد.
قريباً
- استفسارات قوية : السماح للتصفية بواسطة البيانات الوصفية المتجهة المقدمة دون إبطاء البحث.
- النماذج المتكاملة : قريبًا لن تضطر إلى إحضار المتجهات الخاصة بك ، فقط قم بإنشائها على الخادم التلقائي. تهدف إلى دعم دعم SBERT ، وعانق نماذج Face ، Openai ، Cohere ، إلخ.
- مكتبات TypeScript/Python : يجب أن تكون قادرة على توحيد العملاء الجيدين باستخدام مخطط OpenAPI المضمن.
ابدء
؟ عامل ميناء
نحن نقدم حاوية Docker خفيفة الوزن يمكنك تشغيلها في أي مكان. لا يتطلب الأمر سوى أمر واحد للاستيقاظ والتشغيل بأحدث التغييرات:
docker run
-p 8000:8000
ghcr.io/m1guelpf/tinyvector:edge
لاحظ عند التشغيل عبر Docker Compose أو Kubernetes ، تأكد من ربط وحدة تخزين /tinyvector/storage من أجل الثبات. يتم التعامل مع هذا تلقائيا في الأمر أعلاه.
بناء من الصفر
يمكنك إنشاء TinyVector من أحدث إصدار تم وضع علامة عليه عن طريق تشغيل cargo install tinyvector (قد تحتاج إلى تثبيت الصدأ أولاً). ثم ، قم بتشغيل tinyvector لبدء الخادم.
يمكنك أيضًا بنائه من أحدث التزام من خلال استنساخ إعادة التشغيل وتشغيل cargo build --release ، وتشغيله باستخدام ./target/release/tinyvector .
لماذا تستخدم TinyVector؟
معظم قواعد بيانات المتجهات مبالغة للإعدادات البسيطة. على سبيل المثال:
- استخدام التضمينات للدردشة مع مستنداتك. معظم البحث عن المستندات ليس قريبًا مما تحتاجه لتبرير سرعة البحث مع HNSW أو FAISS.
- البحث عن موقع الويب الخاص بك أو المتجر. ما لم تكن تبيع 1،000،000 عنصر ، فأنت لا تحتاج إلى pinecone.
؟ التضمين؟
تعد التضمينات وسيلة لمقارنة الأشياء المماثلة ، بنفس الطريقة التي يقارن بها البشر أشياء مماثلة ، عن طريق تحويل النص إلى قائمة صغيرة من الأرقام. سيكون لأجزاء مشابهة من النص أرقام مماثلة ، وأجهزة مختلفة لها أرقام مختلفة للغاية.
اقرأ تفسير Openai.
شكر وتقدير
- ألهمني Will Depue's TinyVector (Python+SQLite+Numpy) لبناء قاعدة بيانات متجه من نقطة الصفر (واستعارة الاسم). سوف ساهم أيضا الكثير من الأفكار لتحسين الأداء.
؟ رخصة
هذا المشروع مفتوح المصدر بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص لمزيد من المعلومات.