การกรองข้อมูลด้วย metadata
การมี metadata ในฐานข้อมูลช่วยให้กรองผลลัพธ์ตามเงื่อนไขเพิ่มเติมได้สะดวกยิ่งขึ้น ลองนึกภาพว่าระบบแนะนำภาพยนตร์ที่สร้างขึ้นสามารถดึงค่ากำหนดของผู้ใช้มาใช้กรองผลลัพธ์ได้อีกชั้นหนึ่ง
ในแบบฝึกหัดนี้ จะได้ใช้ metadata เพิ่มเติมเพื่อกรองคำแนะนำภาพยนตร์ Netflix collection netflix_titles ได้รับการอัปเดตให้มี metadata สำหรับแต่ละรายการ ได้แก่ 'rating' ซึ่งเป็นเรตอายุของรายการ และ 'release_year' ซึ่งเป็นปีที่รายการออกฉายครั้งแรก
ตัวอย่างของรายการที่อัปเดตแล้วมีดังนี้:
{'ids': ['s999'],
'embeddings': None,
'metadatas': [{'rating': 'TV-14', 'release_year': 2021}],
'documents': ['Title: Searching For Sheela (Movie)\nDescription: Journalists and fans await Ma Anand Sheela as the infamous former Rajneesh commune's spokesperson returns to India after decades for an interview tour.\nCategories: Documentaries, International Movies'],
'uris': None,
'data': None}
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Embeddings ด้วย OpenAI API
คำแนะนำการฝึกหัด
- คิวรีผลลัพธ์ 2 รายการจาก collection โดยใช้
reference_texts - กรองผลลัพธ์เฉพาะรายการที่มีเรต
'G'และออกฉายก่อนปี2019
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
collection = client.get_collection(
name="netflix_titles",
embedding_function=OpenAIEmbeddingFunction(model_name="text-embedding-3-small", api_key="")
)
reference_texts = ["children's story about a car", "lions"]
# Query two results using reference_texts
result = collection.query(
____,
____,
# Filter for titles with a G rating released before 2019
____={
____: [
{"____":
{____}
},
{"____":
{____}
}
]
}
)
print(result['documents'])