Lọc bằng metadata
Có metadata trong cơ sở dữ liệu giúp bạn dễ dàng lọc kết quả theo các điều kiện bổ sung. Hãy tưởng tượng hệ thống gợi ý phim bạn đang xây dựng có thể truy cập vào bộ tùy chọn của người dùng và dùng chúng để lọc kết quả sâu hơn.
Trong bài này, bạn sẽ dùng metadata bổ sung để lọc gợi ý phim Netflix. Bộ sưu tập netflix_titles đã được cập nhật để thêm metadata cho từng tiêu đề, gồm 'rating' — xếp hạng độ tuổi của tiêu đề, và 'release_year' — năm phát hành ban đầu.
Dưới đây là bản xem trước của một mục đã cập nhật:
{'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}
Bài tập này là một phần của khóa học
Nhập môn Embeddings với OpenAI API
Hướng dẫn bài tập
- Truy vấn hai kết quả từ bộ sưu tập bằng
reference_texts. - Lọc các kết quả cho những tiêu đề có xếp hạng
'G'và cũng được phát hành trước2019.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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'])