Di era kecerdasan buatan (AI) yang pesat, kemampuan sistem AI melampaui sekadar menjawab pertanyaan umum. Asisten AI perusahaan modern dituntut untuk memahami dokumen internal, mengambil informasi akurat, dan menyajikan jawaban yang andal berdasarkan basis pengetahuan perusahaan. Seorang pengembang teknologi memulai perjalanan membangun sistem AI agentik dari awal, bukan sekadar teori, melainkan dengan menulis kode, menguji batasannya, dan memahaminya secara mendalam.
Proyek kedua dalam perjalanan ini berfokus pada pembangunan sistem Retrieval-Augmented Generation (RAG) dari nol. RAG merupakan pendekatan inovatif yang menggabungkan dua kapabilitas kunci: pertama, 'Retrieval' atau pengambilan informasi, di mana sistem mencari basis pengetahuan untuk menemukan informasi yang relevan dengan pertanyaan pengguna. Kedua, 'Generation' atau generasi jawaban, di mana informasi yang berhasil diambil kemudian dijadikan konteks bagi model bahasa besar (LLM) untuk menghasilkan respons yang akurat.
Inti dari sistem RAG adalah memungkinkan LLM untuk mengakses pengetahuan eksternal secara dinamis, alih-alih mengandalkan memori internalnya yang terbatas. Pendekatan ini sangat krusial bagi perusahaan yang ingin AI mereka berinteraksi dengan data spesifik mereka, seperti dokumen kebijakan, manual produk, atau basis data internal lainnya, tanpa risiko model 'mengarang' informasi atau memberikan jawaban yang tidak sesuai dengan konteks perusahaan.
Dalam implementasi yang dilakukan, alur kerja sistem RAG dimulai dari dokumen sumber. Dokumen ini, misalnya sebuah dokumen kebijakan perusahaan, pertama-tama dimuat menggunakan fitur TextLoader dari pustaka LangChain. Langkah selanjutnya adalah pemecahan teks (text splitting) menjadi potongan-potongan yang lebih kecil. Pemotongan ini dilakukan dengan strategi 'RecursiveCharacterTextSplitter', membagi teks menjadi segmen berukuran 200 karakter dengan tumpang tindih (overlap) 50 karakter antar segmen. Tujuannya adalah memastikan konteks tidak terputus secara drastis antar potongan.
Potongan-potongan teks tersebut kemudian diubah menjadi representasi numerik yang disebut 'embeddings'. Proses ini menggunakan model 'sentence-transformers/all-MiniLM-L6-v2' yang diakses melalui HuggingFaceEmbeddings. Embeddings ini kemudian disimpan dalam 'Vector Store', yang dalam proyek ini menggunakan Chroma. Vector store berperan penting dalam pencarian semantik, memungkinkan sistem menemukan potongan teks yang paling relevan secara konseptual dengan pertanyaan pengguna, bukan hanya berdasarkan kata kunci.
Untuk mengambil informasi, sistem dikonfigurasi untuk menarik dua potongan teks paling relevan ('top-2 chunks') berdasarkan skor kesamaan antara embedding pertanyaan pengguna dan embedding potongan teks dalam vector store. Informasi yang diambil ini kemudian disajikan kepada LLM bersama dengan sebuah prompt template yang dirancang secara ketat. Prompt ini menginstruksikan LLM untuk menghasilkan jawaban HANYA berdasarkan konteks yang diberikan, mencegahnya menggunakan pengetahuan umum yang mungkin dimilikinya.
LLM yang digunakan dalam proyek ini adalah model 'tinyllama' yang dijalankan secara lokal melalui Ollama. Pilihan ini menunjukkan bahwa sistem RAG dapat dibangun dan diuji bahkan dengan sumber daya komputasi yang relatif terbatas, membuka peluang bagi pengembangan di lingkungan yang tidak selalu memiliki akses ke infrastruktur cloud yang masif.
Pengalaman membangun sistem ini membawa beberapa pelajaran berharga. Kualitas jawaban akhir AI tidak semata-mata bergantung pada kecanggihan LLM yang dipilih. Faktor lain yang tak kalah penting adalah kualitas dokumen sumber itu sendiri. Jika dokumennya ambigu atau mengandung informasi yang salah, maka jawaban AI pun akan demikian.
Strategi pemotongan teks (chunking strategy) juga terbukti krusial. Ukuran potongan dan tingkat tumpang tindih dapat sangat memengaruhi seberapa baik informasi relevan dapat diambil. Jika potongan terlalu besar, informasi penting bisa terkubur; jika terlalu kecil tanpa overlap yang memadai, konteks bisa hilang.
Akurasi pengambilan informasi (retrieval accuracy) adalah jantung dari RAG. Jika sistem gagal mengambil potongan yang paling relevan, LLM tidak akan memiliki dasar yang kuat untuk menghasilkan jawaban yang tepat, meskipun promptnya sangat ketat.
Desain prompt (prompt design) memegang peranan penting dalam mengarahkan LLM. Prompt yang jelas dan spesifik, yang menegaskan batasan penggunaan konteks, sangat vital untuk meminimalkan 'halusinasi' atau jawaban yang tidak sesuai fakta.
Terakhir, metode evaluasi yang tepat diperlukan untuk mengukur kinerja sistem secara objektif. Tanpa evaluasi yang baik, sulit untuk mengetahui apakah sistem telah mencapai tujuannya atau di mana letak area yang perlu ditingkatkan.
Sistem RAG menawarkan fondasi praktis untuk membangun asisten AI perusahaan yang mampu memanfaatkan basis pengetahuan privat secara efektif, sekaligus meminimalkan risiko kesalahan informasi. Proyek ini menjadi batu loncatan untuk eksperimen selanjutnya, termasuk alur kerja multi-agen, server MCP, dan sistem AI otonom yang lebih kompleks.
Di Indonesia, adopsi teknologi RAG ini berpotensi besar untuk berbagai sektor. Perusahaan dapat membangun chatbot layanan pelanggan yang cerdas dan akurat berdasarkan basis pengetahuan produk mereka, atau asisten internal bagi karyawan yang mampu menjawab pertanyaan terkait kebijakan perusahaan atau prosedur operasional standar. Ketersediaan LLM lokal maupun model open-source yang dapat dijalankan secara on-premise semakin memudahkan implementasi teknologi ini tanpa harus bergantung pada layanan cloud global, sekaligus menjaga kerahasiaan data perusahaan.