CommencerCommencez gratuitement

Filtrer à l’aide des métadonnées

Disposer de métadonnées exploitables dans la base de données permet de filtrer plus facilement les résultats selon des critères 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 affiner les résultats.

Dans cet exercice, vous allez utiliser 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 d’âge attribuée au titre, et 'release_year', l’année de première sortie du titre.

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}

Cet exercice fait partie du cours

<cours>Introduction aux embeddings avec l’API OpenAI</cours>
Voir le cours

Instructions de l’exercice

  • Interrogez deux résultats depuis la collection en utilisant reference_texts.
  • Filtrez les résultats pour des titres avec une classification 'G' et sortis avant 2019.

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