ComeçarComece gratuitamente

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

Ver Curso

Instruções de exercício

  • Calcule a distância de cosseno entre query_vector e embedding.
  • Acrescenta um dicionário contendo dist e seu index à lista distances.
  • Classifique a lista distances pela chave 'distance' de cada dicionário.
  • Retorne os primeiros n elementos em distances_sorted.

Exercício interativo prático

Experimente este exercício preenchendo 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 ____
Editar e executar código