Skip to main content
GoModel routet Bedrock-Requests über die APIs Converse und ConverseStream von Bedrock Runtime und normalisiert die Responses über alle Modellfamilien hinweg (Anthropic, Amazon Nova, Meta Llama, Mistral, Cohere, AI21 und weitere) in OpenAI-kompatible Chat Completions. Bedrock hat keinen eigenen API-Key – GoModel ermittelt AWS-Zugangsdaten zur Laufzeit über die Standard-Credential-Chain von AWS (Umgebung, AWS_PROFILE, IAM Identity Center, Instanz- und Container-Rollen).

Konfigurieren

Bevorzugen Sie im Produktivbetrieb Instanzrollen, IRSA oder IAM Identity Center gegenüber langlebigen Access Keys. Ist BEDROCK_BASE_URL leer, greift GoModel auf AWS_REGION / AWS_DEFAULT_REGION zurück.

GoModel starten

Prüfen

GET /v1/models liefert Bedrock-Modelle, bei denen owned_by auf den ursprünglichen Hersteller gesetzt ist (z. B. anthropic, amazon). Streaming (stream: true) und die Responses API werden intern auf Converse abgebildet.

Die Modellliste einschränken oder erweitern

Standardmäßig fragt GoModel die Control Plane von Bedrock ab und listet alle On-Demand-Textmodelle auf, auf die das Konto Zugriff hat. Um IDs von Inference-Profilen oder ARNs eigener Modelle festzulegen:
Oder in config.yaml:
Das Verhalten folgt der globalen Einstellung CONFIGURED_PROVIDER_MODELS_MODE – fallback (Standard) verwendet die Liste nur, wenn ListFoundationModels nicht verfügbar oder leer ist; allowlist stellt nur die konfigurierten Modelle bereit und überspringt den Upstream-Aufruf.

Mehrere Bedrock-Provider

Verwenden Sie Umgebungsvariablen mit Suffix, um separate Bedrock-Instanzen zu registrieren:
Dadurch werden die Provider bedrock-us und bedrock-eu registriert. Die Bedrock-Zugangsdaten stammen weiterhin aus der Standard-Credential-Chain von AWS.

Erlaubte Tools

Bedrock Converse kann einen Turn nicht auf eine Teilmenge der deklarierten Tools beschränken. Bei einem tool_choice vom Typ allowed_tools deklariert GoModel nur die aufgelisteten Funktionen, mit toolChoice any, wenn der Modus required ist, und andernfalls auto. Eine Teilmenge, die keine deklarierte Funktion nennt, wird mit 400 abgelehnt. allowed_tools existiert, damit ein Client bei jedem Turn dieselbe Tool-Liste senden und seinen Prompt-Cache behalten kann. Das Einschränken ändert die an Upstream gesendeten Tool-Definitionen, und bei Claude-Modellen stehen diese im gecachten Präfix vor dem System-Prompt. Eine Teilmenge, die sich zwischen Turns ändert, macht den Cache daher ungültig.

Noch nicht integriert

  • Bedrock-Embeddings – der Embedding-Pfad über InvokeModel ist modellspezifisch und nicht angebunden.

Fehlerbehebung

  • AccessDeniedException / 403 – Dem AWS-Principal fehlen Bedrock-Berechtigungen, oder der Modellzugriff wurde in der Bedrock-Konsole nicht gewährt.
  • on-demand throughput isn't supported – Das Modell erfordert ein Inference-Profil oder Provisioned Throughput. Setzen Sie BEDROCK_MODELS auf die ID des Inference-Profils.
  • model registry has no models – Die Region hat keine On-Demand-Textmodelle, oder der Aufruf der Control Plane ist fehlgeschlagen. Setzen Sie BEDROCK_MODELS oder prüfen Sie IAM.
  • Falsche Region ermittelt – Übergeben Sie BEDROCK_BASE_URL explizit. Bei einer vollständigen Endpunkt-URL extrahiert GoModel das Regionssegment nur, wenn der Host auf .amazonaws.com endet; eigene Endpunkte sollten mit AWS_REGION kombiniert werden.

Referenzen

Zuletzt geändert am 24. Oktober 2026