Filtrage à l'aide de métadonnées
Le fait de disposer de métadonnées à utiliser dans la base de données peut permettre de filtrer plus facilement les résultats sur la base de conditions supplémentaires. Imaginez que les recommandations de films que vous créez puissent accéder aux préférences de l'utilisateur et les utiliser pour filtrer davantage les résultats.
Dans cet exercice, vous utiliserez des métadonnées supplémentaires 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 classification par âge attribuée au titre, et 'release_year'
, l'année de sortie du titre.
Voici un aperçu d'un article mis à jour :
{'ids': ['s999'],
'embeddings': None,
'metadatas': [{'rating': 'TV-14', 'release_year': 2021}],
'documents': ['Title: Searching For Sheela (Movie)
Description: Journalists and fans await Ma Anand Sheela as the infamous former Rajneesh commune’s spokesperson returns to India after decades for an interview tour.
Categories: Documentaries, International Movies'],
'uris': None,
'data': None}
Cet exercice fait partie du cours
Introduction à l'intégration avec l'API OpenAI
Instructions
- Interrogez deux résultats de la collection à l'aide de
reference_texts
. - Filtrez les résultats pour les titres classés
'G'
qui sont également sortis avant2019
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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'])