Finance

RAG Lokal Tanpa API Embedding: Masih Layak di 2026?

RAG Lokal Tanpa API Embedding: Masih Layak di 2026?

Masih layak, tapi bukan karena hemat uang. Embedding API text-embedding-3-small cuma $0.02 per 1 juta token per November 2026, jadi korpus 5 juta token cuma $0.10 sekali embed. Alasan sebenarnya memilih lokal ada tiga: data tidak keluar server, tidak ada rate limit, dan tetap jalan saat internet mati. Kualitas juga sudah setara di kelas kecil. Qwen3-Embedding-0.6B berlisensi Apache 2.0 dengan konteks 32K, dan EmbeddingGemma 302,9 juta parameter jadi model multilingual teks terbaik di bawah 500 juta parameter menurut Google. Yang bikin RAG gagal biasanya bukan modelnya, tapi chunking dan evaluasi.

TL;DR

  • Biaya API embedding hampir nol untuk korpus kecil, jadi “hemat biaya” bukan alasan yang jujur untuk pindah ke lokal.
  • Argumen yang benar: kedaulatan data (UU PDP berlaku penuh sejak 17 Oktober 2024), offline, tanpa rate limit, dan model bisa di-pin versinya.
  • Tiga model yang layak dicoba: Qwen3-Embedding-0.6B (paling fleksibel), BGE-M3 (hybrid dense + sparse + ColBERT dalam satu model), EmbeddingGemma (paling ringan untuk perangkat kecil).
  • Ganti model embedding berarti wajib re-index seluruh koleksi, karena ruang vektornya beda dan tidak bisa dicampur.
  • Yang menentukan hasil akhir bukan model, tapi cara potong dokumen, hybrid search, dan set uji 30 pertanyaan.

Berapa Biaya Sebenarnya Kalau Pakai API Embedding?

Untuk korpus di bawah 50 juta token, API lebih murah daripada biaya listrik VPS yang menjalankannya. Harga resmi OpenAI untuk text-embedding-3-small adalah $0.02 per 1 juta token input, dan itu harga yang sama yang tercatat di direktori harga LiteLLM per 6 November 2026.

Hitungan kasarnya begini. Koleksi 1.000 dokumen dengan rata-rata 1.500 token berarti 1,5 juta token. Sekali embed penuh: $0.03. Kalau kamu re-index seluruh koleksi tiap bulan selama setahun, totalnya sekitar $0.36. Bahkan kalau koleksinya 10 kali lebih besar, angkanya masih di bawah $4 setahun.

Bandingkan dengan VPS kecil $5 per bulan, yang setahunnya $60 dan itu belum termasuk waktu ngoprek. Jadi kalau ada artikel yang bilang RAG lokal menghemat biaya besar, cek dulu ukuran korpusnya. Untuk skala kecil, klaim itu tidak berdiri.

Yang benar-benar mahal bukan token embedding, tapi kesalahan retrieval. Satu jawaban salah karena chunk yang dipotong asal-asalan bisa bikin tim kehilangan kepercayaan ke seluruh sistem, dan itu biayanya jauh di atas selisih $60.

Model Embedding Lokal Mana yang Layak di 2026?

Tiga nama yang paling masuk akal untuk dipakai sekarang, dengan catatan masing-masing. Angka di bawah dibaca dari kartu model resmi, bukan dari blog agregator.

model                    parameter    konteks   lisensi      kekuatan utama
Qwen3-Embedding-0.6B     0.6B         32K       Apache 2.0   instruksi per task, 100+ bahasa
BGE-M3                   XLM-R base   8192      MIT          dense + sparse + ColBERT
EmbeddingGemma           302,9 juta   n/a       Gemma        on-device, <500M parameter

Detail yang penting:

  • Qwen3-Embedding-0.6B mendukung dimensi keluaran 32 sampai 1024 dan bisa diatur per kebutuhan. Kartu modelnya menyebut pemakaian instruksi (Instruct: ... Query: ...) menaikkan skor 1% sampai 5% di sebagian besar task, dan instruksi sebaiknya ditulis dalam bahasa Inggris karena data latihnya begitu. Lisensi Apache 2.0, aman untuk produk komersial.
  • BGE-M3 menarik karena satu model bisa keluarkan tiga jenis representasi sekaligus: dense, sparse (bobot token mirip BM25), dan multi-vector ala ColBERT. Panjang input sampai 8192 token, 100 lebih bahasa. Kalau kamu ingin hybrid retrieval tanpa menambah model kedua, ini pilihan paling hemat langkah.
  • EmbeddingGemma dirilis 4 September 2025 dengan 302.863.104 parameter menurut metadata safetensors di Hugging Face. Klaim resminya: model multilingual teks dengan peringkat tertinggi di bawah 500 juta parameter pada MTEB. Lisensinya Gemma dan aksesnya gated, jadi perlu setuju lisensi dulu sebelum unduh.
  • Kelas 4B dan 8B ada, tapi jangan sentuh kalau mesinmu RAM 4 GB. Qwen3-Embedding-8B sempat menempati peringkat pertama MTEB multilingual dengan skor 70,58 per 5 Juni 2025, dan model sebesar itu butuh memori yang serius.

