0Pricing
Learn AI with Python · Pelajaran

Pengantar Basis Data Vektor

Mengapa basis data vektor diperlukan, FAISS untuk pencarian kemiripan lokal, serta penyimpanan embedding untuk pengambilan data oleh kecerdasan buatan.

Pengantar Basis Data Vektor adalah pelajaran Learn AI with Python 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Melampaui Kecocokan Persis

Basis data tradisional menemukan baris berdasarkan nilai yang persis (WHERE name = "x"). Namun, AI bekerja dengan representasi vektor — vektor yang menangkap makna — dan Anda sering kali menginginkan elemen yang paling serupa dengan kueri, bukan kecocokan persis.

Basis data vektor dibuat agar pencarian berdasarkan kemiripan ini berlangsung cepat.

Apa Itu Representasi Vektor

Representasi vektor adalah daftar angka (sebuah vektor) yang mewakili teks, gambar, atau audio sehingga elemen yang serupa berada berdekatan dalam ruang vektor.

Pencarian semantik, rekomendasi, dan generasi berbantuan pengambilan (RAG) semuanya bertumpu pada representasi vektor.

import numpy as np

# A toy 4-dim embedding for a sentence
vec = np.array([0.12, -0.43, 0.88, 0.05], dtype="float32")
print(vec.shape)   # (4,)

Mengapa Bukan Basis Data Biasa

Membandingkan kueri dengan jutaan vektor menggunakan perulangan pemeriksaan menyeluruh berlangsung lambat. Basis data vektor menggunakan indeks khusus dan perhitungan jarak untuk mengembalikan tetangga terdekat dalam hitungan milidetik.

Basis data tersebut juga dapat diskalakan, menyimpan data secara permanen, dan menangani metadata bersama vektor.

Mengukur Kemiripan

Kedekatan diukur dengan metrik jarak:

  • L2 (Euklides) — jarak garis lurus; semakin kecil berarti semakin dekat
  • Kosinus — sudut antara vektor; cocok untuk teks

FAISS mendukung beberapa metrik; kita akan menggunakan L2.

Memperkenalkan FAISS

FAISS (Pencarian Kemiripan AI Facebook) adalah pustaka cepat dan gratis untuk pencarian vektor. Pustaka ini berjalan secara lokal tanpa server — ideal untuk belajar dan membuat prototipe.

import faiss
import numpy as np
# pip install faiss-cpu

Membuat Indeks dengan IndexFlatL2

IndexFlatL2(dim) membuat indeks datar (pemeriksaan menyeluruh, persis) menggunakan jarak L2. Anda harus memberi tahu indeks tersebut dimensi vektor Anda.

"Datar" berarti hasil yang persis — sempurna untuk koleksi kecil hingga menengah.

import faiss

dim = 4
index = faiss.IndexFlatL2(dim)
print(index.is_trained)   # True (flat index needs no training)

Menambahkan Vektor dengan index.add

Masukkan representasi vektor Anda sebagai larik NumPy 2D berisi bilangan pecahan 32-bit dengan bentuk (n, dim). index.add menyimpannya; index.ntotal melaporkan jumlahnya.

import numpy as np

embeddings = np.random.random((100, dim)).astype("float32")
index.add(embeddings)
print(index.ntotal)   # 100

Mencari dengan index.search

index.search(query, k) mengembalikan k vektor terdekat. Hasilnya berupa dua larik: jarak D dan indeks I (posisi dalam urutan saat Anda menambahkannya).

query = np.random.random((1, dim)).astype("float32")
D, I = index.search(query, k=5)
print("nearest ids:", I[0])
print("distances:", D[0])

Dari Indeks Kembali ke Elemen

FAISS mengembalikan posisi, bukan data asli Anda. Simpan daftar paralel (atau basis data) yang memetakan posisi indeks ke elemen sebenarnya agar Anda dapat mencari hasilnya.

docs = ["doc about cats", "doc about dogs", "doc about cars"]
# after search:
for pos in I[0]:
    print(docs[pos])   # map id -> original document

Alur Kerja Pencarian Semantik Sederhana

Pola lengkapnya: ubah dokumen Anda menjadi representasi vektor, tambahkan ke indeks, ubah kueri menjadi representasi vektor, lakukan pencarian, lalu kembalikan dokumen yang cocok. (Model representasi seperti sentence-transformers menghasilkan vektor tersebut.)

import faiss, numpy as np

# doc_vectors: (n, dim) from an embedding model
index = faiss.IndexFlatL2(doc_vectors.shape[1])
index.add(doc_vectors)

# query_vec: (1, dim) embedding of the user query
D, I = index.search(query_vec, k=3)
results = [docs[i] for i in I[0]]
print(results)

Kapan Menggunakan Basis Data Vektor

Gunakan basis data vektor saat Anda memerlukan:

  • Pencarian semantik pada teks atau gambar
  • Rekomendasi berdasarkan kemiripan
  • RAG: pengambilan konteks yang relevan untuk LLM

FAISS sangat baik untuk penggunaan lokal; opsi terkelola (Pinecone, Weaviate, pgvector) menambahkan persistensi dan kemampuan untuk diskalakan.

Pemeriksaan Singkat: Pencarian FAISS

Anda memanggil index.search(query, k=5) pada indeks FAISS.

Ringkasan: Basis Data Vektor

Anda telah mempelajari dasar-dasar pencarian berdasarkan kemiripan:

  • Representasi vektor menempatkan elemen yang serupa berdekatan dalam ruang vektor
  • Basis data vektor membuat pencarian tetangga terdekat berlangsung cepat dalam skala besar
  • FAISS IndexFlatL2(dim) membuat indeks L2 yang persis
  • index.add(embeddings) menyimpan vektor; index.search(query, k) mengembalikan jarak dan indeks
  • Petakan indeks yang dikembalikan kembali ke elemen asli Anda

Dengan demikian, pembahasan basis data selesai. Selanjutnya: menyusun proyek AI dengan Git.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengantar Basis Data Vektor” gratis?

Ya — teks lengkap “Pengantar Basis Data Vektor” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pengantar Basis Data Vektor”?

Mengapa basis data vektor diperlukan, FAISS untuk pencarian kemiripan lokal, serta penyimpanan embedding untuk pengambilan data oleh kecerdasan buatan. Kamu berlatih Learn AI with Python 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 Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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 “Pengantar Basis Data Vektor” 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 Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python 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. SQLite dengan Modul sqlite3 Python
  2. Integrasi Pandas dan SQL
  3. Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin
  4. Pengantar Basis Data Vektor
← Kembali ke Learn AI with Python