Filtrar utilizando metadatos
Disponer de metadatos para utilizarlos en la base de datos puede desbloquear la capacidad de filtrar más fácilmente los resultados basándose en condiciones adicionales. Imagina que las recomendaciones de películas que has creado pudieran acceder a las preferencias establecidas por el usuario y utilizarlas para filtrar aún más los resultados.
En este ejercicio, utilizarás metadatos adicionales para filtrar las recomendaciones de películas de Netflix. La colección netflix_titles
se ha actualizado para añadir metadatos a cada título, como 'rating'
, la clasificación por edades que se le ha dado al título, y 'release_year'
, el año en que se publicó inicialmente el título.
Aquí tienes un avance de un artículo actualizado:
{'ids': ['s999'],
'embeddings': None,
'metadatas': [{'rating': 'TV-14', 'release_year': 2021}],
'documents': ['Title: Searching For Sheela (Movie)
Description: Journalists and fans await Ma Anand Sheela as the infamous former Rajneesh commune’s spokesperson returns to India after decades for an interview tour.
Categories: Documentaries, International Movies'],
'uris': None,
'data': None}
Este ejercicio forma parte del curso
Introducción a las incrustaciones con la OpenAI API
Instrucciones del ejercicio
- Consulta dos resultados de la colección utilizando
reference_texts
. - Filtra los resultados para buscar títulos con una clasificación
'G'
que también se hayan publicado antes de2019
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
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'])