Meminta prediksi dengan model Claude

Anda dapat menggunakan SDK Anthropic atau perintah curl untuk mengirim permintaan ke endpoint Vertex AI menggunakan nama model berikut:

  • Untuk Claude Opus 4, gunakan claude-opus-4@20250514
  • Untuk Claude Sonnet 4, gunakan claude-sonnet-4@20250514
  • Untuk Claude 3.7 Sonnet, gunakan claude-3-7-sonnet@20250219
  • Untuk Claude 3.5 Sonnet v2, gunakan claude-3-5-sonnet-v2@20241022
  • Untuk Claude 3.5 Haiku, gunakan claude-3-5-haiku@20241022
  • Untuk Claude 3.5 Sonnet, gunakan claude-3-5-sonnet@20240620
  • Untuk Claude 3 Opus, gunakan claude-3-opus@20240229
  • Untuk Claude 3 Haiku, gunakan claude-3-haiku@20240307

Versi model Anthropic Claude harus digunakan dengan akhiran yang dimulai dengan simbol @ (seperti claude-3-7-sonnet@20250219 atau claude-3-5-haiku@20241022) untuk menjamin perilaku yang konsisten.

Sebelum memulai

Untuk menggunakan model Claude dari Anthropic dengan Vertex AI, Anda harus melakukan langkah-langkah berikut. Vertex AI API (aiplatform.googleapis.com) harus diaktifkan untuk menggunakan Vertex AI. Jika sudah memiliki project dengan Vertex AI API yang diaktifkan, Anda dapat menggunakan project tersebut, bukan membuat project baru.

