Filtragem usando metadados
Ter metadados disponíveis para uso no banco de dados pode desbloquear a capacidade de filtrar mais facilmente os resultados com base em condições adicionais. Imagine que as recomendações de filmes que você está criando possam acessar as preferências definidas pelo usuário e usá-las para filtrar ainda mais os resultados.
Neste exercício, você usará metadados adicionais para filtrar suas recomendações de filmes da Netflix. A coleção netflix_titles
foi atualizada para adicionar metadados a cada título, incluindo 'rating'
, a classificação etária atribuída ao título, e 'release_year'
, o ano em que o título foi lançado inicialmente.
Aqui está uma prévia de um item atualizado:
{'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 exercício faz parte do curso
Introdução aos embeddings com o OpenAI API
Instruções de exercício
- Consulte dois resultados da coleção usando
reference_texts
. - Filtre os resultados para títulos com uma classificação
'G'
que também foram lançados antes de2019
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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'])