Filtrer à l'aide des métadonnées
Avoir des métadonnées disponibles dans la base de données permet de filtrer plus facilement les résultats selon des conditions supplémentaires. Imaginez que les recommandations de films que vous créez puissent accéder aux préférences de l'utilisateur et s'en servir pour affiner les résultats.
Dans cet exercice, vous utiliserez des métadonnées additionnelles pour filtrer vos recommandations de films Netflix. La collection netflix_titles a été mise à jour pour ajouter des métadonnées à chaque titre, notamment 'rating', la cote d'âge attribuée au titre, et 'release_year', l'année de sa première parution.
Voici un aperçu d'un élément mis à jour :
{'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}
Cette activité fait partie du cours
Introduction aux embeddings avec l'API d'OpenAI
Instructions de l’exercice
- Interrogez deux résultats de la collection en utilisant
reference_texts. - Filtrez les résultats pour les titres avec une cote
'G'qui sont aussi sortis avant2019.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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'])