Materi
Retrieval augmented generation (RAG) menambahkan dokumen yang relevan ke jendela konteks saat pertanyaan datang, supaya jawaban model berpijak pada bukti (glosarium Anthropic). Dokumen panjang tidak dikirim utuh: biayanya besar, dan bagian yang tidak relevan ikut membebani konteks. Dokumen dipotong lebih dulu menjadi potongan (chunk), lalu hanya potongan yang paling mirip dengan pertanyaan yang dikirim.
Cara paling sederhana adalah jendela berukuran tetap. Potongan pertama mulai di kata ke-0, potongan berikutnya mulai langkah = ukuran − tumpang kata kemudian, dan pemotongan berhenti begitu sebuah potongan mencapai akhir dokumen. Tumpang tindih menjaga kalimat yang terbelah di batas satu potongan tetap utuh di potongan sebelahnya. Panduan Retrieval OpenAI memakai pola yang sama dalam token: ukuran potongan dan tumpang tindih bisa diatur, dan tumpang tindih dibatasi paling besar separuh ukuran potongan.
kata = "satu dua tiga empat lima enam tujuh delapan".split() # 8 kata
ukuran, tumpang = 5, 2 # langkah = 3
# potongan 1: kata[0:5] = satu ... lima
# potongan 2: kata[3:8] = empat ... delapan -> sudah mencapai akhir, berhentiUntuk dokumen n kata yang lebih panjang dari ukuran potongan, jumlah potongannya ⌈(n − ukuran) ÷ langkah⌉ + 1. Simpan id dokumen asal di setiap potongan supaya jawaban bisa menyebut sumbernya di modul berikutnya.