Pemrograman & AI

Menambahkan Fitur AI ke Aplikasi dengan RAG: Konsep, Arsitektur, dan Biayanya

Penjelasan Retrieval-Augmented Generation (RAG) untuk programmer: kapan dibutuhkan, alur kerja dari dokumen sampai jawaban, contoh perhitungan biaya API, cara menguji kualitas jawaban, dan hal yang perlu dijaga di aplikasi kesehatan.

Klien sering meminta, "Bisa tidak aplikasinya menjawab pertanyaan staf berdasarkan SOP kita?" Model bahasa besar (LLM) pintar menjawab pertanyaan umum, tetapi tidak mengenal dokumen internal perusahaan Anda. Pendekatan yang paling banyak dipakai untuk kebutuhan ini adalah RAG (Retrieval-Augmented Generation).

Apa itu RAG?

Idenya sederhana: sebelum bertanya ke model, aplikasi mencari potongan dokumen yang relevan lebih dulu, lalu menyertakan potongan itu di dalam prompt. Model menjawab berdasarkan dokumen yang diberikan, bukan hanya dari pengetahuan umumnya.

Keuntungannya dibanding melatih ulang model:

  • Dokumen bisa diperbarui kapan saja tanpa melatih ulang apa pun.
  • Jawaban bisa menyertakan sumber, sehingga pengguna bisa memeriksanya.
  • Hak akses bisa dijaga: pengguna hanya dicarikan dokumen yang boleh ia baca.

Alur kerja RAG

  1. Siapkan dokumen. Kumpulkan SOP, panduan, atau FAQ. Bersihkan dari halaman kosong, header berulang, dan versi lama.
  2. Pecah menjadi potongan (chunk), misalnya beberapa ratus kata per potongan, dengan sedikit tumpang tindih agar konteks tidak terputus. Simpan juga judul dokumen dan bagiannya sebagai metadata.
  3. Buat embedding, yaitu representasi angka dari setiap potongan, lalu simpan di database yang mendukung pencarian vektor.
  4. Saat ada pertanyaan, buat embedding dari pertanyaan, cari beberapa potongan yang paling mirip. Banyak sistem menggabungkannya dengan pencarian kata kunci biasa agar istilah khusus dan kode tidak terlewat.
  5. Susun prompt berisi instruksi, potongan dokumen yang ditemukan, dan pertanyaan pengguna. Instruksikan model untuk menjawab hanya berdasarkan dokumen dan mengatakan tidak tahu bila jawabannya tidak ada.
  6. Tampilkan jawaban beserta sumbernya.

Contoh perhitungan biaya

Asisten SOP untuk staf klinik menerima 300 pertanyaan per hari, 22 hari kerja per bulan. Setiap permintaan berisi instruksi dan pertanyaan sekitar 700 token, ditambah 5 potongan dokumen masing-masing sekitar 500 token, sehingga totalnya sekitar 3.200 token input. Jawaban rata-rata 400 token. Dengan harga contoh USD 3 per 1 juta token input dan USD 15 per 1 juta token output:

  • Biaya per pertanyaan = (3.200 × 3 + 400 × 15) ÷ 1.000.000 = USD 0,0156
  • Per bulan = 0,0156 × 300 × 22 = USD 102,96, atau sekitar Rp1,7 juta dengan kurs Rp16.500

Perhatikan bahwa potongan dokumen menyumbang sebagian besar token input. Mengurangi jumlah atau panjang potongan yang dikirim langsung menekan biaya. Biaya membuat embedding untuk dokumen biasanya jauh lebih kecil dibanding biaya menjawab, tetapi tetap perlu diperhitungkan saat dokumen sering diperbarui. Harga di atas hanya ilustrasi, jadi selalu cek halaman harga resmi penyedia. Hitung skenario Anda dengan kalkulator biaya API AI.

Menguji kualitas jawaban

Fitur AI tidak cukup diuji dengan mencoba beberapa pertanyaan lalu merasa puas. Siapkan daftar pertanyaan uji bersama pengguna, misalnya 50–100 pertanyaan nyata beserta jawaban yang benar dan dokumen sumbernya. Lalu periksa:

AspekPertanyaan
PencarianApakah potongan dokumen yang benar ikut ditemukan?
KetepatanApakah jawabannya sesuai dokumen, tanpa menambah informasi karangan?
PenolakanUntuk pertanyaan yang tidak ada di dokumen, apakah sistem mengaku tidak tahu?
SumberApakah sumber yang ditampilkan benar-benar mendukung jawaban?

Jalankan ulang daftar ini setiap kali mengubah cara memotong dokumen, prompt, atau model. Prinsipnya sama dengan regression test di artikel jenis pengujian dan test case.

Hal yang perlu dijaga di aplikasi kesehatan

  • Batasi peruntukannya. Asisten SOP administrasi jauh lebih aman daripada asisten yang memberi saran diagnosis atau dosis. Keputusan klinis tetap di tangan tenaga kesehatan.
  • Data pasien. Jangan mengirim data yang dapat mengidentifikasi pasien ke layanan AI pihak ketiga tanpa dasar hukum dan perjanjian pemrosesan data yang jelas. Lihat keamanan data pasien dan UU PDP.
  • Hak akses dokumen. Terapkan filter hak akses saat pencarian, bukan setelah jawaban dibuat.
  • Catat percakapan untuk evaluasi, dengan memperhatikan kerahasiaan isinya.

Pertanyaan yang sering diajukan

Perlukah database vektor khusus? Untuk ribuan hingga puluhan ribu potongan, ekstensi pencarian vektor pada database yang sudah Anda pakai, misalnya PostgreSQL, sering sudah cukup dan lebih mudah dirawat.

RAG atau fine-tuning? RAG cocok untuk menambah pengetahuan dari dokumen yang sering berubah. Fine-tuning lebih cocok untuk mengubah gaya atau format jawaban. Untuk kebanyakan kebutuhan "tanya jawab dokumen internal", RAG adalah titik awal yang tepat.