AI Cari Dalam Dokumen Sendiri: RAG Tanpa Jargon
AI boleh membaca fail kita sendiri sebelum menjawab. Ini cara RAG berfungsi, contoh untuk homestay dan kedai kecil, serta langkah mula tanpa perlu menulis kod.
AI Cari Dalam Dokumen Sendiri: RAG Tanpa JargonPengenalan
Cuba tanya ChatGPT berapa harga bilik homestay kita untuk cuti sekolah bulan depan. Jawapannya mungkin tersusun, penuh keyakinan, dan terus salah. Bukan kerana model itu bodoh, tetapi kerana ia tidak pernah membaca senarai harga kita. Ia hanya tahu apa yang ada dalam data latihannya, dan data itu berhenti pada satu tarikh tertentu. Masalah yang sama berlaku pada kedai kecil yang bertanya stok, pada pejabat yang menyimpan SOP dalam fail PDF bertahun-tahun, dan pada sesiapa yang percaya bulat-bulat pada jawapan AI tanpa semak.
Penyelesaian yang paling praktikal hari ini dipanggil RAG, singkatan daripada retrieval-augmented generation. Kamus Malaysia-AI.my menamakannya penjanaan berbantu dapatan semula, iaitu teknik di mana mesin menyelongkar dokumen berkaitan dahulu dan menulis jawapan berpandukan dokumen tersebut. Konsepnya mudah. Sebelum menjawab, sistem membuka fail kita, memetik bahagian yang relevan, dan menjawab hanya daripada petikan itu. Kalau tiada bukti dalam fail, ia sepatutnya berkata tidak tahu.
Apa yang berlaku di sebalik tabir
AWS memecahkan proses ini kepada empat langkah dalam dokumentasi panduan mereka: dokumen dimasukkan ke pangkalan data vektor sebagai embedding, pengguna bertanya dalam bahasa biasa, sistem membuat carian keserupaan dan mengambil petikan yang berkaitan, kemudian petikan itu dihantar bersama soalan kepada model bahasa. Langkah pertama dibuat sekali sahaja, tiga lagi berulang setiap kali ada soalan.
Teh Tarik Digital membahagikannya kepada dua fasa yang lebih mudah difahami oleh peniaga. Fasa pertama, pengindeksan: kumpul fail, pecah kepada cebisan kecil, tukar setiap cebisan kepada vektor nombor, dan simpan dalam pangkalan data vektor. Saiz cebisan yang lazim ialah 200 hingga 500 token, dengan sedikit pertindihan supaya ayat yang terpotong di sempadan tidak hilang konteks. Fasa kedua, dapatan semula: soalan pengguna ditukar kepada vektor menggunakan model yang sama, sistem mencari cebisan yang paling hampir maknanya, kemudian model menjawab dengan konteks tersebut.
Mengapa tidak tampal semua dokumen dalam satu arahan sahaja? Kerana tetingkap konteks ada had, dan kos token meningkat. Kalau katalog produk kita ada tiga ribu barang, menghantar keseluruhannya pada setiap soalan itu membazir. RAG menghantar hanya lima hingga lapan cebisan yang benar-benar berkaitan.
Contoh di homestay
Bayangkan satu folder bernama homestay: senarai harga, jadual kekosongan, panduan tetamu, senarai kontak tukang bersih, dan rekod aduan setahun. Dengan RAG, kita boleh bertanya minggu mana paling banyak tempahan bulan depan, atau apa kata tetamu tentang penghawa dingin bilik dua. Sistem akan memetik baris yang berkaitan dan memberitahu fail mana ia ambil. Jawapan yang salah boleh disemak dalam beberapa saat kerana sumbernya terpampang di skrin.
Tutorial langkah demi langkah
1. Kumpul dan asingkan fail. Satu folder untuk satu topik. Buang dokumen lama yang sudah tidak sah, kerana mesin tidak tahu versi mana yang betul melainkan kita beritahu.
2. Mulakan dengan alat sedia ada. Projek dalam ChatGPT, NotebookLM, atau Claude Projects sudah melakukan pengindeksan dan dapatan semula untuk kita. Muat naik fail, tanya soalan, dan semak sama ada jawapan disertakan petikan.
3. Tulis arahan yang menetapkan sempadan. Beritahu model supaya menjawab hanya daripada dokumen yang diberi, dan menyebut tiada dalam dokumen apabila bukti tidak cukup.
4. Uji dengan soalan yang kita sudah tahu jawapannya. Sepuluh soalan cukup untuk mendedahkan sama ada carian berfungsi atau cuma meneka.
5. Naik taraf hanya bila perlu. Untuk sistem sendiri, pgvector dalam PostgreSQL atau Chroma memadai sebagai permulaan. Tambah carian kata kunci bersama carian vektor apabila istilah tepat seperti kod produk atau nombor rujukan mula terlepas.
Perangkap yang selalu berlaku
Microsoft menegaskan perkara yang sama dalam panduan seni bina mereka: cebisan yang terlalu besar membazir token dan mengaburkan carian, manakala cebisan yang terlalu kecil kehilangan konteks. Kualiti dokumen pula menentukan segalanya. Fail yang bercanggah, usang, atau tidak tersusun akan dicari dan dipersembahkan dengan yakin sama seperti fail yang betul. Sebelum membina apa-apa, tentukan siapa yang mengemas kini dokumen dan bila dokumen lama ditarik keluar.
Kesimpulan
RAG bukan sihir dan bukan ubat segala penyakit. Ia satu tabiat yang sihat: cari bukti dahulu, jawab kemudian, dan tunjukkan dari mana bukti itu datang. Bagi peniaga kecil, perubahan paling besar bukan pada teknologi, tetapi pada keberanian berkata saya tidak tahu selagi pangkalan data kita belum lengkap.
Sumber rujukan
https://tehtarik.digital/the-lab/ai-agents-malaysia-guide/rag-pipeline/ https://malaysia-ai.my/ms/glossary/retrieval-augmented-generation/ https://docs.aws.amazon.com/prescriptive-guidance/latest/retrieval-augmented-generation-options/what-is-rag.html https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/rag/rag-chunking-phase
Saya bekalkan beberapa dokumen homestay di bawah. Jawab soalan saya hanya menggunakan kandungan dokumen ini. Setiap jawapan mesti menyebut nama fail dan petikan ayat yang menyokongnya. Jika jawapan tiada dalam dokumen, tulis "tiada dalam dokumen" dan jangan meneka.
- https://tehtarik.digital/the-lab/ai-agents-malaysia-guide/rag-pipeline/
- https://malaysia-ai.my/ms/glossary/retrieval-augmented-generation/
- https://docs.aws.amazon.com/prescriptive-guidance/latest/retrieval-augmented-generation-options/what-is-rag.html
- https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/rag/rag-chunking-phase