Filtern anhand von Metadaten
Wenn du Metadaten in der Datenbank zur Verfügung hast, kannst du die Ergebnisse leichter nach zusätzlichen Bedingungen filtern. Stell dir vor, die Filmempfehlungen, die du erstellst, könnten auf die Vorlieben der Nutzer/innen zugreifen und diese nutzen, um die Ergebnisse weiter zu filtern.
In dieser Übung wirst du zusätzliche Metadaten verwenden, um deine Netflix-Filmempfehlungen zu filtern. Die Sammlung netflix_titles
wurde aktualisiert, um Metadaten zu jedem Titel hinzuzufügen, darunter 'rating'
, die Altersfreigabe des Titels, und 'release_year'
, das Jahr, in dem der Titel ursprünglich veröffentlicht wurde.
Hier ist eine Vorschau auf einen aktualisierten Artikel:
{'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}
Diese Übung ist Teil des Kurses
Einführung in Embeddings mit der OpenAI API
Anleitung zur Übung
- Frag zwei Ergebnisse aus der Sammlung mit
reference_texts
ab. - Filtere die Ergebnisse nach Titeln mit einer
'G'
Bewertung, die auch vor2019
veröffentlicht wurden.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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'])