ÎncepețiÎncepe gratuit

Sortare după similaritate

Acum că ai creat încorporări (embeddings) pentru toate caracteristicile tale, pasul următor este calcularea similarităților. În acest exercițiu, vei defini o funcție numită find_n_closest(), care calculează distanțele cosinus dintre un vector de interogare și o listă de embeddings, returnând cele n distanțe minime împreună cu indecșii lor.

În exercițiul următor, vei folosi această funcție pentru a-ți construi aplicația de căutare semantică a produselor.

distance a fost importat din scipy.spatial.

Acest exercițiu face parte din cursul

Introducere în Embeddings cu API-ul OpenAI

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează distanța cosinus dintre query_vector și embedding.
  • Adaugă un dicționar care conține dist și index-ul său la lista distances.
  • Sortează lista distances după cheia 'distance' din fiecare dicționar.
  • Returnează primele n elemente din distances_sorted.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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 ____
Editează și rulează codul