Untuk patokan umum, model 0.6B dalam FP16 memakan sekitar 1,2 GB RAM cuma untuk bobotnya. Dalam kuantisasi 4-bit turun ke kisaran 0,4 GB. Itu hitungan kasar dari jumlah parameter, bukan hasil benchmark.

Bangun RAG Lokal dalam 20 Menit

Jalur tercepat pakai Ollama, karena tidak perlu menulis kode server sendiri.

ollama pull qwen3-embedding:0.6b

curl http://localhost:11434/api/embed   -d '{"model":"qwen3-embedding:0.6b","input":"cara hitung PPN 11 persen"}'

Responsnya berisi array vektor. Simpan ke penyimpanan vektor apa pun yang kamu percaya. Untuk proyek kecil, ekstensi SQLite sqlite-vec (Apache 2.0, sekitar 8.200 bintang di GitHub per November 2026) cukup dan tidak butuh service tambahan. Untuk koleksi di atas satu juta chunk, PostgreSQL dengan pgvector atau Qdrant lebih masuk akal.

Kalau mau menjalankan model yang lebih besar, atau butuh mesin terpisah supaya laptop tetap ringan, sewa instance dengan RAM memadai lebih praktis. ECS generasi Intel ke-9 di Alibaba Cloud bisa jadi opsi untuk menaruh service embedding plus database vektor di satu host.

Urutan kerja yang jujur, tanpa lompat langkah:

  1. Kumpulkan 30 pertanyaan nyata yang orang benar-benar tanyakan ke datamu.
  2. Tandai jawaban yang benar untuk tiap pertanyaan, manual.
  3. Potong dokumen, embed, simpan.
  4. Ukur recall@5: berapa dari 30 pertanyaan yang jawabannya muncul di 5 hasil teratas.
  5. Baru setelah angka itu keluar, boleh bicara soal kualitas.

Tanpa langkah 1 dan 2, kamu cuma menebak.

Kapan RAG Lokal Masih Layak dan Kapan Sebaiknya Tidak?

Gunakan tabel keputusan sederhana ini, bukan perasaan.

  • Pilih lokal kalau: data berisi dokumen klien, rekam medis, kontrak, atau apa pun yang tidak boleh keluar dari jaringan. Sejak UU PDP berlaku penuh pada 17 Oktober 2024, memindahkan data pribadi ke penyedia luar negeri tanpa dasar pemrosesan yang jelas bukan cuma soal etika.
  • Pilih lokal kalau: sistem harus jalan di jaringan tertutup, di pabrik, di kapal, atau di kantor cabang dengan internet tidak stabil.
  • Pilih lokal kalau: volume query sangat tinggi dan kamu tidak mau kena rate limit di jam sibuk.
  • Pilih API kalau: korpusnya kecil, timnya cuma satu orang, dan yang dibutuhkan adalah prototipe minggu ini.
  • Pilih API kalau: kamu butuh model terbaru tiap kuartal dan tidak punya orang yang mau urus upgrade runtime.

Ada jalan tengah yang jarang dibahas: pakai gateway model terpusat supaya kunci API tidak tersebar di banyak service. NgodeAI termasuk opsi kalau kamu campur model lokal untuk embedding dan model hosted untuk generasi jawaban, karena satu titik kontrol lebih gampang diaudit daripada sepuluh file .env.

Jebakan yang Bikin RAG Lokal Gagal

Empat kesalahan ini muncul berulang, dan semuanya tidak ada hubungannya dengan kualitas model.

Pertama, potong dokumen tanpa melihat strukturnya. Memotong per 512 token buta akan memutus tabel, daftar bernomor, dan definisi pasal. Aturan praktis gue: potong per bagian, batasi 300 sampai 500 token, overlap 10 sampai 15 persen, dan jangan pernah memotong di tengah tabel. Angka ini heuristik, bukan hasil penelitian, jadi uji sendiri di datamu.

Kedua, cuma pakai dense retrieval. Query berisi kode error, nomor invoice, atau nama produk sering kalah oleh pencarian kata kunci biasa. Kalau modelmu BGE-M3, kamu sudah punya jalur sparse gratis. Kalau pakai Qwen3-Embedding, tambahkan BM25 di sampingnya lalu gabungkan skornya.

