0Pricing
AI Agents · Lektion

Kosinusähnlichkeit für Retrieval

Die Kosinusähnlichkeit misst den Winkel zwischen zwei Vektoren – die Standarddistanzmetrik für die semantische Suche.

Kosinusähnlichkeit für Retrieval ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Ähnlichkeit messen

Wie nahe liegen zwei Vektoren beieinander? Drei gängige Distanzmaße:

  • Kosinusähnlichkeit — Winkel zwischen den Vektoren
  • Skalarprodukt — Projektion
  • Euklidische Distanz (L2) — geradlinige Entfernung

Für Text-Embeddings ist die Kosinusähnlichkeit der Standard.

Formel der Kosinusähnlichkeit

Für die Vektoren A und B:

cos(A, B) = (A . B) / (|A| * |B|)

Das Ergebnis liegt zwischen -1 und 1:

  • 1 = identische Richtung
  • 0 = orthogonal (unverbunden)
  • -1 = entgegengesetzt

In Python mit NumPy

Eine unkomplizierte Implementierung:

import numpy as np

def cosine_similarity(a, b):
    a = np.array(a)
    b = np.array(b)
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

print(cosine_similarity(vec_apple, vec_orange))   # high
print(cosine_similarity(vec_apple, vec_car))      # low

Vor-normalisierte Vektoren

Wenn Ihre Embeddings bereits normalisiert sind (das ist bei den OpenAI-Embeddings der Fall), entspricht der Kosinus dem Skalarprodukt, und Sie können die Division überspringen:

def cosine_normalized(a, b):
    return np.dot(a, b)   # faster

Top-K-Retrieval

Um die K ähnlichsten Dokumente zu einer Query zu finden, berechnen Sie die Ähnlichkeit zu jedem Dokument und sortieren anschließend:

def topk(query_vec, doc_vecs, k=5):
    scores = [(np.dot(query_vec, v), i) for i, v in enumerate(doc_vecs)]
    scores.sort(reverse=True)
    return scores[:k]

Skalierung

Naives Top-K-Retrieval hat pro Query eine Komplexität von O(N) — für 10.000 Dokumente ist das problemlos, bei 10 Millionen jedoch langsam. Für große Korpora verwenden Sie Approximate-Nearest-Neighbor-(ANN-)Indizes: HNSW, IVF, FAISS.

Warum nicht euklidisch?

Die L2-Distanz behandelt die Vektorlänge als aussagekräftig. Bei Embeddings ist die Richtung wichtiger als der Betrag — deshalb setzt sich der Kosinus durch.

(Bei normalisierten Vektoren liefern L2 und der Kosinus dieselbe Rangfolge, daher spielt es keine Rolle.)

Skalarprodukt vs. Kosinus

Wenn Vektoren bereits normalisiert sind, entspricht das Skalarprodukt dem Kosinus und ist schneller (keine Division). Die meisten Produktionssysteme verwenden das Skalarprodukt auf normalisierten Vektoren.

A Tiny End-to-End Retrieval

docs = ['Python is a programming language', 'Pizza is Italian food', 'The Eiffel Tower is in Paris']
doc_vecs = [embed(d) for d in docs]

query_vec = embed('What is Python?')
scores = [(cosine_similarity(query_vec, v), d) for v, d in zip(doc_vecs, docs)]
scores.sort(reverse=True)
for s, d in scores:
    print(f'{s:.3f}  {d}')
# 0.83  Python is a programming language
# 0.45  Pizza is Italian food
# 0.41  The Eiffel Tower is in Paris

Hybrides Retrieval

Kombinieren Sie Kosinusähnlichkeit mit der Stichwortsuche (BM25), um die Vorteile beider Ansätze zu nutzen — semantische Suche und exakte Übereinstimmungen. Die meisten Produktionssysteme verwenden heute hybrides Retrieval.

Filterung anhand eines Schwellenwerts

Verwerfen Sie Ergebnisse unterhalb eines Ähnlichkeitsschwellenwerts, damit Sie dem LLM keinen irrelevanten Kontext übergeben:

results = [r for r in retrieved if r.score > 0.7]

Kosinusbereich

In welchem Bereich liegen die Werte der Kosinusähnlichkeit?

Zusammenfassung

Kosinusähnlichkeit ist die Standardmetrik für das Retrieval mit Embeddings. Kombinieren Sie sie für den Produktionseinsatz mit hybrider Suche und ANN.

Häufig gestellte Fragen

Ist die Lektion „Kosinusähnlichkeit für Retrieval“ kostenlos?

Ja — der vollständige Text von „Kosinusähnlichkeit für Retrieval“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Kosinusähnlichkeit für Retrieval“?

Die Kosinusähnlichkeit misst den Winkel zwischen zwei Vektoren – die Standarddistanzmetrik für die semantische Suche. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Agents zu starten?

Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Kosinusähnlichkeit für Retrieval“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?

Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was Embeddings sind (Vektorrepräsentationen)
  2. Embeddings mit text-embedding-3 erzeugen
  3. Kosinusähnlichkeit für Retrieval
  4. Embedding-Modelle im Vergleich (OpenAI vs. Cohere vs. OSS)
← Zurück zu AI Agents