Erste SchritteKostenlos loslegen

Sortieren nach Ähnlichkeit

Nachdem du nun alle deine Merkmale eingebettet hast, ist der nächste Schritt die Berechnung der Ähnlichkeiten. In dieser Übung definierst du eine Funktion namens find_n_closest(), die die Kosinusabstände zwischen einem Abfragevektor und einer Liste von Einbettungen berechnet und die n kleinsten Abstände und ihre Indizes zurückgibt.

In der nächsten Übung wirst du diese Funktion nutzen, um deine semantische Produktsuche zu aktivieren.

distance wurde von scipy.spatial importiert.

Diese Übung ist Teil des Kurses

Einführung in Embeddings mit der OpenAI API

Kurs anzeigen

Anleitung zur Übung

  • Berechne den Kosinusabstand zwischen query_vector und embedding.
  • Füge ein Wörterbuch mit dist und dessen index an die Liste distances an.
  • Sortiere die Liste distances nach dem 'distance' Schlüssel der einzelnen Wörterbücher.
  • Gib die ersten n Elemente in distances_sorted zurück.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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 ____
Bearbeiten und Ausführen von Code