Ketiga, tidak pakai reranker. Ambil 30 kandidat dari retrieval, lalu susun ulang pakai cross-encoder (misalnya Qwen3-Reranker-0.6B atau bge-reranker-v2-m3). Biayanya kecil karena cuma menyentuh 30 dokumen, dan biasanya ini perubahan dengan hasil paling terasa dibanding ganti model embedding.

Keempat, ganti model tanpa re-index. Vektor dari model berbeda tidak berada di ruang yang sama. Mencampur vektor Qwen3-Embedding dengan BGE-M3 di satu indeks akan menghasilkan skor kemiripan yang tidak berarti apa-apa, dan gejalanya halus: hasilnya tidak error, cuma ngawur. Simpan nama model dan versinya di tabel metadata indeks, lalu tolak pencarian kalau modelnya tidak cocok.

Satu lagi yang sering luput: normalisasi. Sebagian model mengeluarkan vektor yang sudah dinormalisasi, sebagian belum. Kalau kamu menghitung cosine similarity manual sambil mencampur dua perilaku itu, peringkat hasilnya bisa kacau tanpa pesan error. Baca kartu modelnya, jangan asumsi.

Rekomendasi Tools & Layanan

  • Mesin untuk embedding service: kalau ingin menjalankan model 4B atau 8B tanpa mengganggu laptop, instance ECS di Alibaba Cloud memberi RAM dan disk yang cukup untuk bobot model plus indeks.
  • Coba dulu sebelum komit: halaman benefit Alibaba Cloud punya jalur uji yang tidak mengikat, cocok untuk mengukur throughput embedding sebelum memutuskan spesifikasi permanen.
  • Gateway model: NgodeAI membantu kalau arsitekturmu mencampur model lokal dan hosted dalam satu alur.
  • Penyimpanan vektor: sqlite-vec untuk proyek kecil, pgvector atau Qdrant kalau koleksinya sudah besar.
  • Patokan mutu: pantau MTEB Leaderboard, tapi ingat skor di sana diukur pada dataset benchmark, bukan pada datamu.

FAQ

Apakah RAG lokal masih layak di 2026?

Layak, dengan syarat alasanmu benar. Kalau motifnya penghematan biaya untuk korpus kecil, hitungannya kalah oleh API yang cuma $0.02 per 1 juta token. Kalau motifnya kedaulatan data, offline, atau bebas rate limit, lokal adalah pilihan yang tepat.

Berapa RAM minimum untuk embedding lokal?

Model 0.6B dalam FP16 sekitar 1,2 GB untuk bobot saja, ditambah overhead runtime dan batch. Mesin 4 GB masih bisa, 8 GB lebih nyaman. Model 4B dan 8B butuh kelas mesin yang berbeda.

Bisa campur dua model embedding dalam satu indeks?

Tidak bisa. Setiap model punya ruang vektor sendiri, jadi skor kemiripan antar model tidak sebanding. Kalau ganti model, re-index seluruh koleksi dan simpan nama model di metadata.

Perlu GPU?

Untuk 0.6B, CPU sudah cukup untuk re-index offline. GPU baru terasa perlu kalau kamu mengindeks ulang jutaan chunk setiap hari atau memakai model 4B ke atas.

Apakah Qwen3-Embedding aman untuk produk komersial?

Ya, lisensinya Apache 2.0 menurut kartu model di Hugging Face. Beda dengan EmbeddingGemma yang memakai lisensi Gemma dan aksesnya perlu persetujuan dulu.

Penutup

RAG lokal tanpa API embedding di 2026 bukan soal ideologi, tapi soal trade-off yang harus dihitung. Biaya API sudah sangat murah, jadi kalau yang kamu kejar cuma angka di tagihan, jawabannya sederhana: pakai API. Tapi begitu datamu sensitif, sistemnya harus jalan offline, atau kamu butuh versi model yang tidak berubah diam-diam, lokal jadi satu-satunya jalan yang masuk akal.

Yang membedakan RAG yang berguna dan yang cuma demo bukan model embedding-nya. Yang membedakan adalah potongan dokumen yang rapi, hybrid search, reranker, dan set uji kecil yang kamu ukur sebelum dan sesudah tiap perubahan. Mulai dari 30 pertanyaan, bukan dari model terbaru.

💬 Komentar (0)

Belum ada komentar. Jadilah yang pertama! 💬

Komentar yang memuat tautan, bahasa asing, atau aksara non-Latin ditahan dulu buat ditinjau.