Kutipan
Claude mampu memberikan kutipan terperinci saat menjawab pertanyaan tentang dokumen, membantu Anda melacak dan memverifikasi sumber informasi dalam respons.
Fitur kutipan saat ini tersedia pada Claude Opus 4, Claude Sonnet 4, Claude Sonnet 3.7, Claude Sonnet 3.5 (baru) dan Haiku 3.5.
Kutipan dengan Claude Sonnet 3.7
Claude Sonnet 3.7 mungkin kurang cenderung membuat kutipan dibandingkan dengan model Claude lainnya tanpa instruksi yang lebih eksplisit dari pengguna. Saat menggunakan kutipan dengan Claude Sonnet 3.7, kami menyarankan untuk menyertakan instruksi tambahan dalam giliran user
, seperti "Gunakan kutipan untuk mendukung jawaban Anda."
sebagai contoh.
Kami juga mengamati bahwa ketika model diminta untuk menyusun responsnya, model tersebut cenderung tidak menggunakan kutipan kecuali secara eksplisit diberitahu untuk menggunakan kutipan dalam format tersebut. Misalnya, jika model diminta untuk menggunakan tag
Silakan bagikan umpan balik dan saran Anda tentang fitur kutipan menggunakan formulir ini.
Berikut adalah contoh cara menggunakan kutipan dengan Messages API:
Perbandingan dengan pendekatan berbasis prompt
Dibandingkan dengan solusi kutipan berbasis prompt, fitur kutipan memiliki keunggulan berikut:
- Penghematan biaya: Jika pendekatan berbasis prompt Anda meminta Claude untuk menampilkan kutipan langsung, Anda mungkin melihat penghematan biaya karena fakta bahwa
cited_text
tidak dihitung sebagai token output Anda. - Keandalan kutipan yang lebih baik: Karena kami mengurai kutipan ke dalam format respons masing-masing yang disebutkan di atas dan mengekstrak
cited_text
, kutipan dijamin berisi penunjuk yang valid ke dokumen yang disediakan. - Peningkatan kualitas kutipan: Dalam evaluasi kami, kami menemukan bahwa fitur kutipan secara signifikan lebih mungkin mengutip kutipan yang paling relevan dari dokumen dibandingkan dengan pendekatan berbasis prompt murni.
Cara kerja kutipan
Integrasikan kutipan dengan Claude dalam langkah-langkah berikut:
Sediakan dokumen dan aktifkan kutipan
- Sertakan dokumen dalam salah satu format yang didukung: PDF, teks biasa, atau dokumen konten kustom
- Atur
citations.enabled=true
pada setiap dokumen Anda. Saat ini, kutipan harus diaktifkan pada semua atau tidak ada dokumen dalam permintaan. - Perhatikan bahwa saat ini hanya kutipan teks yang didukung dan kutipan gambar belum memungkinkan.
Dokumen diproses
- Konten dokumen “dipecah” untuk menentukan granularitas minimum kutipan yang mungkin. Misalnya, pemecahan kalimat akan memungkinkan Claude untuk mengutip satu kalimat atau menggabungkan beberapa kalimat berurutan untuk mengutip paragraf (atau lebih panjang)!
- Untuk PDF: Teks diekstrak seperti yang dijelaskan dalam Dukungan PDF dan konten dipecah menjadi kalimat. Mengutip gambar dari PDF saat ini tidak didukung.
- Untuk dokumen teks biasa: Konten dipecah menjadi kalimat yang dapat dikutip.
- Untuk dokumen konten kustom: Blok konten yang Anda sediakan digunakan apa adanya dan tidak ada pemecahan lebih lanjut yang dilakukan.
Claude memberikan respons dengan kutipan
- Respons sekarang dapat menyertakan beberapa blok teks di mana setiap blok teks dapat berisi klaim yang dibuat Claude dan daftar kutipan yang mendukung klaim tersebut.
- Kutipan merujuk ke lokasi tertentu dalam dokumen sumber. Format kutipan ini bergantung pada jenis dokumen yang dikutip.
- Untuk PDF: kutipan akan menyertakan rentang nomor halaman (indeks-1).
- Untuk dokumen teks biasa: Kutipan akan menyertakan rentang indeks karakter (indeks-0).
- Untuk dokumen konten kustom: Kutipan akan menyertakan rentang indeks blok konten (indeks-0) yang sesuai dengan daftar konten asli yang disediakan.
- Indeks dokumen disediakan untuk menunjukkan sumber referensi dan diindeks-0 sesuai dengan daftar semua dokumen dalam permintaan asli Anda.
Pemecahan otomatis vs konten kustom
Secara default, dokumen teks biasa dan PDF secara otomatis dipecah menjadi kalimat. Jika Anda memerlukan kontrol lebih besar atas granularitas kutipan (misalnya, untuk poin-poin atau transkrip), gunakan dokumen konten kustom sebagai gantinya. Lihat Jenis Dokumen untuk detail lebih lanjut.
Misalnya, jika Anda ingin Claude dapat mengutip kalimat tertentu dari potongan RAG Anda, Anda harus menempatkan setiap potongan RAG ke dalam dokumen teks biasa. Jika tidak, jika Anda tidak ingin pemecahan lebih lanjut dilakukan, atau jika Anda ingin menyesuaikan pemecahan tambahan, Anda dapat menempatkan potongan RAG ke dalam dokumen konten kustom.
Konten yang dapat dikutip vs tidak dapat dikutip
- Teks yang ditemukan dalam konten
source
dokumen dapat dikutip. title
dancontext
adalah bidang opsional yang akan diteruskan ke model tetapi tidak digunakan untuk konten yang dikutip.title
terbatas panjangnya sehingga Anda mungkin menemukan bidangcontext
berguna untuk menyimpan metadata dokumen sebagai teks atau json yang diubah menjadi string.
Indeks kutipan
- Indeks dokumen diindeks-0 dari daftar semua blok konten dokumen dalam permintaan (mencakup semua pesan).
- Indeks karakter diindeks-0 dengan indeks akhir eksklusif.
- Nomor halaman diindeks-1 dengan nomor halaman akhir eksklusif.
- Indeks blok konten diindeks-0 dengan indeks akhir eksklusif dari daftar
content
yang disediakan dalam dokumen konten kustom.
Biaya token
- Mengaktifkan kutipan menyebabkan sedikit peningkatan token input karena penambahan prompt sistem dan pemecahan dokumen.
- Namun, fitur kutipan sangat efisien dengan token output. Di balik layar, model menghasilkan kutipan dalam format standar yang kemudian diurai menjadi teks yang dikutip dan indeks lokasi dokumen. Bidang
cited_text
disediakan untuk kenyamanan dan tidak dihitung sebagai token output. - Ketika diteruskan kembali dalam giliran percakapan berikutnya,
cited_text
juga tidak dihitung sebagai token input.
Kompatibilitas fitur
Kutipan bekerja bersama dengan fitur API lainnya termasuk prompt caching, penghitungan token dan pemrosesan batch.
Menggunakan Prompt Caching dengan Kutipan
Kutipan dan prompt caching dapat digunakan bersama secara efektif.
Blok kutipan yang dihasilkan dalam respons tidak dapat di-cache secara langsung, tetapi dokumen sumber yang mereka referensikan dapat di-cache. Untuk mengoptimalkan kinerja, terapkan cache_control
ke blok konten dokumen tingkat atas Anda.
Dalam contoh ini:
- Konten dokumen di-cache menggunakan
cache_control
pada blok dokumen - Kutipan diaktifkan pada dokumen
- Claude dapat menghasilkan respons dengan kutipan sambil memanfaatkan konten dokumen yang di-cache
- Permintaan berikutnya yang menggunakan dokumen yang sama akan mendapat manfaat dari konten yang di-cache
Jenis Dokumen
Memilih jenis dokumen
Kami mendukung tiga jenis dokumen untuk kutipan. Dokumen dapat disediakan langsung dalam pesan (base64, teks, atau URL) atau diunggah melalui Files API dan direferensikan dengan file_id
:
Jenis | Terbaik untuk | Pemecahan | Format kutipan |
---|---|---|---|
Teks biasa | Dokumen teks sederhana, prosa | Kalimat | Indeks karakter (indeks-0) |
File PDF dengan konten teks | Kalimat | Nomor halaman (indeks-1) | |
Konten kustom | Daftar, transkrip, pemformatan khusus, kutipan yang lebih terperinci | Tidak ada pemecahan tambahan | Indeks blok (indeks-0) |
Dokumen teks biasa
Dokumen teks biasa secara otomatis dipecah menjadi kalimat. Anda dapat menyediakannya secara inline atau dengan referensi dengan file_id
mereka:
Dokumen PDF
Dokumen PDF dapat disediakan sebagai data yang dikodekan base64 atau dengan file_id
. Teks PDF diekstrak dan dipecah menjadi kalimat. Karena kutipan gambar belum didukung, PDF yang merupakan hasil pemindaian dokumen dan tidak mengandung teks yang dapat diekstrak tidak akan dapat dikutip.
Dokumen konten kustom
Dokumen konten kustom memberi Anda kontrol atas granularitas kutipan. Tidak ada pemecahan tambahan yang dilakukan dan potongan disediakan ke model sesuai dengan blok konten yang disediakan.
Struktur Respons
Ketika kutipan diaktifkan, respons mencakup beberapa blok teks dengan kutipan:
Dukungan Streaming
Untuk respons streaming, kami telah menambahkan tipe citations_delta
yang berisi satu kutipan untuk ditambahkan ke daftar citations
pada blok konten text
saat ini.