Pastikan Anda memiliki izin yang diperlukan untuk mengaktifkan dan menggunakan model partner. Untuk mengetahui informasi selengkapnya, lihat Memberikan izin yang diperlukan.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Buka salah satu kartu model Model Garden berikut, lalu klik Aktifkan:
  9. Anthropic merekomendasikan agar Anda mengaktifkan logging 30 hari untuk aktivitas perintah dan penyelesaian Anda guna mencatat penyalahgunaan model. Untuk mengaktifkan logging, lihat [Mencatat permintaan dan respons][logging].
  10. Menggunakan Anthropic SDK

    Anda dapat membuat permintaan API ke model Claude dari Anthropic menggunakan Anthropic Claude SDK. Untuk mempelajari lebih lanjut, lihat berikut ini:

    Melakukan panggilan streaming ke model Claude menggunakan Anthropic Vertex SDK

    Contoh kode berikut menggunakan Anthropic Vertex SDK untuk melakukan panggilan streaming ke model Claude.

    Python

    Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.

    Contoh berikut menggunakan endpoint regional. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.
    # TODO(developer): Vertex AI SDK - uncomment below & run
    # pip3 install --upgrade --user google-cloud-aiplatform
    # gcloud auth application-default login
    # pip3 install -U 'anthropic[vertex]'
    
    # TODO(developer): Update and un-comment below line
    # PROJECT_ID = "your-project-id"
    
    from anthropic import AnthropicVertex
    
    client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
    result = []
    
    with client.messages.stream(
        model="claude-3-5-sonnet-v2@20241022",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": "Send me a recipe for banana bread.",
            }
        ],
    ) as stream:
        for text in stream.text_stream:
            print(text, end="", flush=True)
            result.append(text)
    
    # Example response:
    # Here's a simple recipe for delicious banana bread:
    # Ingredients:
    # - 2-3 ripe bananas, mashed
    # - 1/3 cup melted butter
    # ...
    # ...
    # 8. Bake for 50-60 minutes, or until a toothpick inserted into the center comes out clean.
    # 9. Let cool in the pan for a few minutes, then remove and cool completely on a wire rack.
    

    Melakukan panggilan unary ke model Claude menggunakan Anthropic Vertex SDK

    Contoh kode berikut menggunakan Anthropic Vertex SDK untuk melakukan panggilan unary ke model Claude.

    Python

    Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.

    Contoh berikut menggunakan endpoint regional. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.
    # TODO(developer): Vertex AI SDK - uncomment below & run
    # pip3 install --upgrade --user google-cloud-aiplatform
    # gcloud auth application-default login
    # pip3 install -U 'anthropic[vertex]'
    
    # TODO(developer): Update and un-comment below line
    # PROJECT_ID = "your-project-id"
    
    from anthropic import AnthropicVertex
    
    client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
    message = client.messages.create(
        model="claude-3-5-sonnet-v2@20241022",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": "Send me a recipe for banana bread.",
            }
        ],
    )
    print(message.model_dump_json(indent=2))
    # Example response:
    # {
    #   "id": "msg_vrtx_0162rhgehxa9rvJM5BSVLZ9j",
    #   "content": [
    #     {
    #       "text": "Here's a simple recipe for delicious banana bread:\n\nIngredients:\n- 2-3 ripe bananas...
    #   ...
    

    Menggunakan perintah curl

    Anda dapat menggunakan perintah curl untuk membuat permintaan ke endpoint Vertex AI. Perintah curl menentukan model Claude yang didukung yang ingin Anda gunakan.

    Versi model Anthropic Claude harus digunakan dengan akhiran yang dimulai dengan simbol @ (seperti claude-3-7-sonnet@20250219 atau claude-3-5-haiku@20241022) untuk menjamin perilaku yang konsisten.

    Topik berikut menunjukkan cara membuat perintah curl dan menyertakan contoh perintah curl.

    REST

    Untuk menguji prompt teks menggunakan Vertex AI API, kirim permintaan POST ke endpoint model penayang.

    Contoh berikut menggunakan endpoint regional. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • LOCATION: Region yang mendukung model Anthropic Claude. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.
    • MODEL: Nama model yang ingin Anda gunakan.
    • ROLE: Peran yang terkait dengan pesan. Anda dapat menentukan user atau assistant. Pesan pertama harus menggunakan peran user. Model Claude beroperasi dengan giliran user dan assistant yang bergantian. Jika pesan terakhir menggunakan peran assistant, maka konten respons akan langsung dilanjutkan dari konten dalam pesan tersebut. Anda dapat menggunakan ini untuk membatasi sebagian respons model.
    • STREAM: Boolean yang menentukan apakah respons di-streaming atau tidak. Streaming respons Anda untuk mengurangi persepsi latensi penggunaan akhir. Setel ke true untuk melakukan streaming respons dan false untuk menampilkan respons sekaligus.
    • CONTENT: Konten, seperti teks, dari pesan user atau assistant.
    • MAX_TOKENS: Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar 3,5 karakter. 100 token setara dengan sekitar 60-80 kata.

      Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk potensi respons yang lebih panjang.

    • TOP_P (Opsional): Top-P mengubah cara model memilih token untuk output. Token dipilih dari yang paling mungkin hingga yang paling tidak mungkin sampai jumlah probabilitasnya sama dengan nilai top-P. Misalnya, jika token A, B, dan C memiliki probabilitas 0,3, 0,2, dan 0,1 dengan nilai top-P adalah 0.5, model akan memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan C sebagai kandidat.

      Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.

    • TOP_K(Opsional): Top-K mengubah cara model memilih token untuk output. Top-K dari 1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan nilai top-K dari 3 berarti token berikutnya dipilih di antara tiga token yang paling mungkin menggunakan suhu.

      Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sampelnya. Kemudian token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan pengambilan sampel suhu.

      Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.

    • TYPE: Untuk model Claude 3.7 Sonnet dan model Claude yang lebih baru, guna mengaktifkan mode berpikir yang diperluas, tentukan enable.
    • BUDGET_TOKENS: Jika Anda mengaktifkan penalaran yang diperluas, Anda harus menentukan jumlah token yang dapat digunakan model untuk penalaran internalnya sebagai bagian dari output. Anggaran yang lebih besar dapat memungkinkan analisis yang lebih menyeluruh untuk masalah yang kompleks dan meningkatkan kualitas respons. Anda harus menentukan nilai yang lebih besar dari atau sama dengan 1024 tetapi kurang dari MAX_TOKENS.

    Metode HTTP dan URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict

    Isi JSON permintaan:

    {
      "anthropic_version": "vertex-2023-10-16",
      "messages": [
       {
        "role": "ROLE",
        "content": "CONTENT"
       }],
      "max_tokens": MAX_TOKENS,
      "stream": STREAM,
      "thinking": {
        "type": "TYPE",
        "budget_tokens": BUDGET_TOKENS
      }
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict" | Select-Object -Expand Content

    Anda akan melihat respons JSON yang mirip seperti berikut:

    Contoh perintah curl

    MODEL_ID="MODEL"
    LOCATION="us-central1"
    PROJECT_ID="PROJECT_ID"
    
    curl \
    -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:streamRawPredict -d \
    '{
      "anthropic_version": "vertex-2023-10-16",
      "messages": [{
        "role": "user",
        "content": "Hello!"
      }],
      "max_tokens": 50,
      "stream": true}'
    

    Penggunaan alat (panggilan fungsi)

    Model Claude Anthropic mendukung alat dan panggilan fungsi untuk meningkatkan kemampuan model. Untuk mengetahui informasi selengkapnya, lihat Ringkasan penggunaan alat dalam dokumentasi Anthropic.

    Contoh berikut menunjukkan cara menggunakan alat dengan menggunakan perintah SDK atau curl. Contoh ini menelusuri restoran di sekitar San Francisco yang buka.

    Python

    Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.

    Contoh berikut menggunakan endpoint regional. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.
    # TODO(developer): Vertex AI SDK - uncomment below & run
    # pip3 install --upgrade --user google-cloud-aiplatform
    # gcloud auth application-default login
    # pip3 install -U 'anthropic[vertex]'
    from anthropic import AnthropicVertex
    
    # TODO(developer): Update and un-comment below line
    # PROJECT_ID = "your-project-id"
    
    client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
    message = client.messages.create(
        model="claude-3-5-sonnet-v2@20241022",
        max_tokens=1024,
        tools=[
            {
                "name": "text_search_places_api",
                "description": "returns information about a set of places based on a string",
                "input_schema": {
                    "type": "object",
                    "properties": {
                        "textQuery": {
                            "type": "string",
                            "description": "The text string on which to search",
                        },
                        "priceLevels": {
                            "type": "array",
                            "description": "Price levels to query places, value can be one of [PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE, PRICE_LEVEL_VERY_EXPENSIVE]",
                        },
                        "openNow": {
                            "type": "boolean",
                            "description": "whether those places are open for business.",
                        },
                    },
                    "required": ["textQuery"],
                },
            }
        ],
        messages=[
            {
                "role": "user",
                "content": "What are some affordable and good Italian restaurants open now in San Francisco??",
            }
        ],
    )
    print(message.model_dump_json(indent=2))
    # Example response:
    # {
    #   "id": "msg_vrtx_018pk1ykbbxAYhyWUdP1bJoQ",
    #   "content": [
    #     {
    #       "text": "To answer your question about affordable and good Italian restaurants
    #       that are currently open in San Francisco....
    # ...
    

    REST

    Contoh berikut menggunakan endpoint regional. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • LOCATION: Region yang mendukung model Anthropic Claude. Untuk menggunakan endpoint global, lihat Menentukan endpoint global.
    • MODEL: Nama model yang akan digunakan.
    • ROLE: Peran yang terkait dengan pesan. Anda dapat menentukan user atau assistant. Pesan pertama harus menggunakan peran user. Model Claude beroperasi dengan giliran user dan assistant yang bergantian. Jika pesan terakhir menggunakan peran assistant, maka konten respons akan langsung dilanjutkan dari konten dalam pesan tersebut. Anda dapat menggunakan ini untuk membatasi sebagian respons model.
    • STREAM: Boolean yang menentukan apakah respons di-streaming atau tidak. Streaming respons Anda untuk mengurangi persepsi latensi penggunaan akhir. Setel ke true untuk melakukan streaming respons dan false untuk menampilkan respons sekaligus.
    • CONTENT: Konten, seperti teks, dari pesan user atau assistant.
    • MAX_TOKENS: Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar 3,5 karakter. 100 token setara dengan sekitar 60-80 kata.

      Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk potensi respons yang lebih panjang.

    Metode HTTP dan URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict

    Isi JSON permintaan:

    
    {
      "anthropic_version": "vertex-2023-10-16",
      "max_tokens": MAX_TOKENS,
      "stream": STREAM,
      "tools": [
        {
          "name": "text_search_places_api",
          "description": "Returns information about a set of places based on a string",
          "input_schema": {
            "type": "object",
            "properties": {
              "textQuery": {
                "type": "string",
                "description": "The text string on which to search"
              },
              "priceLevels": {
                "type": "array",
                "description": "Price levels to query places, value can be one of [PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE, PRICE_LEVEL_VERY_EXPENSIVE]",
              },
              "openNow": {
                "type": "boolean",
                "description": "Describes whether a place is open for business at
                the time of the query."
              },
            },
            "required": ["textQuery"]
          }
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "What are some affordable and good Italian restaurants that are open now in San Francisco??"
        }
      ]
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict" | Select-Object -Expand Content

    Anda akan melihat respons JSON yang mirip seperti berikut:

    Menggunakan Vertex AI Studio

    Untuk beberapa model Anthropic Claude, Anda dapat menggunakan Vertex AI Studio untuk membuat prototipe dan menguji model AI generatif dengan cepat di konsol Google Cloud . Sebagai contoh, Anda dapat menggunakan Vertex AI Studio untuk membandingkan respons model Claude dengan model lain yang didukung seperti Google Gemini.

    Untuk mengetahui informasi selengkapnya, lihat Panduan memulai: Mengirimkan perintah teks ke Gemini menggunakan Vertex AI Studio.

    Ketersediaan kuota dan wilayah Anthropic Claude

    Model Claude memiliki kuota regional dan, untuk model yang mendukung endpoint global, kuota global. Kuota ditentukan dalam kueri per menit (QPM) dan token per menit (TPM). TPM mencakup token input dan output.

    Untuk mempertahankan performa layanan secara keseluruhan dan penggunaan yang dapat diterima, kuota maksimum mungkin bervariasi menurut akun dan, dalam beberapa kasus, akses mungkin dibatasi. Lihat kuota project Anda di halaman Quotas & System Limits di konsol Google Cloud . Anda juga harus memiliki kuota berikut yang tersedia:

    • online_prediction_requests_per_base_model dan global_online_prediction_requests_per_base_model menentukan kuota QPM Anda.

    • Untuk TPM, ada tiga nilai kuota yang berlaku untuk model tertentu:

      • Untuk model yang menghitung token input dan output secara bersamaan, online_prediction_tokens_per_minute_per_base_model dan global_online_prediction_tokens_per_minute_per_base_model menentukan kuota TPM model.
      • Untuk model yang menghitung token input dan output secara terpisah, online_prediction_input_tokens_per_minute_per_base_model dan global_online_prediction_input_tokens_per_minute_per_base_model menentukan kuota TPM input dan online_prediction_output_tokens_per_minute_per_base_model dan global_online_prediction_output_tokens_per_minute_per_base_model menentukan kuota TPM output.

      Untuk melihat model mana yang menghitung token input dan output secara terpisah, lihat Kuota menurut model dan region.

    Token input

    Daftar berikut menentukan token input yang dapat dihitung dalam kuota TPM input Anda. Token input yang dihitung oleh setiap model dapat bervariasi. Untuk melihat token input mana yang dihitung model, lihat Kuota menurut model dan region.

    • Token input mencakup semua token input, termasuk token baca cache dan tulis cache.
    • Token input yang tidak di-cache hanya mencakup token input yang tidak dibaca dari cache (token baca cache).
    • Token penulisan cache mencakup token yang digunakan untuk membuat atau mengupdate cache.

    Kuota menurut model dan wilayah

    Tabel berikut menunjukkan kuota default dan panjang konteks yang didukung untuk setiap model di setiap region.

    Model Wilayah Kuota Panjang konteks
    Claude Opus 4
    us-east5 200.000
    global endpoint 200.000
    Claude Sonnet 4
    us-east5 200.000
    europe-west1 200.000
    asia-east1 200.000
    global endpoint 200.000
    Claude 3.7 Sonnet
    us-east5 200.000
    europe-west1 200.000
    global endpoint 200.000
    Claude 3.5 Sonnet v2
    us-east5
    • QPM: 90
    • TPM: 540.000 (input dan output)
    200.000
    europe-west1
    • QPM: 55
    • TPM: 330.000 (input dan output)
    200.000
    global endpoint
    • QPM: 25
    • TPM: 140.000 (input dan output)
    200.000
    Claude 3.5 Haiku
    us-east5
    • QPM: 80
    • TPM: 350.000 (input dan output)
    200.000
    Claude 3.5 Sonnet
    us-east5
    • QPM: 80
    • TPM: 350.000 (input dan output)
    200.000
    europe-west1
    • QPM: 130
    • TPM: 600.000 (input dan output)
    200.000
    asia-southeast1
    • QPM: 35
    • TPM: 150.000 (input dan output)
    200.000
    Claude 3 Opus
    us-east5
    • QPM: 20
    • TPM: 105.000 (input dan output)
    200.000
    Claude 3 Haiku
    us-east5
    • QPM: 245
    • TPM: 600.000 (input dan output)
    200.000
    europe-west1
    • QPM: 75
    • TPM: 181.000 (input dan output)
    200.000
    asia-southeast1
    • QPM: 70
    • TPM: 174.000 (input dan output)
    200.000

    Jika ingin meningkatkan kuota untuk AI Generatif di Vertex AI, Anda dapat menggunakan konsol Google Cloud untuk meminta penambahan kuota. Untuk mempelajari kuota lebih lanjut, lihat Menangani kuota.