...

/

التدرب على استخدام ChromaDB للتضمينات متعددة الوسائط

التدرب على استخدام ChromaDB للتضمينات متعددة الوسائط

تعلم كيفية استخدام قاعدة بيانات متجهات الكروما مفتوحة المصدر لتخزين البيانات والاستعلام عنها.

سنغطي ما يلي...

حتى الآن في هذا الفصل، استكشفنا قواعد بيانات المتجهات وأهميتها في تخزين واسترجاع البيانات عالية الأبعاد بكفاءة. في هذا الدرس، سنتعمق في استخدام قاعدة بيانات متجهات مفتوحة المصدر من خلال التدريب على Chroma DB. باستخدام نفس مجموعة بيانات الصور والأوصاف مجموعة بيانات مكونة من ثلاثين صورة، معظمها لفواكه، وبعض الحيوانات، وريش، وصورة تُمثل شبكة عصبية اصطناعية. لكل صورة وصف نصي. من درس التضمينات متعددة الوسائط ، سنُنشئ تضمينات متعددة الوسائط باستخدام دوال كروما الخدمية، وسنخزن هذه التضمينات في قاعدة البيانات، وسنستفسر منها للعثور على نتائج متشابهة دلاليًا عبر وسائط بيانات مختلفة (صور ونصوص). لنبدأ!

استيراد المكتبات والوحدات النمطية الضرورية

أولاً، نقوم باستيراد chromadb لإدارة التضمينات والمجموعات.

يمكننا إنشاء تضمينات خارج كروما أو استخدام دوال التضمين من وحدة embedding_functions في كروما. لقد استكشفنا بالفعل الطريقة الأولى، ولحسن الحظ، يدعم كروما دوال التضمين متعددة الوسائط، مما يتيح تضمين البيانات من وسائط مختلفة في مساحة تضمين موحدة. لذلك، سنستخدم نموذج التضمين متعدد الوسائط من وحدة embedding_functions في كروما لإنشاء تضمينات لبياناتنا متعددة الوسائط. للقيام بذلك، نستورد OpenCLIPEmbeddingFunction من chromadb.utils.embedding_functions .

سنخزن التضمين في كروما أثناء وضع بياناتنا خارجها. بالنسبة للبيانات الموجودة خارج كروما، يوفر كروما مُحمّلات بيانات لتحميلها وحفظها عبر مُعرّفات الموارد المُوحدة (URIs). لا يخزن كروما هذه البيانات مباشرةً؛ بل يخزن مُعرّف الموارد المُوحدة (URI) ويُحمّل البيانات منه عند الحاجة. لذلك، لاستخدام هذه البيانات عند حاجة كروما إليها، نستورد ImageLoader من chromadb.utils.data_loaders .

نقوم باستيراد وحدة os ...