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 menyambung ke penyedia yang tidak memiliki konektor bawaan.
Topik
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"} ] } ] } } }
-
endpoint (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) - Kapan
true, klien dapat menggunakan ID model tanpa awalan penyedia (misalnya,claude-opus-4-7bukananthropic.claude-opus-4-7). Default kefalse. -
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 meneruskan ke penyedia jika berbeda dari jalur permintaan.
-
model (opsional) - Model yang didukung untuk operasi ini. Setiap entri menyertakan 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 perutean.
Format URL-nya 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 Anthropic SDK
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
Saat 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:
-
Perutean yang memenuhi syarat - Jika ID model berisi a
/dan awalan cocok dengan nama target, permintaan dirutekan ke target tersebut (misalnya,openai/gpt-5.5rute ke target).openai -
Perutean yang tidak memenuhi syarat - Jika ID model tidak berisi a
/, gateway mencocokkannya dengan semua target yang dikonfigurasi. Pencocokan yang tepat diprioritaskan di atas pola glob. Jika tepat satu target cocok, permintaan diarahkan ke sana. -
Penanganan tabrakan — Ketika beberapa target cocok dengan model yang sama pada spesifisitas yang sama, gateway default ke target Amazon Bedrock jika salah satu di antara 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).
Streaming
Streaming mengikuti konvensi OpenAI SSE. Setel "stream": true di 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_ROLEuntuk penyedia yang menerima otentikasi IAM (seperti Amazon Bedrock). -
Kunci API — Gunakan
API_KEYuntuk penyedia yang memerlukan kunci API (seperti OpenAI dan Anthropic). Gateway menyuntikkan kunci API yang disimpan ke dalam permintaan keluar.