يركز هذا المشروع على تضمين واسترجاع مجموعة بيانات منتجات أزياء واسعة النطاق تم جمعها من العلامات التجارية الرئيسية مثل Aarong و Allen Solly و Bata و Apex و Infinity. تتكون مجموعة البيانات من أكثر من 20،000 منتج ، تغطي مجموعة واسعة من الفئات والأساليب. يقوم دفتر الملاحظات بالاستفادة من النماذج والأدوات القوية لإنشاء تضمينات لكل من النص والصور ، ثم يخزن هذه التضمينات في قاعدة بيانات متجه باستخدام QDrant. يتيح هذا الإعداد استرجاعًا فعالًا ودقيقًا لمنتجات الأزياء على أساس التشابه الدلالي.
تتضمن مجموعة البيانات ، التي تم استضافتها على وجه المعانقة ، أكثر من 20.000 منتج أزياء تم كشطها من مصادر متعددة ، مع تفاصيل مثل فئة المنتج ، والشركة ، والاسم ، والوصف ، والمواصفات ، وروابط الصور ، والمزيد. يمكنك استكشاف مجموعة البيانات هنا.
text-embedding-3-large لإنشاء تضمينات عالية الأبعاد لوصف وملخصات المنتج.clip-ViT-B-32 ) من مكتبة SentenceTransformer يتم استخدامه لإنشاء تضمينات للصور. يلتقط هذا النموذج الميزات المرئية التي يمكن استخدامها للعثور على منتجات مماثلة بناءً على مظهرها.لكل منتج ، يتم إنشاء سلسلة ملخص ، ويلتقط التفاصيل الرئيسية مثل الفئة والشركة والاسم والمواصفات. ثم يتم تضمين هذه السلسلة باستخدام نموذج النص. في نفس الوقت ، يتم تنزيل صورة المنتج الأساسية ومعالجتها وترميزها لإنشاء صورة تضمين. يتم تخزين كلا التضمينات في مجموعة QDrant للبحث في المتجهات الفعالة.
يتم استخدام قاعدة بيانات QDrant كمتجر متجه لهذه التضمينات ، مما يدعم عمليات البحث في الوقت الفعلي استنادًا إلى كل من استفسارات النص والصور. يقوم دفتر الملاحظات بإنشاء مجموعة تستوعب كل من ناقلات الملخص والصورة باستخدام تشابه جيب التمام.
يتكرر دفتر الملاحظات على مجموعة البيانات و:
يتيح هذا الإعداد تكاملًا سلسًا في أي نظام يتطلب توصيات منتج الموضة أو وظائف البحث على أساس بيانات متعددة الوسائط.
تعرض الصورة أعلاه عدد نقاط المتجهات المخزنة في مجموعة QDrant ، مما يتصور مقياس مجموعة البيانات والتضمينات المخزنة.
يعد المشروع موردًا ممتازًا لأي شخص يتطلع إلى استكشاف التضمينات متعددة الوسائط وقواعد بيانات المتجهات وبيانات الأزياء على نطاق واسع.
يستخدم هذا المشروع نموذج LLAVA (مساعد اللغة والرؤية) لإنشاء أوصاف ومواصفات المنتج من الصور. يعتمد النموذج على بنية AI المحادثة التي يمكن أن تتفاعل مع كل من النصوص والمدخلات المرئية.
قبل تشغيل الرمز ، تأكد من تثبيت التبعيات التالية:
transformers ومكتبات datasetstorch لدعم PytorchPIL لمعالجة الصورقم بتثبيت حزمة LLAVA:
! pip install git+https://github.com/haotian-liu/LLaVA.git@786aa6a19ea10edc6f574ad2e16276974e9aaa3aتثبيت تبعيات إضافية:
! pip install -qU datasetsتهيئة chatbot llava:
from transformers import AutoTokenizer , BitsAndBytesConfig
from llava . model import LlavaLlamaForCausalLM
from llava . utils import disable_torch_init
from llava . constants import IMAGE_TOKEN_INDEX , DEFAULT_IMAGE_TOKEN , DEFAULT_IM_START_TOKEN , DEFAULT_IM_END_TOKEN
from llava . mm_utils import tokenizer_image_token , KeywordsStoppingCriteria
from llava . conversation import conv_templates , SeparatorStyle
import torch
from PIL import Image
import requests
from io import BytesIO
chatbot = LLaVAChatBot ( load_in_8bit = True ,
bnb_8bit_compute_dtype = torch . float16 ,
bnb_8bit_use_double_quant = True ,
bnb_8bit_quant_type = 'nf8' )تحميل مجموعة البيانات:
from datasets import load_dataset
fashion = load_dataset (
"thegreyhound/demo2" ,
split = "train"
)
product_df = fashion . to_pandas ()توليد أوصاف المنتج والمواصفات:
cnt = 1
for index , row in product_df . iterrows ():
str1 = "Given Image detail was: " + row [ 'Description' ] + " Now generate a brief high level description for the product shown in the image"
str2 = "Given Image detail was: " + row [ 'Description' ] + " Now generate a detailed specifications for the product shown in the image including the fabric, color, design, style etc"
ans1 = chatbot . start_new_chat ( img_path = row [ 'Image_link' ],
prompt = str1 )
ans2 = chatbot . start_new_chat ( img_path = row [ 'Image_link' ],
prompt = str2 )
product_df . loc [ index , 'Description' ] = ans1
product_df . loc [ index , 'Specifications' ] = ans2
print ( cnt )
cnt += 1يقوم البرنامج النصي بمعالجة الصور وينشئ أوصاف منتج عالية المستوى ومواصفات مفصلة. يتم حفظ الإخراج النهائي في ملف JSON يحتوي على مجموعة من معلومات المنتج.
تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص للحصول على التفاصيل.
يمكنك العثور على مزيد من التفاصيل والوصول إلى مجموعة البيانات في Hugging Face.