Kemiripan Kosinus untuk Pengambilan
Kemiripan kosinus mengukur sudut antara dua vektor—metrik jarak standar untuk pencarian semantik.
Kemiripan Kosinus untuk Pengambilan adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 3 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.
Mengukur Kemiripan
Seberapa dekat dua vektor? Tiga metrik jarak yang umum:
- Kemiripan kosinus — sudut antara vektor
- Hasil kali titik — proyeksi
- Jarak Euklides (L2) — jarak garis lurus
Untuk representasi vektor teks, kosinus adalah pilihan bawaan.
Rumus Kemiripan Kosinus
Untuk vektor A dan B:
cos(A, B) = (A . B) / (|A| * |B|)
Hasilnya berada di antara -1 dan 1:
- 1 = arah identik
- 0 = ortogonal (tidak berkaitan)
- -1 = berlawanan
Dalam Python dengan NumPy
Implementasi langsung:
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)) # lowVektor yang Sudah Dinormalisasi
Jika vektor penyematan Anda sudah dinormalisasi (vektor milik OpenAI sudah demikian), kosinus = hasil kali titik, sehingga Anda dapat melewati pembagian:
def cosine_normalized(a, b):
return np.dot(a, b) # fasterPengambilan K Teratas
Untuk menemukan K dokumen yang paling mirip dengan sebuah kueri, hitung kemiripan dengan setiap dokumen lalu urutkan:
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]Penskalaan
Pendekatan naif untuk K teratas memerlukan O(N) untuk setiap kueri—cukup baik untuk 10 ribu dokumen, tetapi lambat untuk 10 juta dokumen. Untuk korpus besar, gunakan indeks tetangga terdekat aproksimatif (ANN): HNSW, IVF, FAISS.
Mengapa Bukan Euclidean?
Jarak L2 menganggap LENGTH vektor bermakna. Untuk vektor penyematan, arah lebih penting daripada besarannya—itulah alasan kosinus lebih unggul.
(Untuk vektor yang dinormalisasi, L2 dan kosinus menghasilkan pemeringkatan yang sama, jadi perbedaannya tidak penting.)
Hasil Kali Titik vs Kosinus
Jika vektor sudah dinormalisasi, hasil kali titik = kosinus dan lebih cepat (tanpa pembagian). Sebagian besar sistem produksi menggunakan hasil kali titik pada vektor yang dinormalisasi.
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 ParisPengambilan Hibrida
Gabungkan kemiripan kosinus dengan pencarian kata kunci (BM25) untuk mendapatkan keunggulan keduanya—semantik + pencocokan persis. Sebagian besar sistem produksi kini menggunakan pengambilan hibrida.
Penyaringan Berbasis Ambang
Buang hasil di bawah ambang kemiripan agar tidak memasukkan konteks yang tidak relevan ke LLM:
results = [r for r in retrieved if r.score > 0.7]Rentang Kosinus
Berapakah rentang nilai kemiripan kosinus?
Ringkasan
Kemiripan kosinus adalah metrik standar untuk pengambilan vektor penyematan. Gabungkan dengan pencarian hibrida dan ANN untuk skala produksi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Kemiripan Kosinus untuk Pengambilan” gratis?
Ya — teks lengkap “Kemiripan Kosinus untuk Pengambilan” 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 “Kemiripan Kosinus untuk Pengambilan”?
Kemiripan kosinus mengukur sudut antara dua vektor—metrik jarak standar untuk pencarian semantik. 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 3 dari 4.
Berapa lama pelajaran “Kemiripan Kosinus untuk Pengambilan” 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
- Apa Itu Embedding (Representasi Vektor)
- Membuat Embedding dengan text-embedding-3
- Kemiripan Kosinus untuk Pengambilan
- Perbandingan Model Embedding (OpenAI vs Cohere vs OSS)