Skip to main content
GoModel kieruje requesty do Bedrocka przez API Converse i ConverseStream w Bedrock Runtime, normalizując odpowiedzi różnych rodzin modeli (Anthropic, Amazon Nova, Meta Llama, Mistral, Cohere, AI21 i inne) do chat completions kompatybilnych z OpenAI. Bedrock nie ma własnego klucza API – GoModel ustala dane uwierzytelniające AWS w czasie działania przez standardowy łańcuch danych uwierzytelniających AWS (zmienne środowiskowe, AWS_PROFILE, IAM Identity Center, role instancji/kontenerów).

Konfiguracja

Na produkcji wybieraj role instancji, IRSA lub IAM Identity Center zamiast długotrwałych kluczy dostępu. Gdy BEDROCK_BASE_URL jest pusty, GoModel korzysta z AWS_REGION / AWS_DEFAULT_REGION.

Uruchomienie GoModel

Weryfikacja

GET /v1/models zwraca modele Bedrocka z owned_by ustawionym na dostawcę modelu (np. anthropic, amazon). Streaming (stream: true) i Responses API są wewnętrznie mapowane na Converse.

Ograniczanie lub rozszerzanie listy modeli

Domyślnie GoModel odpytuje control plane Bedrocka i wypisuje wszystkie modele tekstowe on-demand, do których konto ma dostęp. Żeby przypiąć identyfikatory inference profile lub ARN-y niestandardowych modeli:
Albo w config.yaml:
Zachowanie zależy od globalnego CONFIGURED_PROVIDER_MODELS_MODE – fallback (domyślnie) używa listy tylko wtedy, gdy ListFoundationModels jest niedostępne lub puste; allowlist udostępnia tylko skonfigurowane modele i pomija wywołanie upstreamu.

Wielu providerów Bedrock

Użyj zmiennych środowiskowych z sufiksem, żeby zarejestrować osobne instancje Bedrocka:
To rejestruje providerów bedrock-us i bedrock-eu. Dane uwierzytelniające Bedrocka nadal pochodzą ze standardowego łańcucha danych uwierzytelniających AWS.

Dozwolone narzędzia

Bedrock Converse nie potrafi ograniczyć tury do podzbioru zadeklarowanych narzędzi. Dla tool_choice typu allowed_tools GoModel deklaruje tylko wymienione funkcje, z toolChoice równym any, gdy tryb to required, a auto w pozostałych przypadkach. Podzbiór, który nie wskazuje żadnej zadeklarowanej funkcji, jest odrzucany z kodem 400. allowed_tools istnieje po to, żeby klient mógł wysyłać tę samą listę narzędzi w każdej turze i zachować prompt cache. Zawężenie zmienia definicje narzędzi wysyłane do upstreamu, a w modelach Claude znajdują się one w cache’owanym prefiksie przed system promptem, więc podzbiór zmieniający się między turami unieważnia cache.

Jeszcze niezintegrowane

  • Embeddingi Bedrocka – ścieżka embeddingów InvokeModel jest specyficzna dla modelu i nie jest podłączona.

Rozwiązywanie problemów

  • AccessDeniedException / 403 – principal AWS nie ma uprawnień do Bedrocka albo w konsoli Bedrock nie przyznano dostępu do modelu.
  • on-demand throughput isn't supported – model wymaga inference profile lub provisioned throughput. Ustaw BEDROCK_MODELS na identyfikator inference profile.
  • model registry has no models – w regionie nie ma modeli tekstowych on-demand albo wywołanie control plane się nie powiodło. Ustaw BEDROCK_MODELS lub sprawdź IAM.
  • Wykryto niewłaściwy region – przekaż jawnie BEDROCK_BASE_URL. Przy pełnym URL-u endpointu GoModel wyodrębnia segment regionu tylko wtedy, gdy host kończy się na .amazonaws.com; niestandardowe endpointy łącz z AWS_REGION.

Materiały źródłowe

Ostatnia modyfikacja 24 października 2026