Kom igångKom igång gratis

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

Visa kurs

Ö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öre 2019 visas.

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'])
Redigera och kör kod