Loading...
    • Bangun
    • Admin
    • Model & harga
    • Client SDKs
    • API Reference
    Search...
    ⌘K
    Langkah pertama
    Pengenalan ClaudePanduan cepat
    Membangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIClaude API skillMenangani alasan penghentian
    Kemampuan model
    Extended thinkingAdaptive thinkingUpayaAnggaran tugas (beta)Mode cepat (beta: pratinjau penelitian)Output terstrukturKutipanStreaming MessagesPemrosesan batchHasil pencarianStreaming penolakanDukungan multibahasaEmbeddings
    Alat
    IkhtisarCara kerja penggunaan alatAlat pencarian webAlat pengambilan webAlat eksekusi kodeAlat penasihatAlat memoriAlat BashAlat penggunaan komputerAlat editor teks
    Infrastruktur alat
    Referensi alatPencarian alatPemanggilan alat terprogramStreaming alat berbutir halus
    Manajemen konteks
    Jendela konteksPemadatanPengeditan konteksPrompt cachingPenghitungan token
    Bekerja dengan file
    Files APIDukungan PDFGambar dan visi
    Skills
    IkhtisarPanduan cepatPraktik terbaikSkills untuk enterpriseSkills dalam API
    MCP
    Server MCP jarak jauhMCP connector
    Rekayasa prompt
    IkhtisarPraktik terbaik promptingAlat prompting Console
    Uji dan evaluasi
    Tentukan kesuksesan dan bangun evaluasiMenggunakan Alat Evaluasi di ConsoleMengurangi latensi
    Perkuat guardrail
    Kurangi halusinasiTingkatkan konsistensi outputMitigasi jailbreakKurangi kebocoran prompt
    Sumber daya
    Glosarium
    Catatan rilis
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

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

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    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
    Kemampuan model

    Kutipan

    Claude dapat memberikan kutipan terperinci saat menjawab pertanyaan tentang dokumen, membantu Anda melacak dan memverifikasi sumber informasi dalam respons.

    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

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    Claude mampu memberikan kutipan terperinci saat menjawab pertanyaan tentang dokumen, membantu Anda melacak dan memverifikasi sumber informasi dalam respons.

    Semua model aktif mendukung kutipan, dengan pengecualian Haiku 3.

    Bagikan umpan balik dan saran Anda tentang fitur kutipan menggunakan formulir ini.

    Berikut adalah contoh cara menggunakan kutipan dengan Messages API:

    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-opus-4-7",
        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 solusi kutipan berbasis prompt, fitur kutipan memiliki keuntungan berikut:

    • Penghematan biaya: Jika pendekatan berbasis prompt Anda meminta Claude untuk mengeluarkan kutipan langsung, Anda mungkin melihat penghematan biaya karena fakta bahwa cited_text tidak dihitung menuju token output Anda.
    • Keandalan kutipan yang lebih baik: Karena kutipan diurai ke dalam format respons masing-masing yang disebutkan di atas dan cited_text diekstrak, kutipan dijamin berisi penunjuk yang valid ke dokumen yang disediakan.
    • Kualitas kutipan yang ditingkatkan: Dalam evaluasi, fitur kutipan ditemukan jauh lebih mungkin untuk mengutip kutipan paling relevan dari dokumen dibandingkan dengan pendekatan murni berbasis prompt.

    Cara kerja kutipan

    Integrasikan kutipan dengan Claude dalam langkah-langkah berikut:

    Pemotong otomatis vs konten kustom

    Secara default, dokumen teks biasa dan PDF dipotong secara otomatis 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 spesifik dari potongan RAG Anda, Anda harus menempatkan setiap potongan RAG ke dalam dokumen teks biasa. Jika tidak, jika Anda tidak menginginkan pemotong lebih lanjut untuk dilakukan, atau jika Anda ingin menyesuaikan pemotong 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 bidang opsional yang akan diteruskan ke model tetapi tidak digunakan menuju konten yang dikutip.
    • title dibatasi panjangnya sehingga Anda mungkin menemukan bidang context berguna dalam menyimpan metadata dokumen apa pun sebagai teks atau json yang distring.

    Indeks kutipan

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

    Biaya token

    • Mengaktifkan kutipan menimbulkan peningkatan kecil dalam token input karena penambahan prompt sistem dan pemotong dokumen.
    • Namun, fitur kutipan sangat efisien dengan token output. Di balik layar, model mengeluarkan kutipan dalam format standar yang kemudian diurai menjadi teks yang dikutip dan indeks lokasi dokumen. Bidang cited_text disediakan untuk kenyamanan dan tidak dihitung menuju token output.
    • Ketika diteruskan kembali dalam putaran percakapan berikutnya, cited_text juga tidak dihitung menuju token input.

    Kompatibilitas fitur

    Kutipan bekerja bersama dengan fitur API lainnya termasuk prompt caching, token counting dan batch processing.

    Kutipan dan Structured Outputs tidak kompatibel

    Kutipan tidak dapat digunakan bersama dengan Structured Outputs. Jika Anda mengaktifkan kutipan pada dokumen apa pun yang disediakan pengguna (blok Dokumen atau RequestSearchResultBlock) dan juga menyertakan parameter output_config.format (atau parameter output_format yang sudah usang), API akan mengembalikan kesalahan 400.

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

    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 direferensikan 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 mendapat manfaat dari konten dokumen yang di-cache
    • Permintaan berikutnya menggunakan dokumen yang sama akan mendapat 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 oleh file_id:

    JenisTerbaik untukPemotongFormat kutipan
    Teks biasaDokumen teks sederhana, prosaKalimatIndeks karakter (0-indexed)
    PDFFile PDF dengan konten teksKalimatNomor halaman (1-indexed)
    Konten kustomDaftar, transkrip, pemformatan khusus, kutipan lebih granularTidak ada pemotong tambahanIndeks blok (0-indexed)

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

    Dokumen teks biasa

    Dokumen teks biasa secara otomatis dipotong 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 oleh file_id. Teks PDF diekstrak dan dipotong menjadi kalimat. Karena kutipan gambar belum didukung, PDF yang merupakan 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 pemotong tambahan yang dilakukan dan potongan disediakan ke model sesuai dengan blok konten yang disediakan.

    {
        "type": "document",
        "source": {
            "type": "content",
            "content": [
                {"type": "text", "text": "First chunk"},
                {"type": "text", "text": "Second chunk"},
            ],
        },
        "title": "Document Title",  # optional
        "context": "Context about the document that will not be cited from",  # optional
        "citations": {"enabled": True},
    }


    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, jenis citations_delta disertakan yang berisi kutipan tunggal yang akan ditambahkan ke daftar citations pada blok konten text saat ini.

    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 atau tidak ada dokumen dalam permintaan.
      • Perhatikan bahwa hanya kutipan teks yang saat ini didukung dan kutipan gambar belum dimungkinkan.
    2. 2

      Dokumen diproses

      • Konten dokumen "dipotong" untuk menentukan granularitas minimum kutipan yang mungkin. Misalnya, pemotong kalimat akan memungkinkan Claude untuk mengutip satu kalimat atau menggabungkan beberapa kalimat berturut-turut untuk mengutip paragraf (atau lebih lama)!
        • Untuk PDF: Teks diekstrak seperti yang dijelaskan dalam Dukungan PDF dan konten dipotong menjadi kalimat. Mengutip gambar dari PDF saat ini tidak didukung.
        • Untuk dokumen teks biasa: Konten dipotong menjadi kalimat yang dapat dikutip.
        • Untuk dokumen konten kustom: Blok konten yang Anda sediakan digunakan apa adanya dan tidak ada pemotong lebih lanjut yang dilakukan.
    3. 3

      Claude memberikan respons yang dikutip

      • 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 mereferensikan lokasi spesifik dalam dokumen sumber. Format kutipan ini tergantung pada jenis dokumen yang dikutip.
        • Untuk PDF: Kutipan mencakup rentang nomor halaman (1-indexed).
        • Untuk dokumen teks biasa: Kutipan mencakup rentang indeks karakter (0-indexed).
        • Untuk dokumen konten kustom: Kutipan mencakup rentang indeks blok konten (0-indexed) yang sesuai dengan daftar konten asli yang Anda sediakan.
      • Indeks dokumen disediakan untuk menunjukkan sumber referensi dan 0-indexed sesuai dengan daftar semua dokumen dalam permintaan asli Anda.
    client = anthropic.Anthropic()
    
    # Long document content (e.g., technical documentation)
    long_document = (
        "This is a very long document with thousands of words..." + " ... " * 1000
    )  # Minimum cacheable length
    
    response = client.messages.create(
        model="claude-opus-4-7",
        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)