LoslegenKostenlos loslegen

Filtern mit Metadaten

Wenn Metadaten in der Datenbank verfügbar sind, kannst du Ergebnisse leichter anhand zusätzlicher Bedingungen filtern. Stell dir vor, deine Filmempfehlungen könnten auf die Voreinstellungen der Nutzer zugreifen und damit die Ergebnisse weiter eingrenzen.

In dieser Übung nutzt du zusätzliche Metadaten, um deine Netflix-Filmempfehlungen zu filtern. Die Sammlung netflix_titles wurde aktualisiert und enthält nun Metadaten zu jedem Titel, darunter 'rating' (die Altersfreigabe des Titels) und 'release_year' (das Jahr der Erstveröffentlichung).

Hier ist eine Vorschau eines aktualisierten Elements:

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

Diese Übung ist Teil des Kurses

Einführung in Embeddings mit der OpenAI API

Kurs anzeigen

Anleitung zur Übung

  • Frage zwei Ergebnisse aus der Sammlung mit reference_texts ab.
  • Filtere die Ergebnisse auf Titel mit der Bewertung 'G', die außerdem vor 2019 veröffentlicht wurden.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen