View a markdown version of this page

Target penyedia inferensi - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Target penyedia inferensi

Target penyedia inferensi memberi Anda kontrol eksplisit atas titik akhir, pemetaan model, dan operasi untuk penyedia model. Gunakan konfigurasi penyedia saat Anda perlu menyesuaikan model mana yang tersedia, menetapkan batas token per model, mengonfigurasi penulisan ulang jalur, atau menyambungkan ke penyedia yang tidak memiliki konektor bawaan.

Konfigurasi target

Konfigurasi target untuk target penyedia inferensi menggunakan struktur berikut:

{ "inference": { "provider": { "endpoint": "https://api.openai.com", "operations": [ { "path": "/v1/chat/completions", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"}, {"model": "gpt-5.4-mini"} ] }, { "path": "/v1/responses", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"} ] } ] } } }
  • titik akhir (wajib) — URL HTTPS dari penyedia model.

  • ModelMapping (opsional) - Konfigurasi terjemahan ID Model.

    • providerPrefix (opsional) — Mengkonfigurasi bagaimana klien dapat menghilangkan awalan penyedia dari ID model. Jika dihilangkan, tidak ada terjemahan awalan yang diterapkan dan klien harus menggunakan ID model lengkap penyedia.

      • strip (opsional) — Kapantrue, klien dapat menggunakan ID model tanpa awalan penyedia (misalnya, claude-opus-4-7 bukananthropic.claude-opus-4-7). Default ke false.

      • separator (opsional) — Karakter pemisah antara awalan penyedia dan nama model (misalnya,.).

  • operasi (opsional) — Daftar konfigurasi operasi yang memetakan jalur permintaan ke model yang didukung:

    • path (required) — Jalur permintaan untuk operasi ini (misalnya,/v1/chat/completions).

    • providerPath (opsional) — Jalur untuk diteruskan ke penyedia jika berbeda dari jalur permintaan.

    • model (opsional) — Model yang didukung untuk operasi ini. Setiap entri menyer takan bidang model (wajib) yang berisi ID model atau pola glob (misalnya,anthropic.claude-opus-*).

Membuat target inferensi penyedia

Contoh berikut membuat target inferensi OpenAI menggunakan konfigurasi penyedia:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "openai", "targetConfiguration": { "inference": { "provider": { "endpoint": "https://api.openai.com", "operations": [ { "path": "/v1/chat/completions", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"}, {"model": "gpt-5.4-mini"} ] }, { "path": "/v1/responses", "models": [ {"model": "gpt-5.5"}, {"model": "gpt-5.4"} ] } ] } } }, "credentialProviderConfigurations": [ { "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:token-vault/default/apikeycredentialprovider/openai-key", "credentialLocation": "HEADER", "credentialParameterName": "Authorization", "credentialPrefix": "Bearer " } } } ] }'

Contoh berikut membuat target inferensi Bedrock dengan konfigurasi penyedia eksplisit dan pemetaan model. modelMappingKonfigurasi dengan providerPrefix memungkinkan klien untuk menggunakan nama model pendek (seperticlaude-opus-4-7) sementara gateway menerjemahkannya ke nama awalan penyedia (seperti): anthropic.claude-opus-4-7

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "bedrock", "targetConfiguration": { "inference": { "provider": { "endpoint": "https://bedrock-mantle.us-east-1.api.aws", "modelMapping": { "providerPrefix": {"strip": true, "separator": "."} }, "operations": [ { "path": "/v1/chat/completions", "models": [ {"model": "anthropic.claude-opus-*"}, {"model": "anthropic.claude-sonnet-*"}, {"model": "openai.gpt-oss-*"} ] }, { "path": "/v1/messages", "providerPath": "/anthropic/v1/messages", "models": [ {"model": "anthropic.claude-opus-*"}, {"model": "anthropic.claude-sonnet-*"} ] } ] } } }, "credentialProviderConfigurations": [ {"credentialProviderType": "GATEWAY_IAM_ROLE"} ] }'

Memanggil target inferensi penyedia

Untuk memanggil target inferensi, kirim permintaan ke jalur gateway. /inference Gateway merutekan setiap permintaan ke target yang benar berdasarkan model bidang di badan permintaan. modelNilai dapat berupa ID model biasa (misalnya,gpt-5.5) atau ID model yang memenuhi syarat target dalam formulir {targetName}/{modelId} (misalnya,openai/gpt-5.5). Untuk detail tentang bagaimana model nilai dicocokkan dengan target, lihat Model-based routing.

Format URL adalah:

https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}

Ganti {path} dengan jalur operasi inferensi (misalnya,, v1/chat/completionsv1/responses, atauv1/messages).

Menggunakan OpenAI SDK

Atur /inference/v1 jalur gateway sebagaibase_url:

from openai import OpenAI client = OpenAI( base_url="https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1", api_key="<gateway-auth-token>" ) response = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "Hello!"}] )

