- Pengenalan Vector Database
- Embeddings — Representasi Data sebagai Vektor
- Setup Pinecone
- CRUD Operations — Upsert, Query, Delete
- Similarity Search & Filtering
- RAG — Retrieval Augmented Generation
- Use Cases: Semantic Search & Recommendation
- Pinecone vs Alternatives
- Best Practices & Optimasi
- Quiz Pemahaman
1. Pengenalan Vector Database
Vector Database adalah database khusus yang menyimpan dan mengelola data dalam bentuk vektor (angka berdimensi tinggi). Berbeda dari database tradisional yang mencari data berdasarkan keyword yang persis sama, vector database mencari data berdasarkan kemiripan makna (semantic similarity).
Bayangkan Anda mencari "sepatu olahraga" di database tradisional — hanya menemukan dokumen yang mengandung kata "sepatu olahraga". Di vector database, Anda bisa menemukan dokumen tentang "running shoes", "sneakers untuk jogging", atau "footwear aktivitas fisik" — karena semua ini memiliki makna yang mirip.
Mengapa Vector Database Penting?
| Use Case | Contoh Aplikasi | Mengapa Butuh Vector DB? |
|---|---|---|
| Semantic Search | Search engine cerdas | Cari berdasarkan makna, bukan keyword |
| RAG (Retrieval Augmented Generation) | ChatGPT + knowledge base | LLM bisa jawab pertanyaan dari data Anda |
| Recommendation | Produk serupa | Temukan item dengan embedding mirip |
| Image Search | Pencarian gambar visual | Gambar → vektor → cari kemiripan |
| Anomaly Detection | Deteksi fraud | Data outlier punya vektor jauh dari cluster |
| Clustering | Pengelompokan otomatis | Group data berdasarkan kemiripan semantik |
Apa itu Pinecone?
Pinecone adalah vector database managed (fully hosted) yang paling populer. Keunggulan Pinecone: tidak perlu setup server, skalabilitas otomatis, latensi rendah (<50ms), dan integrasi mudah dengan ekosistem AI/ML seperti OpenAI, LangChain, dan LlamaIndex.
2. Embeddings — Representasi Data sebagai Vektor
Embedding adalah proses mengubah data (teks, gambar, audio) menjadi vektor angka berdimensi tinggi. Vektor ini merepresentasikan "makna" atau "fitur" dari data tersebut dalam ruang matematika.
Model Embedding Populer
| Model | Dimensi | Provider | Cocok Untuk |
|---|---|---|---|
| text-embedding-3-small | 1536 | OpenAI | Teks umum, cost-effective |
| text-embedding-3-large | 3072 | OpenAI | Teks, akurasi tinggi |
| all-MiniLM-L6-v2 | 384 | Sentence Transformers | Gratis, cepat, lokal |
| multilingual-e5-large | 1024 | Microsoft | Multilingual (termasuk Indonesia) |
| embed-english-v3.0 | 1024 | Cohere | Teks bahasa Inggris |
| gecko | 768 | Multi-purpose |