مرحبًا بك في مشروع API Store Vector! يهدف هذا المشروع إلى توفير واجهة برمجة تطبيقات فعالة وقابلة للتطوير لتضمين وتخزين المتجهات ، والاستفادة من قوة Fastapi ، و Langchain وقاعدة بيانات المتجهات مثل Chroma. سواء كنت تتعامل مع النص أو الصور أو أي بيانات تحتاج إلى تحويلها إلى متجهات واسترجاعها من خلال البحث عن التشابه ، فقد جعلتك واجهة برمجة التطبيقات هذه مغطاة. ؟
ستحصل هذه التعليمات على نسختك من المشروع وتشغيلها على جهازك المحلي لأغراض التطوير والاختبار.
المهمة 1: إعداد بيئة افتراضية للمشروع لإدارة التبعيات.
المهمة 2: تثبيت fastapi و uvicorn (خادم ASGI) باستخدام PIP.
المهمة 3: تثبيت Chroma أو أي مشروع مكتبة عميل قاعدة بيانات Vector الأخرى سوف يستخدم.
المهمة 1: تحديد نقاط النهاية التي سنحتاجها. النظر في ما يلي:
نقطة نهاية لتحميل الملفات أو النص المراد ضوابطه.
نقطة نهاية للبحث من خلال المتجهات المخزنة باستخدام بحث التشابه.
نقطة نهاية لسرد أو استرداد ناقلات معينة أو بيانات التعريف الخاصة بها.
المهمة 2: تخطيط نماذج الطلب والاستجابة لنقاط النهاية باستخدام نماذج Pydantic.
المهمة 1: تنفيذ نقطة نهاية تحميل الملف/النص.
تحليل بيانات الإدخال.
قم بتضمين الإدخال في نموذج المتجه (قد تحتاج إلى مكتبة أو خدمة خارجية للتضمين ، مثل TensorFlow للصور أو معانقة محولات Face للنص).
تخزين المتجه في Chroma مع البيانات الوصفية ذات الصلة.
المهمة 2: تنفيذ نقطة نهاية البحث.
قبول الاستعلام كمدخلات وتحويله إلى متجه.
إجراء بحث تشابه في Chroma.
إرجاع أقرب المباريات.
المهمة 3: تنفيذ نقاط النهاية الإضافية حسب الحاجة (لإدراج المتجهات أو تحديثها أو حذفها).
المهمة 1: اختر قاعدة بيانات ناقلات مناسبة (Chroma ، في هذه الحالة).
المهمة 2: تنفيذ منطق تخزين البيانات للمتجهات.
المهمة 3: تنفيذ منطق الاسترجاع والبحث باستخدام قدرات بحث Chroma.
المهمة 1: اكتب اختبارات الوحدة لنقاط نهاية API الخاصة بك للتأكد من أنها تعمل كما هو متوقع.
المهمة 2: اختبار وظيفة تخزين المتجه واسترجاعها في Chroma.
المهمة 3: أداء نهاية [] إلى [] اختبارات نهاية واجهة برمجة التطبيقات بأكملها.
المهمة 1: وثيقة واجهة برمجة تطبيقات باستخدام Fastapi Build [] في Swagger UI.
المهمة 2: قم بإعداد المشروع للنشر (فكر في استخدام Docker for Containerization).
المهمة 3: نشر API (تشمل الخيارات Heroku أو AWS أو GCP).
المساهمات هي التي تجعل المجتمع مفتوح المصدر مكانًا رائعًا للتعلم وإلهامه وإنشائه. أي مساهمات تقدمها موضع تقدير كبير . ؟
تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص.