๐ง Day 3 โ RAG Demystified: Retrieval-Augmented Generation & Agentic RAG โ
Minggu 2 ยท Hari 3 โ Purple Day (Core Skills) Topik: Konsep RAG, embedding model & vector, semantic search, vector database, agentic RAG vs traditional RAG, pengenalan Supabase
๐ Daftar Isi โ
- Recap API & Webhook
- Apa Itu RAG?
- Embedding Model & Vector
- Semantic Search & Vector Database
- RAG Pipeline Lengkap
- Agentic RAG vs Traditional RAG
- Pengenalan Supabase
- Rangkuman & Poin Penting
๐ก Recap API & Webhook โ
Sebelum masuk ke topik RAG, instruktur memberikan review singkat terminologi API:
| Istilah | Definisi Singkat |
|---|---|
| Calling API | Membuat web request via HTTP ke sebuah endpoint (URL) |
| Endpoint | URL tujuan API call |
| Webhook | URL yang kamu sediakan agar pihak lain bisa memanggil-mu (reverse API) |
| HTTP GET | Mengambil data (response JSON) |
| HTTP POST | Mengirim data dengan body berisi JSON |
Hari sebelumnya, kita menggunakan webhook saat ElevenLabs memanggil n8n โ LLM di 11Labs membuat HTTP POST ke webhook n8n, mengirim pertanyaan dalam body, dan n8n merespons dengan jawaban.
๐ฏ Apa Itu RAG? โ
RAG = Retrieval-Augmented Generation โ teknik untuk membuat LLM terlihat lebih berpengetahuan dengan cara menyisipkan informasi relevan ke dalam prompt, bukan dengan melatih ulang model.
Ide Kecil (Small Idea) โ
"Masukkan saja informasi tambahan ke dalam prompt!"
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โ Pertanyaan โโโโโถโ Prompt + Konteks โโโโโถโ LLM โ
โ User โ โ Tambahan โ โ โ
โ โ โ "Harga tiket ke โ โ Jawaban โ
โ โ โ London = $599..." โ โ akurat โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโMasalah: Tidak scalable! Jika punya harga tiket ke semua kota di dunia, tidak mungkin memasukkan semuanya ke prompt.
Ide Besar (Big Idea) โ
"Bagaimana caranya memilih subset data yang relevan untuk dimasukkan ke prompt?"
Inilah inti sebenarnya dari RAG โ sebuah trik cerdas (yang pada dasarnya adalah "hack") untuk menemukan dan memilih data paling relevan dari seluruh knowledge base.
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โ Pertanyaan โโโโโถโ Cari data โโโโโถโ Prompt + โโโโโถโ LLM โ
โ User โ โ relevan di โ โ subset data โ โ โ
โ โ โ knowledge โ โ relevan โ โ Jawaban โ
โ โ โ base โ โ โ โ akurat โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ๐ก Insight Kunci: RAG pada dasarnya adalah hack yang bekerja sangat baik. Ada seluruh "cottage industry" teknik-teknik lanjutan di sekitarnya, tapi prinsip dasarnya sederhana: cari data relevan, masukkan ke prompt.
๐งฎ Embedding Model & Vector โ
Apa Itu Embedding Model? โ
Embedding model adalah jenis LLM yang berbeda dari yang biasa kita gunakan. Alih-alih memprediksi teks selanjutnya, ia mengubah teks menjadi sekumpulan angka (vector) yang merepresentasikan makna dari teks tersebut.
| Nama Lain | Jenis |
|---|---|
| Embedding Model | Nama paling umum |
| Encoder | Nama teknis |
| Embedding LLM | Menekankan bahwa ini jenis LLM |
| Vector Embedding Model | Nama lengkap |
| Embedder | Nama singkat |
Cara Kerja โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ INPUT โ โ EMBEDDING MODEL โ โ OUTPUT โ
โ "Berapa harga โโโโโถโ โโโโโถโ [0.23, -0.47, โ
โ tiket ke โ โ (mis. OpenAI โ โ 0.82, 0.15, โ
โ London?" โ โ embedding โ โ -0.33, ...] โ
โ โ โ small) โ โ โ
โ Teks biasa โ โ โ โ 1536 angka โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโKonsep Vektor dalam Ruang Dimensi โ
- 3 angka = titik dalam ruang 3D (x, y, z) โ mudah divisualisasikan
- 1536 angka = titik dalam ruang 1536 dimensi โ tidak bisa divisualisasikan, tapi prinsip sama
y
โฒ
โ โ "Harga tiket London"
โ โ "Biaya ke Heathrow"
โ (DEKAT = makna mirip!)
โ
โ โ "Cuaca di Tokyo"
โ (JAUH = makna beda)
โโโโโโโโโโโโโโโโโโโโโโโโโโโถ xProperti Kunci โ
Teks dengan makna serupa akan menghasilkan vektor yang berdekatan dalam ruang multidimensi.
| Teks A | Teks B | Jarak Vektor | Makna |
|---|---|---|---|
| "Berapa harga tiket ke London?" | "Biaya perjalanan ke Heathrow" | Dekat | Makna serupa |
| "Berapa harga tiket ke London?" | "Ramalan cuaca Tokyo hari ini" | Jauh | Makna berbeda |
โ ๏ธ Penting: Kedekatan vektor diukur menggunakan cosine similarity (bukan sekadar jarak Euclidean), tapi untuk pemahaman konseptual, "dekat = mirip" sudah cukup.
๐ Semantic Search & Vector Database โ
Semantic Search โ
Kemampuan untuk mencari data berdasarkan makna, bukan kecocokan kata literal. Inilah yang membedakan RAG dari pencarian keyword biasa.
Pencarian Keyword:
Query: "Heathrow" โ Cari kata "Heathrow" di database
Hasil: โ Tidak ditemukan (database hanya punya "London")
Semantic Search (RAG):
Query: "Biaya ke Heathrow" โ Ubah ke vektor โ Cari vektor terdekat
Hasil: โ
"Harga tiket London $599" ditemukan (makna serupa!)Vector Database โ
Database yang dioptimalkan untuk menyimpan vektor dan melakukan pencarian kesamaan (similarity search) secara efisien.
| Database | Tipe | Dukungan Vektor |
|---|---|---|
| Supabase (Postgres) | Relational + Vector | โ Via pgvector extension |
| Pinecone | Vector-native | โ Khusus vektor |
| Weaviate | Vector-native | โ Khusus vektor |
| MongoDB | Document + Vector | โ Atlas Vector Search |
| Qdrant | Vector-native | โ Khusus vektor |
๐ก Tren: Dulu hanya database khusus vektor yang bisa melakukan ini. Sekarang hampir semua database mainstream sudah mendukung vektor.
๐ RAG Pipeline Lengkap โ
Diagram Flow RAG โ
โโโโโโโโโโโโโโโโ
โ User bertanyaโ
โ "Berapa โ
โ biaya ke โ
โ Heathrow?" โ
โโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโผโโโโโโโโ โโโโโโโโโโโโโโโโโ
โ n8n / Code โโโโโถโ Embedding โ
โ โ โ Model โ
โ โ โ (vectorize โ
โ โ โ pertanyaan) โ
โ โ โโโโโโโโโฌโโโโโโโโ
โ โ โ Vector pertanyaan
โ โ โโโโโโโโโผโโโโโโโโ
โ โโโโโถโ Vector DB โ
โ โ โ (cari vektor โ
โ โ โ terdekat) โ
โ โ โโโโโโโโโฌโโโโโโโโ
โ โ โ Teks relevan (BUKAN vektor!)
โ โ โโโโโโโโโผโโโโโโโโ
โ โโโโโถโ LLM โ
โ โ โ Prompt: โ
โ โ โ "User tanya: โ
โ โ โ ... Konteks โ
โ โ โ relevan: โ
โ โ โ ..." โ
โ โ โโโโโโโโโฌโโโโโโโโ
โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโผโโโโโโโ
โ Jawaban โ
โ akurat โ
โ ke user โ
โโโโโโโโโโโโโโโโโPoin Penting yang Sering Disalahpahami โ
โ ๏ธ LLM yang menjawab pertanyaan TIDAK menerima vektor! LLM itu hanya menerima teks biasa. Vektor hanya digunakan untuk proses pencarian di tengah. Setelah teks relevan ditemukan, yang dikirim ke LLM adalah teks asli, bukan angka-angka vektor.
Embedding Model โ LLM Penjawab
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โข Bisa dari vendor berbeda
โข Bisa dari keluarga model berbeda
โข Embedding model: hanya untuk pencarian
โข LLM penjawab: hanya menerima teksUse Case Bisnis RAG โ
| Skenario | Contoh |
|---|---|
| HR Knowledge Worker | Agent yang tahu semua kebijakan & data karyawan |
| Product Expert | Agent yang tahu seluruh katalog produk |
| Customer Support | Agent yang bisa menjawab FAQ dari ribuan dokumen |
| Internal Knowledge Base | Agent yang menguasai semua dokumentasi perusahaan |
| Legal/Compliance Assistant | Agent yang tahu semua regulasi dan prosedur |
โ๏ธ Agentic RAG vs Traditional RAG โ
Traditional RAG โ
Alur linear dan deterministik โ kode menentukan cara pengambilan data.
User โ Pertanyaan โ Vector Retrieval โ Prompt + Konteks โ LLM โ Jawaban
(linear, code-driven, satu kali retrieval)Agentic RAG โ
LLM yang mengontrol bagaimana pencarian dilakukan โ bisa iteratif, bisa menggunakan berbagai tools.
User โ Pertanyaan โ AI Agent (LLM) โโโฌโโโถ Tool: Vector Retrieval
โฒ โโโโถ Tool: SQL Query
โ โโโโถ Tool: API Call
โ โโโโถ Tool: Lainnya
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
(iteratif, LLM memutuskan
tools mana yang dipakai)Perbandingan โ
| Aspek | Traditional RAG | Agentic RAG (โ ) |
|---|---|---|
| Kontrol alur | Kode/developer | LLM (autonomous) |
| Jenis retrieval | Satu metode (vektor saja) | Multiple (vektor, SQL, API, dll.) |
| Iterasi | Sekali jalan | Bisa berulang sampai konteks cukup |
| Fleksibilitas | Rendah | Tinggi |
| Kompleksitas | Sederhana | Lebih kompleks |
| Kualitas hasil | Baik | Lebih baik (lebih adaptif) |
Apakah RAG Sudah "Mati"? โ
Dua alasan orang bilang "RAG is dead":
Context window makin besar โ "Masukkan saja semua data ke context window!"
- โ Red herring โ data enterprise bisa gigabyte, tidak muat. Dan membuang compute.
Agentic RAG menggantikan traditional RAG
- โ Benar secara evolusi โ Agentic RAG adalah penerus natural dari RAG
- Tapi ini bukan berarti RAG mati, hanya berevolusi
๐ฏ Kesimpulan: "Long live Agentic RAG!" โ Ini adalah cara kita melakukan RAG saat ini.
๐๏ธ Pengenalan Supabase โ
Supabase adalah managed cloud platform untuk database PostgreSQL โ sangat populer di kalangan startup dan agency.
Mengapa Supabase? โ
| Alasan | Penjelasan |
|---|---|
| Sangat populer | Digunakan banyak startup dan mid-size companies |
| Mudah digunakan | User-friendly, startup-friendly |
| Free tier generis | Unlimited API requests, 50K monthly active users |
| Mendukung vector embeddings | PostgreSQL + pgvector extension |
| Ada n8n node | Supabase Vector Store node tersedia di n8n |
| Skill transferable | Pengalaman integrasi berguna untuk proyek lain |
Setup Awal โ
- Buka supabase.com โ Sign Up
- Buat Organization (nama: "[Nama]Research" atau "[Nama]Education")
- Pilih region terdekat
- Eksplorasi dashboard, pricing, dan dokumentasi
Apa yang Akan Dibangun โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Google โโโโโถโ n8n โโโโโถโ Supabase โโโโโถโ Voice Agent โ
โ Sheets โ โ Data โ โ Vector DB โ โ (11Labs + โ
โ (Product โ โ Ingest โ โ (Knowledge โ โ n8n RAG) โ
โ Data) โ โ Pipeline โ โ Base) โ โ โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
Day 4 Day 4 Day 4 Day 5๐ Rangkuman โ
Konsep-Konsep Kunci โ
| # | Konsep | Satu Kalimat |
|---|---|---|
| 1 | RAG | Teknik menyisipkan data relevan ke prompt agar LLM lebih pintar |
| 2 | Embedding Model | LLM khusus yang mengubah teks menjadi vektor (angka) |
| 3 | Vector | Sekumpulan angka yang merepresentasikan makna teks |
| 4 | Semantic Search | Pencarian berdasarkan makna, bukan kecocokan kata |
| 5 | Vector Database | Database yang efisien menyimpan & mencari vektor |
| 6 | Cosine Similarity | Metrik untuk mengukur kedekatan dua vektor |
| 7 | Agentic RAG | RAG di mana LLM mengontrol proses retrieval secara otonom |
| 8 | Supabase | Managed PostgreSQL + pgvector untuk vector storage |
Teknik RAG Lanjutan (Untuk Eksplorasi Mandiri) โ
| Teknik | Deskripsi Singkat |
|---|---|
| Graph RAG | RAG menggunakan knowledge graph |
| Hierarchical RAG | RAG dengan retrieval berlapis |
| Reranking | Menggunakan LLM untuk mengurutkan ulang hasil retrieval |
| Semantic Chunking | Memecah dokumen berdasarkan kesamaan makna |
| RAG Evaluation | Mengukur kualitas retrieval dan respons (MRI, dll.) |
๐ Pencapaian โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
Memahami RAG: ide kecil & ide besar โ
โ โ
Mengerti cara kerja embedding model & vector โ
โ โ
Memahami semantic search vs keyword search โ
โ โ
Mengenal vector database dan Supabase โ
โ โ
Membedakan Traditional RAG vs Agentic RAG โ
โ โ
Setup akun Supabase โ
โ โ
โ ๐ Progress Kursus: 53% โโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโSelanjutnya: Membangun data ingest pipeline โ Extract, Transform, Chunk, Vectorize, Load ke Supabase.