ค้นหาสินค้าที่คล้ายกันมากที่สุด
การคำนวณความคล้ายคลึงระหว่าง embedding ถือเป็นขั้นตอนสำคัญในการพัฒนาแอปพลิเคชันที่ใช้ embedding ในแบบฝึกหัดนี้ จะได้กลับมาทำงานกับลิสต์ดิกชันนารี products ที่ใช้ไปก่อนหน้า ซึ่งบรรจุ embedding ของคำอธิบายสั้น ๆ ของสินค้าที่สร้างขึ้นไว้แล้ว
จากนั้นจะนำข้อความมาเปรียบเทียบกับ embedding เหล่านั้น เพื่อระบุว่าคำอธิบายใดมีความคล้ายคลึงมากที่สุด
numpy ถูก import ไว้แล้วในชื่อ np และ distance จาก scipy.spatial พร้อมใช้งาน นอกจากนี้ยังมีฟังก์ชัน create_embeddings() ที่กำหนดไว้ให้แล้ว สามารถใช้สร้าง embedding จาก input เดียวได้เลย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Embeddings ด้วย OpenAI API
คำแนะนำการฝึกหัด
- สร้าง embedding จากข้อความ
"soap"โดยใช้ฟังก์ชันcreate_embeddings()ที่กำหนดเอง แล้วดึงค่าออกมาเป็นลิสต์ embedding เดียว - คำนวณ cosine distance ระหว่าง
query_embeddingกับ embedding ของproductแต่ละรายการ - ค้นหาและแสดงผล
'short_description'ของสินค้าที่คล้ายกับข้อความค้นหามากที่สุด โดยใช้ค่า cosine distance ในdistances
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Embed the search text
search_text = "soap"
search_embedding = ____
distances = []
for product in products:
# Compute the cosine distance for each product description
dist = ____(search_embedding, ____)
distances.append(dist)
# Find and print the most similar product short_description
min_dist_ind = ____
print(____)