Classificação por similaridade
Agora que você incorporou todos os seus recursos, a próxima etapa é calcular as semelhanças. Neste exercício, você definirá uma função chamada find_n_closest(), que calcula as distâncias de cosseno entre um vetor de consulta e uma lista de embeddings e retorna as n menores distâncias e seus índices.
No próximo exercício, você usará essa função para ativar seu aplicativo de pesquisa semântica de produtos.
distance foi importado de scipy.spatial.
Este exercício faz parte do curso
Introdução aos embeddings com o OpenAI API
Instruções do exercício
- Calcule a distância de cosseno entre
query_vectoreembedding. - Acrescenta um dicionário contendo
diste seuindexà listadistances. - Classifique a lista
distancespela chave'distance'de cada dicionário. - Retorne os primeiros
nelementos emdistances_sorted.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def find_n_closest(query_vector, embeddings, n=3):
distances = []
for index, embedding in enumerate(embeddings):
# Calculate the cosine distance between the query vector and embedding
dist = ____
# Append the distance and index to distances
distances.append({"distance": ____, "index": ____})
# Sort distances by the distance key
distances_sorted = ____
# Return the first n elements in distances_sorted
return ____