Claude Platform Docs
  • Messages
  • Managed Agents
  • Admin

Search...
⌘K
Langkah pertama
Pengenalan ClaudeMulai cepat
Membangun dengan Claude
Ikhtisar fiturMenggunakan Messages APIAlasan berhenti dan fallbackPenolakan dan fallbackKredit fallback
Kemampuan model
Pemikiran diperpanjangPemikiran adaptifUpayaAnggaran tugas (beta)Mode cepat (pratinjau riset)Output terstrukturSitasiStreaming MessagesPemrosesan batchHasil pencarianStreaming penolakanDukungan multibahasaEmbeddings
Alat
IkhtisarCara kerja penggunaan alatTutorial: Membangun agen pengguna alatMendefinisikan alatMenangani panggilan alatPenggunaan alat paralelTool Runner (SDK)Penggunaan alat ketatAlat serverAlat pencarian webAlat pengambilan webAlat eksekusi kodeAlat penasihatAlat pencarian alatAlat memoriAlat BashAlat editor teksAlat penggunaan komputerPemecahan masalah
Infrastruktur alat
Referensi alatMengelola konteks alatKombinasi alatPenggunaan alat dengan caching promptPemanggilan alat terprogramStreaming alat terperinci
Manajemen konteks
Jendela konteksPemadatanPengeditan konteksCaching promptPesan sistem di tengah percakapanMembangun mode orkestrasiDiagnostik cache (beta)Penghitungan token
Bekerja dengan file
Files APIDukungan PDF
Skills
IkhtisarMulai cepatPraktik terbaikSkills untuk enterpriseSkills di API
MCP
Server MCP jarak jauhKonektor MCP
Claude di platform cloud
Amazon BedrockAmazon Bedrock (lama)Claude Platform di AWSGoogle CloudMicrosoft Foundry

Log in
Sitasi
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messages/Kemampuan model

Kutipan

Dasarkan respons Claude pada dokumen sumber Anda. Kutipan mengembalikan bagian teks persis yang mendukung setiap klaim, sehingga Anda dapat memverifikasi jawaban dan menampilkan sumber kepada pengguna Anda.


Fitur ini memenuhi syarat untuk Zero Data Retention (ZDR). Ketika organisasi Anda memiliki pengaturan ZDR, data yang dikirim melalui fitur ini tidak disimpan setelah respons API dikembalikan.

Claude dapat memberikan kutipan terperinci saat menjawab pertanyaan tentang dokumen, membantu Anda melacak dan memverifikasi sumber di balik setiap respons.

Semua model aktif mendukung kutipan, dengan pengecualian Claude Haiku 3.



Bagikan masukan dan saran Anda tentang fitur kutipan menggunakan formulir masukan kutipan.

Contoh berikut menunjukkan cara mengaktifkan kutipan pada dokumen teks biasa dengan Messages API:

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "text",
                        "media_type": "text/plain",
                        "data": "The grass is green. The sky is blue.",
                    },
                    "title": "My Document",
                    "context": "This is a trustworthy document.",
                    "citations": {"enabled": True},
                },
                {"type": "text", "text": "What color is the grass and sky?"},
            ],
        }
    ],
)
print(response)


Perbandingan dengan pendekatan berbasis prompt

Dibandingkan dengan meminta Claude untuk mengutip sumber melalui prompt, fitur kutipan menawarkan keuntungan berikut:

  • Penghematan biaya: Jika pendekatan berbasis prompt Anda meminta Claude untuk menghasilkan kutipan langsung, Anda mungkin melihat penghematan biaya karena cited_text tidak dihitung terhadap token output Anda.
  • Keandalan kutipan yang lebih baik: Karena API mengurai kutipan ke dalam format respons yang dijelaskan di bagian berikut dan mengekstrak cited_text secara langsung, kutipan dijamin berisi penunjuk yang valid ke dokumen yang disediakan.
  • Kualitas kutipan yang lebih baik: Dalam evaluasi Anthropic, fitur kutipan secara signifikan lebih mungkin mengutip kutipan yang paling relevan dari dokumen dibandingkan pendekatan yang murni berbasis prompt.

Cara kerja kutipan

