โครงการนี้มุ่งเน้นไปที่การฝังและดึงข้อมูลชุดข้อมูลผลิตภัณฑ์แฟชั่นขนาดใหญ่ที่รวบรวมจากแบรนด์ใหญ่ ๆ เช่น Aarong, Allen Solly, Bata, Apex และ Infinity ชุดข้อมูลประกอบด้วยผลิตภัณฑ์มากกว่า 20,000 รายการครอบคลุมหมวดหมู่และสไตล์ที่หลากหลาย โน้ตบุ๊กใช้ประโยชน์จากโมเดลและเครื่องมือที่ทรงพลังในการสร้างการฝังตัวสำหรับทั้งข้อความและรูปภาพจากนั้นจัดเก็บ embeddings เหล่านี้ในฐานข้อมูลเวกเตอร์โดยใช้ QDRANT การตั้งค่านี้ช่วยให้การดึงผลิตภัณฑ์แฟชั่นที่มีประสิทธิภาพและแม่นยำขึ้นอยู่กับความคล้ายคลึงกันทางความหมาย
ชุดข้อมูลที่โฮสต์บนใบหน้า Hugging รวมถึงผลิตภัณฑ์แฟชั่นกว่า 20,000 รายการที่คัดลอกมาจากหลายแหล่งพร้อมรายละเอียดเช่นหมวดหมู่ผลิตภัณฑ์ บริษัท ชื่อคำอธิบายข้อมูลจำเพาะลิงก์รูปภาพและอื่น ๆ คุณสามารถสำรวจชุดข้อมูลได้ที่นี่
text-embedding-3-large เพื่อสร้างการฝังตัวมิติสูงสำหรับคำอธิบายผลิตภัณฑ์และบทสรุปclip-ViT-B-32 ) จากไลบรารี SentenceTransformer ถูกนำมาใช้เพื่อสร้างการฝังภาพ รุ่นนี้จับคุณสมบัติภาพที่สามารถใช้เพื่อค้นหาผลิตภัณฑ์ที่คล้ายกันตามลักษณะที่ปรากฏสำหรับแต่ละผลิตภัณฑ์จะมีการสร้างสตริงสรุปการจับรายละเอียดคีย์เช่นหมวดหมู่ บริษัท ชื่อและข้อกำหนด สตริงนี้จะถูกฝังโดยใช้โมเดลข้อความ ในขณะเดียวกันภาพผลิตภัณฑ์หลักจะถูกดาวน์โหลดประมวลผลและเข้ารหัสเพื่อสร้างภาพฝังภาพ Embeddings ทั้งสองจะถูกเก็บไว้ในคอลเล็กชัน QDRANT สำหรับการค้นหาเวกเตอร์ที่มีประสิทธิภาพ
ฐานข้อมูล QDRANT ใช้เป็นร้านค้าเวกเตอร์สำหรับการฝังตัวเหล่านี้ซึ่งรองรับการค้นหาความคล้ายคลึงกันแบบเรียลไทม์ตามข้อความค้นหาทั้งข้อความและรูปภาพ โน้ตบุ๊กสร้างคอลเลกชันที่รองรับทั้งบทสรุปและภาพเวกเตอร์โดยใช้ความคล้ายคลึงกันของโคไซน์
สมุดบันทึกวนซ้ำผ่านชุดข้อมูลและ:
การตั้งค่านี้ช่วยให้การรวมเข้ากับระบบใด ๆ ที่ต้องการคำแนะนำผลิตภัณฑ์แฟชั่นหรือฟังก์ชั่นการค้นหาบนพื้นฐานของข้อมูลหลายรูปแบบ
ภาพด้านบนแสดงจำนวนจุดเวกเตอร์ที่เก็บไว้ในคอลเล็กชัน QDRANT โดยแสดงภาพขนาดของชุดข้อมูลและการฝังที่เก็บไว้
โครงการนี้เป็นทรัพยากรที่ยอดเยี่ยมสำหรับทุกคนที่ต้องการสำรวจการฝังตัวหลายโมดอลฐานข้อมูลเวกเตอร์และข้อมูลแฟชั่นในระดับ
โครงการนี้ใช้โมเดล LLAVA (Language and Vision Assistant) เพื่อสร้างคำอธิบายผลิตภัณฑ์และข้อมูลจำเพาะจากภาพ โมเดลนี้ขึ้นอยู่กับสถาปัตยกรรม AI สนทนาที่สามารถโต้ตอบกับทั้งข้อความและอินพุตภาพ
ก่อนเรียกใช้รหัสตรวจสอบให้แน่ใจว่าคุณติดตั้งการพึ่งพาต่อไปนี้:
transformers และชุดข้อมูลของชุด datasetstorch สำหรับการสนับสนุน PytorchPIL สำหรับการประมวลผลภาพติดตั้งแพ็คเกจ LLAVA:
! pip install git+https://github.com/haotian-liu/LLaVA.git@786aa6a19ea10edc6f574ad2e16276974e9aaa3aติดตั้งการอ้างอิงเพิ่มเติม:
! pip install -qU datasetsเริ่มต้น Llava chatbot:
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 ที่มีอาร์เรย์ของข้อมูลผลิตภัณฑ์
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT - ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
คุณสามารถค้นหารายละเอียดเพิ่มเติมและเข้าถึงชุดข้อมูลที่ Hugging Face