𝗣𝗵𝗮𝘀𝗲 𝟭: 𝗜𝗻𝗴𝗲𝘀𝘁𝗶 𝗗𝗼𝗸𝘂𝗺𝗲𝗻
Sebagian besar sistem RAG gagal bahkan sebelum dimulai.
Anda pikir membangun sistem RAG itu sederhana. Seorang pengguna mengunggah PDF, Anda membuat embedding, dan Anda mendapatkan jawaban.
Itu adalah sebuah kesalahan.
Di antara tombol unggah dan database vektor, terdapat 15 langkah kritis. Jika Anda melewatkan satu saja, sistem Anda akan memberikan jawaban yang salah atau membuang-buang uang Anda.
Berikut adalah peta jalan tingkat produksi untuk ingesti dokumen:
• Hashing File: Jangan pernah melakukan hashing pada nama file. Lakukan hashing pada konten file yang sebenarnya. Ini mencegah sistem Anda memproses file yang sama dua kali jika seseorang mengubah namanya.
• Parsing Cerdas: Gunakan alat yang tepat untuk tugas tersebut.
- Teks sederhana: pdf-parse (Gratis)
- Konten campuran: Unstructured (Seimbang)
- Tabel/tata letak kompleks: LlamaParse (Kualitas tinggi)
- Formulir perusahaan: Azure Document Intelligence (Terbaik untuk hasil pemindaian)
• Pembersihan Teks: Hapus bagian yang tidak perlu. Header, footer, watermark, dan nomor halaman menciptakan noise. Jika Anda melakukan embedding kata "Confidential" di setiap halaman, AI Anda akan menganggap setiap jawaban adalah rahasia.
• Ekstraksi Metadata: Tambahkan konteks seperti departemen, bagian, atau versi. Ini membantu sistem Anda menemukan dokumen yang tepat tanpa harus mencari semuanya.
• Chunking Cerdas: Ini adalah bagian yang paling penting.
- Ukuran: Targetkan 1000 hingga 1500 token.
- Overlap: Gunakan overlap sebesar 200 token untuk menjaga konteks.
- Batasan: Jangan pernah memutus kalimat di tengah-tengah.
• Hashing Chunk dan Deduplikasi: Lakukan hashing pada setiap chunk. Saat sebuah file berubah, bandingkan hash baru dengan hash yang lama.
• Ingesti Inkremental: Jangan melakukan re-embed pada semuanya. Jika dokumen 1000 halaman hanya berubah satu halaman, cukup lakukan embedding pada satu chunk baru tersebut. Ini akan menghemat biaya API Anda dalam jumlah besar.
Perbedaan antara proyek hobi dan sistem produksi adalah pekerjaan yang Anda lakukan sebelum langkah embedding.
Sistem yang naif melakukan re-embed pada semuanya setiap saat. Sistem yang cerdas hanya memproses apa yang berubah.
Berhenti membuat "sup". Bangunlah sebuah fondasi.
Sumber: https://dev.to/surajrkhonde/phase-1-document-ingestion-the-hidden-complexity-before-embeddings-4d32
Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi
