AI Agents · Pelajaran

Memilih Metrik Jarak (cosine, L2, dot)

Pahami kapan memilih jarak cosine, L2 (Euclidean), atau dot-product—serta alasan sebagian besar model embedding lebih menyukai cosine.

Pelajaran 4 dari 415 langkah

Memilih Metrik Jarak (cosine, L2, dot) adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Tiga Metrik Umum

Basis data vektor memungkinkan Anda memilih metrik jarak. Tiga metrik yang paling sering ditemui:

  • Kesamaan cosine — sudut antara vektor
  • Produk dot — proyeksi salah satu vektor ke vektor lainnya
  • Euclidean (L2) — jarak garis lurus

Cosine

Rentang: -1 hingga 1. Lebih tinggi = lebih mirip.

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

Produk Dot

Rentang: -infinity hingga +infinity. Lebih tinggi = lebih mirip.

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

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

Euclidean (L2)

Rentang: 0 hingga +infinity. Lebih rendah = lebih mirip.

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

Mana yang Sebaiknya Digunakan?

Untuk embedding teks, konvensinya:

  • OpenAI text-embedding-3 — cosine (vektornya telah dinormalisasi sebelumnya)
  • Cohere — cosine
  • Sentence Transformers / BGE — biasanya cosine, periksa kartu modelnya

Jika ragu, gunakan cosine.

Dot Sama dengan Cosine Saat Dinormalisasi

Jika |a| = |b| = 1, maka cos(a,b) = a . b. Produk dot lebih cepat (tanpa pembagian) — sistem produksi sering menggunakan dot pada vektor yang telah dinormalisasi sebelumnya.

Kapan L2 Digunakan

Beberapa model penelitian (varian Sentence-BERT lama dan embedding gambar) dilatih dengan jarak L2 dan bekerja lebih baik dengan jarak tersebut. Selalu periksa kartu modelnya.

Mengapa Hal Ini Penting bagi Indeks

Struktur indeks (HNSW, IVF, FAISS) dibuat untuk metrik SPECIFIC. Mengubah metrik setelah pengindeksan biasanya berarti membangun ulang indeks dari awal.

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

Metrik yang Tidak Konsisten antar Sistem

Jika Anda melakukan pemeringkatan ulang dengan penyandi silang nanti, penyandi tersebut memiliki skala skor sendiri. Jangan mencampurkan metrik ke dalam satu gabungan skor tanpa melakukan normalisasi terlebih dahulu.

Memvisualisasikan Perbedaannya

Untuk dua vektor satuan:

  • cos = 1, L2 = 0 -> identik
  • cos = 0.5, L2 ~ 1 -> terkait
  • cos = 0, L2 ~ sqrt(2) -> ortogonal
  • cos = -1, L2 = 2 -> berlawanan

Normalisasi Awal Sekali

Normalisasi saat memasukkan data itu murah (satu pembagian). Hal ini memastikan kompatibilitas dengan cosine / dot dan menghindari normalisasi per query nantinya.

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

Metrik Bawaan

Untuk embedding teks OpenAI, metrik jarak apa yang menjadi bawaan?

Ringkasan

Cosine untuk teks. Lakukan normalisasi sebelumnya sekali, lalu gunakan produk dot untuk kecepatan. Tetapkan metrik saat membuat indeks — mengubahnya nanti berarti melakukan pembangunan ulang.

Gratis untuk memulai

Belajar AI Agents dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
60
Pelajaran
239

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memilih Metrik Jarak (cosine, L2, dot)” gratis?

Ya — teks lengkap “Memilih Metrik Jarak (cosine, L2, dot)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memilih Metrik Jarak (cosine, L2, dot)”?

Pahami kapan memilih jarak cosine, L2 (Euclidean), atau dot-product—serta alasan sebagian besar model embedding lebih menyukai cosine. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Memilih Metrik Jarak (cosine, L2, dot)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pinecone, Weaviate, Qdrant: Perbandingan
  2. Pemfilteran Metadata untuk Pencarian Hibrida
  3. Memperbarui dan Menghapus Vektor
  4. Memilih Metrik Jarak (cosine, L2, dot)
← Kembali ke AI Agents