LoslegenKostenlos loslegen

Nach Ähnlichkeit sortieren

Jetzt, da du alle Features eingebettet hast, berechnest du als Nächstes die Ähnlichkeiten. In dieser Übung definierst du eine Funktion namens find_n_closest(), die die Kosinus-Distanzen zwischen einem Abfragevektor und einer Liste von Embeddings berechnet und die n kleinsten Distanzen samt ihrer Indizes zurückgibt.

In der nächsten Übung verwendest du diese Funktion, um deine semantische Produktsuche zu ermöglichen.

distance wurde aus scipy.spatial importiert.

Diese Übung ist Teil des Kurses

Einführung in Embeddings mit der OpenAI API

Kurs anzeigen

Anleitung zur Übung

  • Berechne die Kosinus-Distanz zwischen dem query_vector und embedding.
  • Hänge ein Dictionary mit dist und seinem index an die Liste distances an.
  • Sortiere die Liste distances nach dem 'distance'-Schlüssel der einzelnen Dictionaries.
  • Gib die ersten n Elemente in distances_sorted zurück.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 ____
Code bearbeiten und ausführen