Semantic Search & RAG
Apa itu Semantic Search? 🤔
Semantic Search adalah metode pencarian informasi yang berfokus pada makna (semantik) di balik kueri maupun dokumen, bukan sekadar pencocokan kata‐kunci (keyword matching).
Dengan menggunakan vector embedding—representasi numerik ber‐dimensi tinggi dari teks, gambar, atau multimodal data—semantic search mampu:
- Memahami sinonim, parafrasa, konteks, dan hubungan antar‐konsep.
- Menemukan dokumen yang relevan meski tak mengandung kata‐kunci yang sama persis.
- Memberi peringkat hasil berdasarkan kemiripan semantik (cosine similarity, dot product, dst.).
Mengapa Perlu Semantic Search?
Traditional Keyword Search | Semantic Search |
---|---|
Cocok literal exact match. | Pahami konteks & sinonim. |
Mudah bias terhadap urutan kata. | Toleran variasi bahasa. |
Cepat & ringan. | Lebih akurat namun butuh vector index. |
Sulit atasi pertanyaan kompleks. | Jawaban relevan pada pertanyaan natural. |
Cara Kerja Secara Singkat ⚙️
- Embedding
- Teks ⇒ model (e.g. BERT, OpenAI ada
text-embedding-3-small
, dll) ⇒ vektor dimensi d.
- Teks ⇒ model (e.g. BERT, OpenAI ada
- Indexing
- Simpan vektor dalam Vector Database (Pinecone, Weaviate, Qdrant, Milvus, Elastic, dll).
- Query → Vector
- Kuota gubahan pertanyaan = embed query.
- Nearest Neighbor Search
- Algoritma ANN (HNSW, IVF‐Flat, ScaNN) temukan
k
vektor terdekat.
- Algoritma ANN (HNSW, IVF‐Flat, ScaNN) temukan
- Ranking & Post-Processing
- (Opsional) Re-ranker cross-encoder, filter meta data, atau LLM‐based rerank.
Kapan Sebaiknya Digunakan?
- FAQ bertumpuk / knowledge‐base yang besar.
- Pencarian produk e-commerce dengan deskripsi panjang.
- Sistem rekomendasi konten.
- Chatbot enterprise yang harus konsisten menjawab pertanyaan domain‐spesifik.
Komponen Teknis Utama
Komponen | Fungsi | Contoh Tools |
---|---|---|
Embedding Model | Ubah teks → vektor | SentenceTransformers, OpenAI Embedding, Cohere |
Vector DB / ANN Index | Simpan & cari vektor | Pinecone, Weaviate, Qdrant, FAISS |
Metadata Store | Simpan atribut dokumen | PostgreSQL, Elastic, RedisJSON |
Reranker (Opsional) | Tingkatkan presisi | Cohere Rerank, Cross‐Encoder, RankGPT |
Apa itu RAG (Retrieval-Augmented Generation)? 📚➕🧠
Retrieval-Augmented Generation (RAG) adalah pola arsitektur di mana Large Language Model (LLM) menggabungkan hasil retrieval (semantic search) ke context window sebelum proses generation. Tujuannya:
- Meningkatkan akurasi (grounded answer).
- Memperluas knowledge cut-off LLM tanpa pelatihan ulang.
- Meminimalkan hallucination.
- Menjaga kerahasiaan data (karena tak perlu fine-tune LLM publik).
Dua Tahap Utama RAG
- Retrieval
- Jalankan semantic search (vector) + filter metadata.
- Dapatkan top-k dokumen (chunks).
- Generation
- Sisipkan dokumen terpilih sebagai context (prompt) → LLM menghasilkan jawaban ter‐grounding.
Implementasi Semantik Searh dan RAG di Mister AI
Untuk menggunakan fitur semantic search pada Agent AI, kamu hanya perlu melakukan checklist pada menu User Vector Search didalam Agent AI, isi score Minimum 0-1 untuk menentukan seberapa akurat pencarianya.
Dengan mengaktifkan fitur Vector Search, tentu saja penggunaan Kredit akan semakin hemat, kamu bisa melakukan tunning dan melihat log supaya sistem pencarian lebih akurat.