CommencerCommencer gratuitement

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

Afficher le cours

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 avant 2019.

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'])
Modifier et exécuter le code