Integrasikan kutipan dengan Claude dalam langkah-langkah berikut:

  1. 1

    Sediakan dokumen dan aktifkan kutipan

    • Sertakan dokumen dalam salah satu format yang didukung: dokumen PDF, teks biasa, atau konten kustom.
    • Atur citations.enabled=true pada setiap dokumen Anda. Saat ini, kutipan harus diaktifkan pada semua dokumen atau tidak sama sekali dalam satu permintaan.
    • Hanya kutipan teks yang saat ini didukung. Kutipan gambar belum dimungkinkan.
  2. 2

    Dokumen diproses

    • Konten dokumen "dipecah" (chunked) untuk menentukan granularitas minimum dari kutipan yang mungkin. Misalnya, pemecahan per kalimat memungkinkan Claude mengutip satu kalimat atau merangkai beberapa kalimat berurutan untuk mengutip paragraf atau bagian yang 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.
  3. 3

    Claude memberikan respons dengan kutipan

    • Respons sekarang dapat mencakup 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 spesifik dalam dokumen sumber. Format kutipan ini bergantung pada jenis dokumen yang dikutip.
      • Untuk PDF: Kutipan mencakup rentang nomor halaman (berindeks 1).
      • Untuk dokumen teks biasa: Kutipan mencakup rentang indeks karakter (berindeks 0).
      • Untuk dokumen konten kustom: Kutipan mencakup rentang indeks blok konten (berindeks 0) yang sesuai dengan daftar konten asli yang disediakan.
    • Indeks dokumen disediakan untuk menunjukkan sumber referensi dan berindeks 0 berdasarkan 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 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 spesifik dari potongan RAG Anda, Anda harus menempatkan setiap potongan RAG ke dalam dokumen teks biasa. Sebaliknya, jika Anda tidak ingin pemecahan lebih lanjut dilakukan, atau jika Anda ingin menyesuaikan pemecahan tambahan apa pun, 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 dan context adalah field opsional yang diteruskan ke model tetapi tidak digunakan sebagai konten yang dikutip.
  • title memiliki batasan panjang, sehingga field context berguna untuk menyimpan metadata dokumen sebagai teks atau JSON yang di-stringify.

Indeks kutipan

  • Indeks dokumen berindeks 0 dari daftar semua blok konten dokumen dalam permintaan (mencakup semua pesan).
  • Indeks karakter berindeks 0 dengan indeks akhir eksklusif.
  • Nomor halaman berindeks 1 dengan nomor halaman akhir eksklusif.
  • Indeks blok konten berindeks 0 dengan indeks akhir eksklusif dari daftar content yang disediakan dalam dokumen konten kustom.

Biaya token

  • Mengaktifkan kutipan menyebabkan sedikit peningkatan pada 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 terstandar yang kemudian diurai menjadi teks yang dikutip dan indeks lokasi dokumen. Field cited_text disediakan untuk kemudahan dan tidak dihitung terhadap token output.
  • Ketika diteruskan kembali dalam giliran percakapan berikutnya, cited_text juga tidak dihitung terhadap token input.

Kompatibilitas fitur

Kutipan bekerja bersama dengan fitur API lainnya termasuk caching prompt, penghitungan token, dan pemrosesan batch.



Kutipan dan output terstruktur tidak kompatibel

Kutipan tidak dapat digunakan bersama dengan output terstruktur. Jika Anda mengaktifkan kutipan pada dokumen yang disediakan pengguna (blok document atau blok search_result) dan juga menyertakan parameter output_config.format (atau parameter output_format yang sudah tidak digunakan lagi), API mengembalikan error 400.

Ini karena kutipan memerlukan penyisipan blok kutipan di antara output teks, yang tidak kompatibel dengan batasan skema JSON yang ketat dari output terstruktur.

Menggunakan caching prompt dengan kutipan

Kutipan dan caching prompt dapat digunakan bersama secara efektif.

Blok kutipan yang dihasilkan dalam respons tidak dapat di-cache secara langsung, tetapi dokumen sumber yang dirujuknya dapat di-cache. Untuk mengoptimalkan kinerja, terapkan cache_control pada blok konten dokumen tingkat atas Anda.

client = anthropic.Anthropic()

# Konten dokumen panjang (misalnya, dokumentasi teknis)
long_document = (
    "This is a very long document with thousands of words..." + " ... " * 1000
)  # Minimum cacheable length

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "text",
                        "media_type": "text/plain",
                        "data": long_document,
                    },
                    "citations": {"enabled": True},
                    "cache_control": {
                        "type": "ephemeral"
                    },  # Cache the document content
                },
                {
                    "type": "text",
                    "text": "What does this document say about API features?",
                },
            ],
        }
    ],
)
print(response)

Dalam contoh ini:

  • Konten dokumen di-cache menggunakan cache_control pada blok dokumen.
  • Kutipan diaktifkan pada dokumen.
  • Claude dapat menghasilkan respons dengan kutipan sambil mendapatkan manfaat dari konten dokumen yang di-cache.
  • Permintaan berikutnya yang menggunakan dokumen yang sama mendapatkan manfaat dari konten yang di-cache.

Jenis dokumen

Memilih jenis dokumen

