Langsung ke konten

Apa itu Chunking RAG (Pemotongan Dokumen untuk Retrieval AI)?

Proses memecah dokumen panjang menjadi potongan teks berukuran ideal agar mudah diindeks ke dalam vector database dan diambil secara akurat oleh sistem RAG.

Apa itu Chunking pada RAG?

Chunking (pemotongan teks) adalah tahap awal penting dalam arsitektur RAG (Retrieval-Augmented Generation) di mana dokumen berukuran panjang (seperti dokumen PDF ratusan halaman, buku manual, atau peraturan undang-undang) dipecah menjadi unit-unit teks yang lebih ringkas dan mandiri (chunks), sebelum diubah menjadi representasi vektor numerik (embedding) dan disimpan di dalam basis data vektor (vector database).

Jika dokumen dimasukkan secara utuh ke dalam sistem pencarian vektor, informasi inti akan tenggelam dalam lautan kalimat yang tidak relevan. Sebaliknya, jika potongan teks dipotong terlalu pendek per kata, konteks makna kalimat akan hilang. Chunking bertujuan menemukan titik keseimbangan terbaik antara ukuran segmen dan kekayaan semantik informasi.

Mengapa Chunking sangat menentukan keberhasilan RAG?

Kualitas respon akhir sistem AI pada sistem RAG sangat bergantung pada potongan teks yang disuntikkan ke dalam prompt (Garbage In, Garbage Out):

  1. Batasan Dimensi Model Embedding: Model penanam vektor (seperti OpenAI text-embedding-3-small atau Cohere Embed) memiliki kapasitas token masukan maksimal (umumnya 512 hingga 8.192 token). Dokumen yang melebihi batas tersebut akan terpotong paksa jika tidak dilakukan chunking.
  2. Efisiensi Jendela Konteks (Context Window): Menyaring hanya 3 hingga 5 potongan teks yang relevan langsung ke dalam prompt menghemat kuota token berbayar dan mencegah fenomena Lost in the Middle (model mengabaikan fakta penting di tengah teks panjang).
  3. Akurasi Pencarian Kemiripan (Semantic Search Precision): Vektor potongan teks yang terfokus pada satu sub-topik memiliki jarak kosinus (cosine similarity) yang jauh lebih tajam terhadap pertanyaan spesifik pengguna.

Strategi dan Teknik Chunking Populer

Terdapat beberapa metodologi pemotongan teks yang diterapkan oleh praktisi kecerdasan buatan:

  1. Pemotongan Karakter / Token Tetap dengan Jeda Tumpang Tindih (Fixed-Size with Overlap): Teks dipotong setiap $N$ token (misalnya 500 token) dengan menyertakan irisan tumpang tindih (overlap) sekitar 50 hingga 100 token pada batas awal dan akhir.
    • Fungsi overlap: Menjaga agar kalimat yang terpotong di tengah jalan tidak kehilangan subjek atau predikat pentingnya.
  2. Pemotongan Berbasis Batas Kalimat / Paragraf (Sentence & Recursive Character Splitting): Pemisahan teks menggunakan pembatas alami bahasa, seperti tanda titik dua kali, baris baru ganda (\n\n), atau tanda baca titik akhir. Algoritma berusaha mempertahankan keutuhan paragraf sebelum membaginya lebih lanjut.
  3. Pemotongan Berdasarkan Dokumen Terstruktur (Document-Structure / Markdown Chunking): Memanfaatkan hierarki judul dokumen (Header #, ##, ###), tabel data, atau tag XML untuk memastikan satu bagian pembahasan SOP tetap berada di dalam satu potongan yang utuh.
  4. Pemotongan Semantik Dinamis (Semantic Chunking): Algoritma menghitung perbedaan jarak embedding antar-kalimat berurutan. Ketika terjadi lonjakan drastis pada topik pembahasan (semantic shift), sistem otomatis membuat batas potongan baru.

Contoh nyata perbandingan pemotongan

Misalkan terdapat teks kontrak kerja:

"Karyawan berhak atas tunjangan kesehatan setelah melewati masa percobaan 3 bulan. Evaluasi kinerja dilakukan pada akhir bulan kedua."

  • Pemotongan buruk (tanpa overlap):
    • Potongan A: "Karyawan berhak atas tunjangan kesehatan setelah melewati masa"
    • Potongan B: "percobaan 3 bulan. Evaluasi kinerja dilakukan pada akhir bulan kedua." (Ketika pengguna bertanya "Berapa lama masa percobaan untuk tunjangan kesehatan?", kedua potongan sama-sama kehilangan kalimat utuh).
  • Pemotongan baik (dengan recursive splitting & overlap):
    • Potongan utuh mempertahankan relasi klausul masa percobaan 3 bulan dengan evaluasi kinerja secara lengkap dalam satu konteks.

Batasan dan salah paham umum

  • Tidak ada ukuran chunk satu ukuran untuk semua (No Silver Bullet): Ukuran chunk ideal bervariasi tergantung kasus; pencarian tanya-jawab faktual singkat membutuhkan chunk 200-400 token, sedangkan analisis ringkasan bab membutuhkan chunk 1.000-2.000 token.
  • Tabel dan infografis membutuhkan perlakuan khusus: Dokumen berisi tabel keuangan atau grafik tidak bisa dipotong secara linier biasa karena angka akan kehilangan nama kolomnya; tabel harus diubah ke format Markdown atau representasi JSON terlebih dahulu.
  • Chunking bukan pengganti Reranking: Menghasilkan chunk yang bagus adalah langkah pertama; sistem produksi modern tetap memerlukan lapisan Reranker untuk menyortir urutan relevansi potongan teks sebelum dikirim ke LLM.

Rujukan resmi

  • OpenAI Platform Documentation: Optimizing Retrieval-Augmented Generation (RAG) and Chunking Strategies (Pengecekan: 5 Oktober 2026, rujukan resmi: platform.openai.com/docs/guides/optimizing-llm-accuracy).
  • Pinecone Architecture Guides: Chunking Strategies for Large Language Models & Vector Search (Pengecekan: 5 Oktober 2026, rujukan resmi: pinecone.io/learn/chunking-strategies).
  • LlamaIndex Documentation: Document Splitting, Node Parsing and Advanced Semantic Chunking (Pengecekan: 5 Oktober 2026, rujukan resmi: docs.llamaindex.ai/en/stable/module_guides/loading/node_parsers).

Istilah Terkait

RAG (Retrieval-Augmented Generation)Vector DatabaseEmbedding AIReranker AI (Peringkat Ulang Konteks RAG)Context Window (Jendela Konteks)