Membuat AI Sendiri dengan Retrieval-Augmented Generation (RAG)

Fauzi Fadhlurrohman
4 min readDec 1, 2024

--

RAG

Hello semuanya! šŸ‘‹
Kalian pasti sering dengar kan, ā€œAI bisa bikin apa aja sekarangā€? Nah, di balik kecanggihan AI yang kalian lihat sehari-hari, sebenarnya ada banyak cara untuk ā€œmembuatā€ AI. Gak melulu soal bikin dari nol. Di thread ini, aku bakal bahas gimana bikin AI sendiri pakai teknik Retrieval-Augmented Generation alias RAG. šŸ¤“

Pertama, mari kita mundur sebentar.
AI (Artificial Intelligence) sekarang berkembang pesat banget, terutama sejak lahirnya Large Language Models (LLM) seperti ChatGPT. AI ini pintar banget karena dilatih dengan miliaran data. Tapi, tahu gak? Kamu gak harus bikin model sebesar itu buat bikin AI sendiri.

Ada tiga pendekatan utama untuk bikin AI:
a) Training sendiri
b) Retrieval-Augmented Generation (RAG)
c) Prompt engineering

Apa bedanya? Ayo kita bedah satu-satu.

a) Training sendiri (Fine Tuning)

Fine Tuning

Ini yang biasa disebut ā€œhardcore developer modeā€. Kamu butuh data set besar, infrastruktur komputasi gahar, dan waktu yang banyak. Cocok buat perusahaan besar atau peneliti AI. Tapi buat developer solo? Berat bos. šŸ’»šŸ’ø

b) Retrieval-Augmented Generation (RAG)

Pendekatan ini memanfaatkan model AI yang sudah ada (seperti GPT), lalu menggabungkannya dengan knowledge base milikmu. Data kamu disimpan di vector database dan di-query saat AI menjawab pertanyaan. Jadi, AI lebih paham soal domain spesifikmu. šŸš€

c) Prompt engineering

Prompt Engineering

Ini teknik memanfaatkan model AI yang sudah ada tanpa tambahan data. Kamu cuma ā€œngobrol lebih pintarā€ sama model, pakai prompt (instruksi) yang pas. Cocok untuk solusi cepat, tapi gak selalu akurat kalau datamu rumit.

Di thread ini, kita fokus ke RAG karena:
1ļøāƒ£ Gampang buat developer kecil/mid-level.
2ļøāƒ£ Bisa pakai datamu sendiri tanpa bikin model dari nol.
3ļøāƒ£ Open-source tools kayak LangChain dan Chroma DB mempermudah proses ini.

Yuk lanjut ke teknisnya! šŸ˜Ž

Apa itu LangChain dan Chroma DB?

LangChain: Framework open-source untuk membuat aplikasi AI berbasis LLM. LangChain bikin proses querying dan pengolahan data jadi simple karena punya fitur bawaan untuk integrasi dengan berbagai tools. šŸ”—

Chroma DB: Sebuah vector database. Simpelnya, ini tempat nyimpan data kamu dalam bentuk vector embedding supaya AI gampang mengerti dan mencocokkan informasi. šŸ§ 

Langkah-langkah Implementasi RAG

Sekarang kita bahas langkah-langkahnya step-by-step. Bahkan kalau kamu belum ngerti coding banget, kamu tetap bisa dapet gambaran besar tentang gimana ini bekerja.

1. Siapkan datamu
Misal kamu punya dokumen PDF, artikel, atau database internal. Data ini harus diubah jadi format yang bisa dimengerti AI, yaitu vector embedding. Ini dilakukan dengan alat seperti OpenAI embeddings atau tools bawaan LangChain.

2. Masukkan data ke Chroma DB
Setelah data kamu di-embed, simpan ke Chroma DB.
Ibaratnya ini seperti ā€œpustaka pintarā€ untuk data kamu. Saat AI butuh jawaban, dia bakal cari di pustaka ini dulu sebelum menjawab. šŸ“š

3. Hubungkan ke LLM
Integrasikan LangChain dengan LLM (misalnya GPT). Di sini LangChain bertindak sebagai ā€œpengatur lalu lintasā€. Saat ada pertanyaan, dia akan:
a) Cari di Chroma DB.
b) Gabungkan informasi dari database ke dalam prompt LLM.
c) Kirimkan jawaban ke pengguna.

4. Bangun UI sederhana
Biar makin user-friendly, kamu bisa bikin UI sederhana. Pakai web framework seperti Flask, Streamlit, atau yang lainnya buat nge-wrap sistem ini ke dalam bentuk aplikasi. Voila, AI custom-mu siap dipakai! šŸŽ‰

Contoh Kasus: Konsultan AI Spesialisasi Hukum
Misal, kamu bikin AI untuk konsultasi hukum. Langkahnya:
1ļøāƒ£ Masukkan dokumen hukum ke Chroma DB.
2ļøāƒ£ Saat pengguna bertanya, AI bakal cari referensi di database.
3ļøāƒ£ Gabungkan hasil pencarian dengan GPT untuk menjawab.

Kenapa RAG itu powerful?

  • Relevan: Jawaban spesifik sesuai datamu.
  • Cepat: Gak perlu bikin model besar.
  • Flexible: Data bisa diperbarui kapan aja.

Gimana, mulai paham konsepnya? Kalau ada pertanyaan, feel free buat tanya di kolom komentar. Atau kalau kalian mau bahas langkah teknis lebih detail, kasih tahu ya! Selamat eksplorasi bikin AI kalian sendiri. šŸ’”

--

--

Fauzi Fadhlurrohman
Fauzi Fadhlurrohman

Written by Fauzi Fadhlurrohman

Hello there! I'm Fauzi Fadhlurrohman, a seasoned software engineer with a passion for crafting seamless digital experiences.

No responses yet