AI-agenten · Les

Afstandsmetriek kiezen (cosinus, L2, dot)

Leer wanneer u cosinus-, L2- (Euclidische) of dot-productafstand kiest — en waarom de meeste embeddingmodellen de voorkeur geven aan cosinus.

Les 4 van 415 stappen

Afstandsmetriek kiezen (cosinus, L2, dot) is een gratis AI-agenten-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-agenten. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-agenten bevat in totaal 4 lessen.

Delen van deze les zijn nog niet vertaald en worden in het Engels weergegeven.

Drie veelgebruikte afstandsmetrieken

Met vectordatabases kun je een afstandsmetriek kiezen. De drie die je het vaakst tegenkomt:

  • Cosinusovereenkomst — de hoek tussen vectoren
  • Inwendig product — de projectie van de ene vector op de andere
  • Euclidische afstand (L2) — de afstand in een rechte lijn

Cosinus

Bereik: -1 tot 1. Hoger = meer overeenkomst.

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

Inwendig product

Bereik: -oneindig tot +oneindig. Hoger = meer overeenkomst.

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

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

Euclidische afstand (L2)

Bereik: 0 tot +oneindig. Lager = meer overeenkomst.

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

Welke moet je gebruiken?

Voor tekstembeddings geldt doorgaans:

  • OpenAI text-embedding-3 — cosinus (vectoren zijn vooraf genormaliseerd)
  • Cohere — cosinus
  • Sentence Transformers / BGE — meestal cosinus, controleer de modelkaart

Gebruik bij twijfel cosinus.

Inwendig product is gelijk aan cosinus bij normalisatie

Als |a| = |b| = 1, dan is cos(a,b) = a . b. Het inwendig product is sneller (geen deling) — productiesystemen gebruiken vaak het inwendig product op vooraf genormaliseerde vectoren.

Wanneer L2 wordt gebruikt

Sommige onderzoeksmodellen (oudere Sentence-BERT-varianten en image-embeddings) zijn getraind met de L2-afstand en presteren daarmee beter. Controleer altijd de modelkaart.

Waarom dit belangrijk is voor de index

De indexstructuur (HNSW, IVF, FAISS) is gebouwd voor een SPECIFIEKE metriek. Als je de metriek na het indexeren wijzigt, moet je de index meestal helemaal opnieuw opbouwen.

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)
)

Inconsistente metriek tussen systemen

Als je later opnieuw rangschikt met een cross-encoder, heeft die zijn eigen scoreschaal. Combineer metrieken niet in één samengestelde score zonder ze eerst te normaliseren.

Het verschil visualiseren

Voor twee eenheidsvectoren:

  • cos = 1, L2 = 0 -> identiek
  • cos = 0.5, L2 ~ 1 -> verwant
  • cos = 0, L2 ~ sqrt(2) -> orthogonaal
  • cos = -1, L2 = 2 -> tegengesteld

Eenmalig vooraf normaliseren

Normaliseren tijdens het opnemen is goedkoop (één deling). Het legt compatibiliteit met cosinus en het inwendig product vast en voorkomt dat je later per query moet normaliseren.

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

Standaardmetriek

Welke afstandsmetriek is de standaard voor OpenAI-tekstembeddings?

Samenvatting

Cosinus voor tekst. Normaliseer één keer vooraf en gebruik het inwendig product voor snelheid. Stel de metriek in bij het maken van de index — later wijzigen betekent dat je de index opnieuw moet opbouwen.

Gratis beginnen

Leer AI-agenten met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
60
Lessen
239

Veelgestelde vragen

Is de les “Afstandsmetriek kiezen (cosinus, L2, dot)” gratis?

Ja — de volledige tekst van “Afstandsmetriek kiezen (cosinus, L2, dot)” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus AI-agenten wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI-agenten bevat in totaal 4 lessen.

Wat leer ik in “Afstandsmetriek kiezen (cosinus, L2, dot)”?

Leer wanneer u cosinus-, L2- (Euclidische) of dot-productafstand kiest — en waarom de meeste embeddingmodellen de voorkeur geven aan cosinus. Je oefent met AI-agenten door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met AI-agenten te beginnen?

Ervaring vooraf is niet nodig. AI-agenten op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Afstandsmetriek kiezen (cosinus, L2, dot)”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over AI-agenten?

Ja. Elke les over AI-agenten bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Pinecone, Weaviate, Qdrant: vergelijking
  2. Metadat filtering voor hybride zoeken
  3. Vectoren bijwerken en verwijderen
  4. Afstandsmetriek kiezen (cosinus, L2, dot)
← Terug naar AI-agenten