Inizia subitoInizia gratis

Filtrare usando i metadati

Avere metadati disponibili nel database ti permette di filtrare i risultati in modo più semplice in base a condizioni aggiuntive. Immagina che le raccomandazioni di film che stai creando possano accedere alle preferenze dell'utente e usarle per affinare ulteriormente i risultati.

In questo esercizio userai metadati aggiuntivi per filtrare le tue raccomandazioni di film su Netflix. La collezione netflix_titles è stata aggiornata per aggiungere metadati a ogni titolo, tra cui 'rating', la classificazione per età assegnata al titolo, e 'release_year', l'anno di uscita iniziale del titolo.

Ecco un'anteprima di un elemento aggiornato:

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

Questo esercizio fa parte del corso

Introduzione agli Embeddings con l'API di OpenAI

Visualizza corso

Istruzioni dell'esercizio

  • Interroga due risultati dalla collezione usando reference_texts.
  • Filtra i risultati per titoli con classificazione 'G' che siano stati anche pubblicati prima del 2019.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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'])
Modifica ed esegui il codice