Фільтрування за метаданими
Наявність метаданих у базі дає змогу легше фільтрувати результати за додатковими умовами. Уявіть, що ваші рекомендації фільмів можуть враховувати вподобання користувача й використовувати їх для подальшого звуження результатів.
У цій вправі ви використаєте додаткові метадані, щоб відфільтрувати ваші рекомендації фільмів на Netflix. Колекцію netflix_titles оновлено: до кожної назви додано метадані, зокрема '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
Інструкції до вправи
- Здійсніть запит двох результатів із колекції, використовуючи
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'])