Filtrering med metadata
Att ha metadata tillgänglig i databasen gör det enklare att filtrera resultat utifrån ytterligare villkor. Tänk dig att filmrekommendationerna du bygger kan läsa användarens sparade preferenser och använda dem för att förfina resultaten ytterligare.
I den här övningen använder du metadata för att filtrera dina Netflix-filmrekommendationer. Samlingen netflix_titles har uppdaterats med metadata för varje titel, inklusive 'rating' – åldersgränsen för titeln – och 'release_year' – året då titeln ursprungligen lanserades.
Här är en förhandsgranskning av ett uppdaterat objekt:
{'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}
Den här övningen är en del av kursen
Introduktion till inbäddningar med OpenAI API
Övningsinstruktioner
- Hämta två resultat från samlingen med hjälp av
reference_texts. - Filtrera resultaten så att endast titlar med betyget
'G'som dessutom lanserades före2019visas.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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'])