View a markdown version of this page

Target konektor inferensi - Batuan Dasar Amazon AgentCore

Target konektor inferensi

Target konektor inferensi menyediakan pengaturan yang telah dikonfigurasi sebelumnya untuk penyedia model yang didukung. Saat Anda menggunakan konektor, gateway secara otomatis menangani operasi, penemuan model, terjemahan ID model, dan penulisan ulang jalur berdasarkan pengetahuan bawaan dari API penyedia, sehingga Anda tidak perlu menentukannya secara manual.

Konektor direkomendasikan saat Anda ingin menambahkan penyedia model yang didukung dengan cepat tanpa mengonfigurasi titik akhir, operasi, atau pemetaan model secara manual.

Konfigurasi target

Konfigurasi target untuk target konektor inferensi menggunakan struktur berikut:

{ "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }
  • ConnectorID (wajib) — Pengidentifikasi untuk konektor bawaan. Nilai yang didukung adalah bedrock-mantle, openai, dan anthropic.

Setiap konektor menyediakan default bawaan yang setara dengan konfigurasi penyedia yang ditentukan sepenuhnya. Misalnya, bedrock-mantle konektor secara otomatis mengkonfigurasi:

  • Pengupasan awalan ID Model — Klien dapat menghilangkan awalan penyedia dari ID model (misalnya, gunakan claude-opus-4-7 sebagai ganti). anthropic.claude-opus-4-7

  • Penulisan ulang jalur — Jalur permintaan inferensi masuk dipetakan ke jalur API penyedia.

  • Operasi yang didukung - Kumpulan operasi inferensi yang diekspos konektor, seperti penyelesaian obrolan dan pesan.

Membuat target inferensi konektor

Contoh berikut menunjukkan cara membuat target inferensi menggunakan konektor Bedrock Mantle:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "bedrock-mantle", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }, "credentialProviderConfigurations": [ {"credentialProviderType": "GATEWAY_IAM_ROLE"} ] }'

Contoh berikut menunjukkan cara membuat target inferensi menggunakan konektor OpenAI:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "openai", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "openai" } } } }, "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 menunjukkan cara membuat target inferensi menggunakan konektor Anthropic:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "anthropic", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "anthropic" } } } }, "credentialProviderConfigurations": [ { "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:token-vault/default/apikeycredentialprovider/anthropic-key", "credentialLocation": "HEADER", "credentialParameterName": "x-api-key" } } } ] }'

Memanggil target inferensi konektor

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 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!"}]}'

Daftar model yang tersedia

Untuk menemukan model yang tersedia di semua target inferensi, panggil titik akhir model daftar:

awscurl --service bedrock-agentcore --region us-west-2 \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/models"

Responsnya dalam /v1/models format OpenAI dengan ID model yang diawali dengan nama target:

{ "data": [ {"id": "bedrock-mantle/anthropic.claude-opus-4-7", "object": "model", "owned_by": "system"}, {"id": "openai/gpt-5.5", "object": "model", "owned_by": "openai"}, {"id": "anthropic/claude-sonnet-4-6", "object": "model", "owned_by": "anthropic"} ] }

owned_byBidang menunjukkan penyedia model. Nilai system menunjukkan model yang dihosting oleh Amazon Bedrock, sementara openai dan anthropic menunjukkan model yang dilayani langsung oleh penyedia tersebut.

Model-based perutean

Gateway merutekan permintaan inferensi berdasarkan model bidang di badan permintaan:

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

  2. Perutean yang tidak memenuhi syarat - Jika ID model tidak berisi a/, gateway mencocokkannya dengan semua target yang dikonfigurasi. Pencocokan yang tepat diprioritaskan daripada pola glob. Jika tepat satu target cocok, permintaan diarahkan 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 di antara yang cocok. Jika tidak, ia memilih salah satu target yang cocok secara acak pada setiap permintaan, sehingga permintaan untuk model yang sama dapat mendarat di target yang berbeda. 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="")

Batas aliran respons

penting

AgentCore Gateway tidak menerapkan maksimum tingkat layanan pada durasi aliran respons atau ukuran respons. Jika Anda tidak mengonfigurasi kebijakan batas token pada target gateway Anda, setiap permintaan dapat menghasilkan respons streaming tanpa batas.

Tanpa kebijakan batas token yang dikonfigurasi, respons tak terbatas dapat menyebabkan masalah berikut:

  • Kelelahan sumber daya gateway — Gateway menyimpan sumber daya komputasi (memori, slot kumpulan koneksi HTTP, dan CPU untuk evaluasi kebijakan) terbuka selama durasi setiap respons streaming. Aliran bersamaan yang besar dapat menghabiskan sumber daya tugas gateway.

  • Penguatan biaya pada kredensyal bersama — Semua pengguna yang merutekan melalui target yang sama berbagi satu set kredensyal penyedia. Satu pengguna yang mengirim max_tokens permintaan tinggi dapat menggunakan kuota token per menit (TPM) penyedia untuk semua pengguna target tersebut.

  • Efek tetangga yang bising - Requests-per-minute (RPM) membatasi jumlah permintaan tetapi bukan biaya per permintaan. Satu pengguna dapat menghasilkan permintaan biaya maksimum dalam batas RPM, menurunkan kinerja untuk pengguna lain.

Untuk mengurangi risiko ini, konfigurasikan kebijakan batas token pada target gateway Anda. Untuk informasi selengkapnya, lihat Kebijakan Gateway.

Otorisasi keluar

Target konektor 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 dalam permintaan keluar.