Menggunakan SDK Anthropic

Atur /inference jalur gateway sebagaibase_url:

import anthropic client = anthropic.Anthropic( base_url="https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference", api_key="<gateway-auth-token>" ) response = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}] )

Menggunakan awscurl

awscurl --service bedrock-agentcore --region us-west-2 -X POST \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{"model": "gpt-5.5", "messages": [{"role": "user", "content": "Hello!"}]}'

Perutean model yang memenuhi syarat

Ketika beberapa target melayani model yang sama, awali ID model dengan nama target untuk merutekan ke penyedia tertentu:

# Route explicitly to the "bedrock" target response = client.chat.completions.create( model="bedrock/claude-opus-4-7", messages=[{"role": "user", "content": "Hello!"}] )

Model-based perutean

Gateway merutekan permintaan inferensi berdasarkan model bidang di badan permintaan:

  1. Perutean yang memenuhi syarat — Jika ID model berisi / a dan awalan cocok dengan nama target, permintaan dialihkan ke target tersebut (misalnya, openai/gpt-5.5 rute ke openai target).

  2. Perutean tidak memenuhi syarat — Jika ID model tidak berisi a/, gateway mencocokkannya dengan semua target yang dikonfigurasi. Pencocokan yang tepat lebih diprioritaskan daripada pola glob. Jika tepat satu target cocok, permintaan dialihkan ke sana.

  3. Penanganan tabrakan — Ketika beberapa target cocok dengan model yang sama pada spesifisitas yang sama, gateway default ke target Amazon Bedrock jika salah satu dari yang cocok. Jika tidak, ia mendistribusikan permintaan di seluruh target yang cocok dalam urutan round-robin. Untuk menyematkan permintaan ke target tertentu, kualifikasi model dengan nama target sebagai awalan (misalnya,bedrock/claude-opus-4-7).

Untuk menyesuaikan atau mengganti target yang dirujuk model, Anda dapat menulis ulang model bidang dalam pencegat permintaan. Untuk informasi selengkapnya, lihat Men yesuaikan perutean model dengan pencegat permintaan.

Streaming

Streaming mengikuti konvensi OpenAI SSE. Tetapkan "stream": true dalam badan permintaan, dan gateway melewati aliran SSE dari penyedia tanpa transformasi:

stream = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "Write a story."}], stream=True ) for chunk in stream: print(chunk.choices[0].delta.content, end="")

Otorisasi keluar

Target penyedia inferensi mendukung jenis otorisasi keluar berikut:

  • IAM (SIGv4) — Gunakan GATEWAY_IAM_ROLE untuk penyedia yang menerima otentikasi IAM (seperti Amazon Bedrock).

  • Kunci API — Gunakan API_KEY untuk penyedia yang memerlukan kunci API (seperti OpenAI dan Anthropic). Gateway menyuntikkan kunci API yang disimpan ke permintaan keluar.