Aan de slagBegin gratis

Filteren met metadata

Beschikbare metadata in de database maakt het makkelijker om resultaten te filteren op extra voorwaarden. Stel je voor dat de film-aanbevelingen die je maakt toegang hebben tot de voorkeuren van de gebruiker en die kunnen gebruiken om de resultaten verder te verfijnen.

In deze oefening ga je extra metadata gebruiken om je Netflix-filmaanbevelingen te filteren. De collectie netflix_titles is bijgewerkt met metadata per titel, waaronder 'rating', de leeftijdsclassificatie van de titel, en 'release_year', het jaar waarin de titel oorspronkelijk is uitgebracht.

Hier is een voorbeeld van een bijgewerkt item:

{'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}

Deze oefening maakt deel uit van de cursus

Introductie tot Embeddings met de OpenAI API

Bekijk cursus

Oefeninstructies

  • Haal twee resultaten op uit de collectie met reference_texts.
  • Filter de resultaten op titels met een 'G'-rating die ook vóór 2019 zijn uitgebracht.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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'])
Code bewerken en uitvoeren