0Pricing
AI Agents · Lektion

Distanzmetriken auswählen (cosine, L2, dot)

Erfahren Sie, wann Sie cosine, L2 (euklidische Distanz) oder dot-product verwenden sollten – und warum die meisten Embedding-Modelle cosine bevorzugen.

Distanzmetriken auswählen (cosine, L2, dot) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Drei gängige Metriken

Vektor-Datenbanken ermöglichen Ihnen die Auswahl einer Distanzmetrik. Die drei am häufigsten verwendeten sind:

  • Kosinusähnlichkeit — Winkel zwischen Vektoren
  • Skalarprodukt — Projektion eines Vektors auf den anderen
  • Euklidische Distanz (L2) — Entfernung in gerader Linie

Kosinus

Bereich: -1 bis 1. Höher = ähnlicher.

import numpy as np
def cosine(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

Skalarprodukt

Bereich: -infinity bis +infinity. Höher = ähnlicher.

def dot(a, b):
    return np.dot(a, b)

# Equivalent to cosine when both vectors are unit-normalized.

Euklidische Distanz (L2)

Bereich: 0 bis +infinity. Niedriger = ähnlicher.

def l2(a, b):
    return np.linalg.norm(np.array(a) - np.array(b))

Welche Metrik sollten Sie verwenden?

Für Text-Embeddings gilt üblicherweise:

  • OpenAI text-embedding-3 — Kosinus (Vektoren sind vorab normalisiert)
  • Cohere — Kosinus
  • Sentence Transformers / BGE — normalerweise Kosinus, sehen Sie in der Model Card nach

Wenn Sie unsicher sind, verwenden Sie Kosinus.

Skalarprodukt entspricht bei Normalisierung dem Kosinus

Wenn |a| = |b| = 1, gilt cos(a,b) = a . b. Das Skalarprodukt ist schneller (keine Division) — Produktivsysteme verwenden häufig das Skalarprodukt bei vorab normalisierten Vektoren.

Wann L2 verwendet wird

Einige Forschungsmodelle (ältere Sentence-BERT-Varianten, Bild-Embeddings) werden mit der L2-Distanz trainiert und liefern damit bessere Ergebnisse. Sehen Sie immer in der Model Card nach.

Warum das für den Index wichtig ist

Die Indexstruktur (HNSW, IVF, FAISS) wird für eine BESTIMMTE Metrik erstellt. Eine Änderung der Metrik nach der Indizierung bedeutet normalerweise, dass der Index von Grund auf neu erstellt werden muss.

Setting Metric in Pinecone

from pinecone import ServerlessSpec
pc.create_index(
    name='docs',
    dimension=1536,
    metric='cosine',   # or 'dotproduct' or 'euclidean'
    spec=ServerlessSpec(cloud='aws', region='us-east-1')
)

Setting Metric in Qdrant

from qdrant_client.models import VectorParams, Distance
client.create_collection(
    collection_name='docs',
    vectors_config=VectorParams(size=1536, distance=Distance.COSINE)
)

Uneinheitliche Metriken zwischen Systemen

Wenn Sie später mit einem Cross-Encoder ein Re-Ranking durchführen, verwendet dieser eine eigene Bewertungsskala. Kombinieren Sie Metriken nicht ohne vorherige Normalisierung in einem einzigen zusammengesetzten Wert.

Den Unterschied visualisieren

Für zwei Einheitsvektoren:

  • cos = 1, L2 = 0 -> identisch
  • cos = 0.5, L2 ~ 1 -> verwandt
  • cos = 0, L2 ~ sqrt(2) -> orthogonal
  • cos = -1, L2 = 2 -> entgegengesetzt

Einmalig vorab normalisieren

Die Normalisierung bei der Aufnahme ist günstig (eine Division). Sie stellt die Kompatibilität mit Kosinus und Skalarprodukt sicher und vermeidet eine Normalisierung bei jeder späteren Abfrage.

vec = vec / np.linalg.norm(vec)

Standardmetrik

Welche Distanzmetrik ist für OpenAI-Text-Embeddings die Standardeinstellung?

Zusammenfassung

Kosinus für Text. Einmalig vorab normalisieren und für mehr Geschwindigkeit das Skalarprodukt verwenden. Legen Sie die Metrik bei der Indexerstellung fest — eine spätere Änderung bedeutet, dass der Index neu erstellt werden muss.

Häufig gestellte Fragen

Ist die Lektion „Distanzmetriken auswählen (cosine, L2, dot)“ kostenlos?

Ja — der vollständige Text von „Distanzmetriken auswählen (cosine, L2, dot)“ 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 „Distanzmetriken auswählen (cosine, L2, dot)“?

Erfahren Sie, wann Sie cosine, L2 (euklidische Distanz) oder dot-product verwenden sollten – und warum die meisten Embedding-Modelle cosine bevorzugen. 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 4 von 4.

Wie lange dauert die Lektion „Distanzmetriken auswählen (cosine, L2, dot)“?

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. Pinecone, Weaviate, Qdrant: Vergleich
  2. Metadatenfilter für die hybride Suche
  3. Vektoren aktualisieren und löschen
  4. Distanzmetriken auswählen (cosine, L2, dot)
← Zurück zu AI Agents