Tiga jenis dokumen didukung untuk kutipan. Dokumen dapat disediakan langsung dalam pesan (base64, teks, atau URL) atau diunggah melalui Files API dan direferensikan dengan file_id:

JenisPaling cocok untukPemecahanFormat kutipan
Teks biasaDokumen teks sederhana, prosaKalimatIndeks karakter (berindeks 0)
PDFFile PDF dengan konten teksKalimatNomor halaman (berindeks 1)
Konten kustomDaftar, transkrip, pemformatan khusus, kutipan yang lebih granularTidak ada pemecahan tambahanIndeks blok (berindeks 0)


File .csv, .xlsx, .docx, .md, dan .txt tidak didukung sebagai blok dokumen. Konversikan file-file ini ke teks biasa dan sertakan langsung dalam konten pesan. Lihat Bekerja dengan format file lainnya.

Dokumen teks biasa

Dokumen teks biasa secara otomatis dipecah menjadi kalimat. Anda dapat menyediakannya secara inline atau dengan referensi menggunakan file_id:

Dokumen PDF

Dokumen PDF dapat disediakan sebagai data yang dienkode base64, URL, atau dengan file_id. Teks PDF diekstrak dan dipecah menjadi kalimat. Karena kutipan gambar belum didukung, PDF yang merupakan hasil pemindaian dokumen dan tidak berisi 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.

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "content",
                        "content": [
                            {"type": "text", "text": "First chunk"},
                            {"type": "text", "text": "Second chunk"},
                        ],
                    },
                    "title": "Document Title",
                    "context": "Context about the document that will not be cited from",
                    "citations": {"enabled": True},
                },
                {"type": "text", "text": "Summarize this document."},
            ],
        }
    ],
)
print(response)


Struktur respons

Ketika kutipan diaktifkan, respons mencakup beberapa blok teks dengan kutipan:

{
    "content": [
        {"type": "text", "text": "According to the document, "},
        {
            "type": "text",
            "text": "the grass is green",
            "citations": [
                {
                    "type": "char_location",
                    "cited_text": "The grass is green.",
                    "document_index": 0,
                    "document_title": "Example Document",
                    "start_char_index": 0,
                    "end_char_index": 20,
                }
            ],
        },
        {"type": "text", "text": " and "},
        {
            "type": "text",
            "text": "the sky is blue",
            "citations": [
                {
                    "type": "char_location",
                    "cited_text": "The sky is blue.",
                    "document_index": 0,
                    "document_title": "Example Document",
                    "start_char_index": 20,
                    "end_char_index": 36,
                }
            ],
        },
        {
            "type": "text",
            "text": ". Information from page 5 states that ",
        },
        {
            "type": "text",
            "text": "water is essential",
            "citations": [
                {
                    "type": "page_location",
                    "cited_text": "Water is essential for life.",
                    "document_index": 1,
                    "document_title": "PDF Document",
                    "start_page_number": 5,
                    "end_page_number": 6,
                }
            ],
        },
        {
            "type": "text",
            "text": ". The custom document mentions ",
        },
        {
            "type": "text",
            "text": "important findings",
            "citations": [
                {
                    "type": "content_block_location",
                    "cited_text": "These are important findings.",
                    "document_index": 2,
                    "document_title": "Custom Content Document",
                    "start_block_index": 0,
                    "end_block_index": 1,
                }
            ],
        },
    ]
}

Dukungan streaming

Untuk respons streaming, kutipan tiba sebagai tipe delta citations_delta di dalam event content_block_delta. Setiap delta berisi satu kutipan untuk ditambahkan ke daftar citations pada blok konten text saat ini.

Langkah selanjutnya

Pesan streaming

Tangani tipe delta citations_delta bersama dengan delta teks untuk merender respons yang dikutip saat di-stream.

Hasil pencarian

Teruskan hasil pencarian dari pipeline RAG Anda sebagai blok konten kelas satu dengan dukungan kutipan bawaan.


Dukungan PDF

Pelajari bagaimana Claude mengekstrak teks dari PDF dan bagaimana kutipan berbasis halaman dipetakan kembali ke file sumber Anda.

Files API

Unggah dokumen sekali dan referensikan dengan file_id di beberapa permintaan kutipan.

Was this page helpful?

  • Cara kerja kutipan
  • Konten yang dapat dikutip vs tidak dapat dikutip
  • Indeks kutipan
  • Biaya token
  • Kompatibilitas fitur
  • Jenis dokumen
  • Memilih jenis dokumen
  • Dokumen teks biasa
  • Dokumen PDF
  • Dokumen konten kustom
  • Struktur respons
  • Dukungan streaming
  • Langkah selanjutnya