Panduan RAGFlow: Cara Menginstal Mesin RAG Sumber Terbuka, Mengupload Dokumen, dan Mencegah AI Mengeluarkan Jawaban yang Tidak Tepat
Membuang seluruh isi lemari berkas PDF ke AI, lalu AI mulai mengeluarkan jawaban yang tidak masuk akal — ini mungkin merupakan situasi yang pernah dialami oleh setiap orang yang ingin membuat basis pengetahuan perusahaan. RAGFlow menggunakan "pemahaman dokumen mendalam" dengan referensi yang dapat dilacak untuk mengatasi masalah ini. Artikel ini membahas tentang cara menginstal RAGFlow menggunakan Docker, membuat basis pengetahuan, mengatur model, dan cara membuat jawaban yang dilengkapi dengan sumber.
Pendahuluan: Ketika AI Mengubah PDF Menjadi Kacau
Saya pernah melihat sebuah kasus nyata: sebuah perusahaan ingin membuat basis pengetahuan internal, memasukkan lebih dari 300 manual produk dalam format PDF ke dalam sistem RAG, namun hasilnya AI mengeluarkan jawaban yang salah karena meleburkan angka-angka dalam tabel dengan teks lain, dan menganggap pernyataan hak cipta sebagai referensi utama. Ketika ditanya "Berapa daya listrik tipe A?", AI menjawab dengan angka yang sebenarnya milik tipe B. Insinyur yang bertanggung jawab hanya bisa tersenyum sedih dan mengatakan bahwa masalahnya bukan karena modelnya bodoh, melainkan karena "dokumen tidak dibaca dengan baik".
Inilah tantangan sebenarnya dari RAG - bukan tentang menghubungkan model, melainkan tentang memotong dokumen yang kompleks, berisi tabel, dan scan menjadi potongan-potongan yang dapat diproses oleh model. RAGFlow memfokuskan diri pada hal ini. Artikel ini akan membawa Anda melalui proses menginstal, memasukkan file, dan membuatnya bekerja dengan referensi yang akurat.
Apa itu RAGFlow
RAGFlow adalah mesin RAG (Retrieve, Augment, Generate) open-source yang dikembangkan oleh InfiniFlow, dengan kode sumber yang tersedia di GitHub. Jika Anda belum memahami apa itu RAG, silakan baca artikel Apa itu RAG untuk memahami konsepnya - secara sederhana, RAG membuat AI mencari informasi dalam basis data sebelum menjawab pertanyaan, bukan hanya mengandalkan ingatan.
Hal yang paling membedakan RAGFlow dari alat RAG lainnya adalah kemampuan "DeepDoc" untuk memahami struktur dokumen. Alat lain biasanya hanya mengekstrak teks dari PDF, yang bisa menjadi kacau jika struktur halamannya kompleks. RAGFlow memahami struktur halaman, termasuk judul, tabel, dan paragraf, bahkan dapat mengolah file scan (PDF berbasis gambar) melalui OCR. Ini mendukung berbagai format file, termasuk Word, presentasi, Excel, teks murni, gambar, file scan, data terstruktur, dan halaman web.
Fitur lain yang penting adalah referensi yang dapat dilacak. Ketika menjawab pertanyaan, RAGFlow menyertakan sumber jawabannya, sehingga Anda dapat melihat "dari mana kalimat ini berasal". Ini sangat mengurangi kemungkinan Anda tertipu oleh jawaban AI. RAGFlow juga terintegrasi dengan platform seperti Dify yang melakukan pengaturan Agen, mendukung pembuatan alur kerja visual yang melibatkan RAG, alat, dan MCP.
Apa yang Dapat Dilakukan dengan RAGFlow
- Basis Pengetahuan Internal Perusahaan: Masukkan manual produk, SOP, dan template kontrak ke dalamnya, dan karyawan dapat bertanya dengan bahasa alami untuk mendapatkan jawaban yang akurat beserta sumbernya.
- Sistem Pertanyaan dan Jawaban untuk Layanan Pelanggan: Hubungkan dengan FAQ dan dokumen teknis untuk menjadi otak dari chatbot.
- Riset dan Analisis: Dokumen hukum, laporan keuangan, dan artikel ilmiah yang memiliki struktur kompleks dan memerlukan kutipan yang akurat, sangat sesuai dengan kekuatan DeepDoc.
- Otak Kedua Pribadi: Masukkan catatan dan buku elektronik Anda, dan ubah menjadi basis pengetahuan yang dapat diajak berdialog.
Untuk memahami cara mengatur sistem RAG secara keseluruhan, Anda dapat membaca Panduan Praktis RAG sebagai referensi.
Cara Menggunakan RAGFlow: Pertama Kali
RAGFlow diinstal menggunakan Docker, dan prosesnya tidak terlalu sulit, tetapi memerlukan spesifikasi mesin yang cukup tinggi. Pertama, lihat spesifikasi yang disarankan.
1. Konfirmasi Kebutuhan Sistem
Saran resmi: CPU minimal 4 core, memori minimal 16GB, hard disk minimal 50GB, Docker 24 atau lebih, dan Docker Compose v2.26 atau lebih. Memori adalah hal yang paling kritis - RAGFlow perlu menjalankan mesin pencarian vektor, dan kekurangan memori akan menyebabkan kesalahan.
2. Mengunduh Proyek dan Mengaktifkan
Setelah mengkloning dari GitHub, masuk ke direktori docker dan jalankan:
bash
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
docker compose up -d
Pertama kali menjalankan akan mengunduh banyak image, tunggu sampai selesai. Setelah selesai, gunakan docker ps untuk memastikan semua container sudah berjalan.
3. Membuka Antarmuka dan Mengatur Model
Setelah layanan diaktifkan, buka http://IP Anda (port default 80) di browser. Daftar untuk membuat akun dan masuk, lalu pergi ke pengaturan untuk memasukkan kunci API model. RAGFlow tidak menyertakan model, jadi Anda perlu menginformasikan tentang model LLM (untuk menjawab) dan model embedding (untuk mengubah teks menjadi vektor) yang akan digunakan. Anda dapat menggunakan OpenAI, model cloud dari berbagai penyedia, atau menghubungkan dengan model lokal seperti Ollama.
4. Membuat Basis Pengetahuan dan Memasukkan File
Buat sebuah Basis Pengetahuan, masukkan file PDF, Word, atau lainnya ke dalamnya. Pilih template pemotongan (chunk method) yang sesuai untuk jenis file yang diunggah. RAGFlow menyediakan berbagai template untuk berbagai jenis file - dokumen umum, artikel ilmiah, buku, hukum, presentasi, tabel, pertanyaan dan jawaban, dll. Pilih template yang tepat, lalu tekan "parse" untuk menjalankan DeepDoc dan memotong file menjadi potongan-potongan.
5. Memeriksa Hasil Pemotongan
Ini adalah fitur RAGFlow yang paling berguna: setelah proses parsing selesai, RAGFlow akan menampilkan hasil pemotongan dalam format visual, sehingga Anda dapat melihat setiap potongan dan posisinya dalam teks asli. Jika hasil pemotongan tidak tepat, Anda dapat melakukan penyesuaian manual. Jangan malas melakukan langkah ini, karena kualitas pemotongan sangat mempengaruhi akurasi jawaban.
6. Membuat Asisten Chat dan Menguji
Setelah memastikan hasil pemotongan sudah baik, buat sebuah chat dan hubungkan dengan basis pengetahuan yang telah dibuat. Sekarang Anda dapat mulai bertanya dan mendapatkan jawaban yang akurat beserta referensinya.
Tips Lanjutan
Pisahkan Template Berdasarkan Jenis File: Jangan mencampur file hukum dan produk dalam satu basis pengetahuan dengan template yang sama. Struktur halaman yang berbeda memerlukan logika pemotongan yang berbeda. Buat basis pengetahuan terpisah untuk setiap jenis file dan pilih template yang sesuai untuk meningkatkan akurasi.
Manfaatkan Pencarian Hybrid: RAGFlow melakukan pencarian vektor dan pencarian kata kunci BM25, serta penilaian ulang. Pencarian vektor murni seringkali tidak akurat untuk pertanyaan yang memerlukan nama yang tepat, nomor produk, atau kode hukum. Pencarian kata kunci dapat melengkapi kekurangan ini. Anda dapat menyesuaikan bobot pencarian untuk mendapatkan hasil yang lebih baik.
Hubungkan dengan Ollama untuk Model Lokal: Jika Anda peduli dengan privasi data dan tidak ingin mengunggah file perusahaan ke cloud, Anda dapat mengarahkan LLM dan model embedding ke Ollama lokal, sehingga semua proses berjalan secara offline. Namun, ini memerlukan perangkat keras yang lebih baik.
Gunakan API untuk Mengintegrasikan dengan Sistem Anda: RAGFlow menyediakan API yang dapat digunakan sebagai lapisan pencarian backend, dengan antarmuka depan yang dapat disesuaikan atau diintegrasikan dengan sistem layanan pelanggan yang sudah ada. Untuk membuat alur kerja yang lebih kompleks, Anda juga dapat menggunakan fitur pengaturan Agen yang mirip dengan konsep Pengembangan Agen AI.
Kesalahan Umum dan Hal yang Perlu Diperhatikan
- Menggunakan Memori yang Terlalu Kecil: 16GB adalah batas minimum, bukan saran. Menggunakan memori di bawah ini dapat menyebabkan container berulang kali gagal, dan pemula sering kali terjebak di sini tanpa menemukan penyebabnya.
- Lupa Mengatur Model Embedding: Banyak orang hanya mengatur LLM untuk menjawab, tetapi lupa mengatur model embedding, sehingga file tidak dapat diubah menjadi vektor dengan benar, dan pertanyaan tidak dapat dijawab dengan akurat. Kedua pengaturan ini harus dilakukan.
- Memilih Template Pemotongan Secara Sembarangan atau Tidak Memeriksa: Menggunakan template default untuk file yang kompleks, lalu mengeluh tentang kualitas jawaban - masalahnya kemungkinan besar terletak pada proses pemotongan. Pastikan untuk memeriksa hasil pemotongan dan menyesuaikan jika perlu.
- Menganggap Referensi sebagai Jaminan 100% Akurat: Referensi yang dapat dilacak membantu Anda untuk memverifikasi jawaban, tetapi tidak menjamin keakuratan 100%. Model masih dapat salah membaca potongan teks. Untuk skenario penting, verifikasi manual selalu diperlukan. Untuk memahami lebih lanjut tentang mengapa AI dapat memberikan jawaban yang salah, baca Apa itu Halusinasi AI.
- Tidak Memikirkan Privasi Data dengan Matang: Menggunakan model cloud berarti potongan file Anda akan dikirim ke penyedia model. Data sensitif harus diolah dengan skema model lokal.
Ulasan dari TheAI Akademi
Di antara banyak alat RAG yang ada, kebanyakan fokus pada cara menghubungkan model atau menyimpan vektor, tetapi mengabaikan tantangan sebenarnya - yaitu memahami struktur dokumen yang kompleks. RAGFlow memfokuskan diri pada DeepDoc dan visualisasi pemotongan, yang merupakan langkah yang tepat untuk menyelesaikan masalah ini. Bagi tim yang ingin membuat basis pengetahuan perusahaan dan dihadapkan pada tantangan struktur file yang kompleks, pilihan RAGFlow sangat tepat.
Setelah lama bekerja dengan RAG, Anda akan memahami bahwa kualitas jawaban tidak ditentukan oleh seberapa kuat modelnya, melainkan oleh seberapa baik file diproses. RAGFlow mempertaruhkan semua pada hal ini, dan itu adalah taruhan yang tepat.
Namun, perlu diingat bahwa RAGFlow adalah alat yang berorientasi pada teknik, memerlukan Docker, dan membutuhkan mesin yang cukup kuat. Ini bukanlah layanan cloud yang siap pakai; jika Anda hanya ingin mencoba RAG secara sederhana, mungkin ambang batasnya terlalu tinggi. Tetapi jika Anda ingin mengatur sendiri, mengontrol data, dan mengolah file yang kompleks, RAGFlow sangat worth untuk dicoba.
Pertanyaan yang Sering Diajukan
Apakah RAGFlow gratis? Apakah self-hosting memerlukan biaya?
RAGFlow itu sendiri adalah sumber terbuka, sehingga Anda dapat menginstalnya menggunakan Docker di server Anda sendiri tanpa biaya. Namun, ada dua biaya yang perlu diperhatikan: pertama, biaya perangkat keras (disarankan menggunakan mesin dengan memori 16GB atau lebih), dan kedua, biaya model — API LLM cloud dan model embedding yang Anda gunakan akan dikenakan biaya tambahan. Jika Anda menggunakan model Ollama lokal, secara teoretis Anda dapat menghemat biaya API, tetapi memerlukan perangkat keras yang lebih baik. RAGFlow juga menawarkan skema berbayar untuk versi cloud, yang dapat dipertimbangkan oleh mereka yang tidak ingin self-hosting.
Saya tidak terlalu mahir dalam pemrograman, apakah saya masih bisa menginstal RAGFlow?
Penginstalan RAGFlow sebagian besar bergantung pada Docker, sehingga Anda hanya perlu mengikuti instruksi untuk mengkloning proyek dan menjalankan docker compose up, tanpa perlu menulis kode program. Namun, Anda perlu memiliki konsep dasar tentang baris perintah dan Docker, serta dapat melakukan debug jika terjadi masalah dengan kontainer atau memori. Oleh karena itu, RAGFlow dapat dikatakan sebagai alat yang berorientasi pada teknik. Jika Anda benar-benar baru dalam menggunakan terminal, maka batasan untuk menginstal RAGFlow akan lebih tinggi, sehingga disarankan untuk meminta bantuan dari rekan yang lebih berpengalaman dengan Docker untuk melakukan deploy pertama kali.
Mengapa saya harus memilih template pemotongan? Apakah tidak bisa menggunakan template bawaan?
Anda bisa menggunakan template bawaan, tetapi hasilnya mungkin tidak akan memuaskan. Template pemotongan RAGFlow dirancang khusus untuk berbagai jenis dokumen — artikel, buku, hukum, presentasi, tabel, dan lain-lain. Jika Anda menggunakan template yang salah untuk dokumen dengan tata letak yang kompleks, maka tabel dapat dipotong, judul dan teks dapat tercampur, dan akurasi jawaban dapat menurun. Menghabiskan satu menit untuk memilih template yang tepat dan memeriksa hasil visualisasi setelah pemrosesan adalah langkah yang paling efektif dan efisien, jadi jangan menghemat waktu untuk melakukan ini.
Apa perbedaan antara RAGFlow dan alat seperti Dify atau LangChain?
Perbedaan utama terletak pada posisi mereka. LangChain adalah kerangka pengembangan yang dirancang untuk pengembang yang ingin membuat alur RAG, sedangkan Dify lebih berfokus pada pengembangan aplikasi LLM. RAGFlow, di sisi lain, memprioritaskan "pemahaman dan pencarian dokumen" sebagai fokus utamanya, dengan fitur DeepDoc untuk analisis dokumen mendalam dan visualisasi pemotongan sebagai keunggulannya. Jika masalah Anda adalah "dokumen tidak dapat dibaca dengan baik dan jawaban tidak akurat", maka RAGFlow adalah solusi yang tepat; namun, jika Anda memerlukan platform pengembangan aplikasi yang lebih komprehensif, maka Anda mungkin perlu menggunakan alat seperti Dify atau menggabungkannya dengan RAGFlow.