Providers

Amazon Bedrock

OpenClaw może używać modeli Amazon Bedrock przez dostawcę strumieniowania Bedrock Converse z pi-ai. Uwierzytelnianie Bedrock używa domyślnego łańcucha poświadczeń AWS SDK, a nie klucza API.

Właściwość Wartość
Dostawca amazon-bedrock
API bedrock-converse-stream
Uwierzytelnianie Poświadczenia AWS (zmienne env, współdzielona konfiguracja lub rola instancji)
Region AWS_REGION lub AWS_DEFAULT_REGION (domyślnie: us-east-1)

Pierwsze kroki

Wybierz preferowaną metodę uwierzytelniania i wykonaj kroki konfiguracji.

Klucze dostępu / zmienne env

Najlepsze dla: maszyn deweloperskich, CI lub hostów, na których bezpośrednio zarządzasz poświadczeniami AWS.

  • Ustaw poświadczenia AWS na hoście gateway

    export AWS_ACCESS_KEY_ID="AKIA..."
    export AWS_SECRET_ACCESS_KEY="..."
    export AWS_REGION="us-east-1"
    # Optional:
    export AWS_SESSION_TOKEN="..."
    export AWS_PROFILE="your-profile"
    # Optional (Bedrock API key/bearer token):
    export AWS_BEARER_TOKEN_BEDROCK="..."
    
  • Dodaj dostawcę Bedrock i model do swojej konfiguracji

    apiKey nie jest wymagany. Skonfiguruj dostawcę z auth: "aws-sdk":

    {
      models: {
        providers: {
          "amazon-bedrock": {
            baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
            api: "bedrock-converse-stream",
            auth: "aws-sdk",
            models: [
              {
                id: "us.anthropic.claude-opus-4-6-v1:0",
                name: "Claude Opus 4.6 (Bedrock)",
                reasoning: true,
                input: ["text", "image"],
                cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
                contextWindow: 200000,
                maxTokens: 8192,
              },
            ],
          },
        },
      },
      agents: {
        defaults: {
          model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
        },
      },
    }
    
  • Sprawdź, czy modele są dostępne

    openclaw models list
    
  • Role instancji EC2 (IMDS)

    Najlepsze dla: instancji EC2 z przypisaną rolą IAM, używających usługi metadanych instancji do uwierzytelniania.

  • Włącz wykrywanie jawnie

    Przy użyciu IMDS OpenClaw nie może wykryć uwierzytelniania AWS wyłącznie ze znaczników env, więc musisz je włączyć:

    openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
    
  • Opcjonalnie dodaj znacznik env dla trybu automatycznego

    Jeśli chcesz też, aby ścieżka automatycznego wykrywania znaczników env działała (na przykład dla powierzchni openclaw status):

    export AWS_PROFILE=default
    export AWS_REGION=us-east-1
    

    Nie potrzebujesz fałszywego klucza API.

  • Sprawdź, czy modele są wykrywane

    openclaw models list
    
  • Automatyczne wykrywanie modeli

    OpenClaw może automatycznie wykrywać modele Bedrock, które obsługują strumieniowanie i wyjście tekstowe. Wykrywanie używa bedrock:ListFoundationModels oraz bedrock:ListInferenceProfiles, a wyniki są buforowane (domyślnie: 1 godzina).

    Jak włączany jest niejawny dostawca:

    • Jeśli plugins.entries.amazon-bedrock.config.discovery.enabled ma wartość true, OpenClaw spróbuje wykrywania nawet wtedy, gdy nie ma znacznika env AWS.
    • Jeśli plugins.entries.amazon-bedrock.config.discovery.enabled nie jest ustawione, OpenClaw automatycznie dodaje niejawnego dostawcę Bedrock tylko wtedy, gdy zobaczy jeden z tych znaczników uwierzytelniania AWS: AWS_BEARER_TOKEN_BEDROCK, AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY lub AWS_PROFILE.
    • Rzeczywista ścieżka uwierzytelniania runtime Bedrock nadal używa domyślnego łańcucha AWS SDK, więc współdzielona konfiguracja, SSO i uwierzytelnianie rolą instancji IMDS mogą działać nawet wtedy, gdy wykrywanie wymagało enabled: true, aby je włączyć.
    Opcje konfiguracji wykrywania

    Opcje konfiguracji znajdują się pod plugins.entries.amazon-bedrock.config.discovery:

    {
      plugins: {
        entries: {
          "amazon-bedrock": {
            config: {
              discovery: {
                enabled: true,
                region: "us-east-1",
                providerFilter: ["anthropic", "amazon"],
                refreshInterval: 3600,
                defaultContextWindow: 32000,
                defaultMaxTokens: 4096,
              },
            },
          },
        },
      },
    }
    
    Opcja Domyślnie Opis
    enabled auto W trybie automatycznym OpenClaw włącza niejawnego dostawcę Bedrock tylko wtedy, gdy zobaczy obsługiwany znacznik env AWS. Ustaw true, aby wymusić wykrywanie.
    region AWS_REGION / AWS_DEFAULT_REGION / us-east-1 Region AWS używany do wywołań API wykrywania.
    providerFilter (wszystkie) Dopasowuje nazwy dostawców Bedrock (na przykład anthropic, amazon).
    refreshInterval 3600 Czas trwania pamięci podręcznej w sekundach. Ustaw 0, aby wyłączyć buforowanie.
    defaultContextWindow 32000 Okno kontekstu używane dla wykrytych modeli (nadpisz, jeśli znasz limity swojego modelu).
    defaultMaxTokens 4096 Maksymalna liczba tokenów wyjściowych używana dla wykrytych modeli (nadpisz, jeśli znasz limity swojego modelu).

    Szybka konfiguracja (ścieżka AWS)

    Ten przewodnik tworzy rolę IAM, przypisuje uprawnienia Bedrock, kojarzy profil instancji i włącza wykrywanie OpenClaw na hoście EC2.

    # 1. Create IAM role and instance profile
    aws iam create-role --role-name EC2-Bedrock-Access \
      --assume-role-policy-document '{
        "Version": "2012-10-17",
        "Statement": [{
          "Effect": "Allow",
          "Principal": {"Service": "ec2.amazonaws.com"},
          "Action": "sts:AssumeRole"
        }]
      }'
    
    aws iam attach-role-policy --role-name EC2-Bedrock-Access \
      --policy-arn arn:aws:iam::aws:policy/AmazonBedrockFullAccess
    
    aws iam create-instance-profile --instance-profile-name EC2-Bedrock-Access
    aws iam add-role-to-instance-profile \
      --instance-profile-name EC2-Bedrock-Access \
      --role-name EC2-Bedrock-Access
    
    # 2. Attach to your EC2 instance
    aws ec2 associate-iam-instance-profile \
      --instance-id i-xxxxx \
      --iam-instance-profile Name=EC2-Bedrock-Access
    
    # 3. On the EC2 instance, enable discovery explicitly
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
    
    # 4. Optional: add an env marker if you want auto mode without explicit enable
    echo 'export AWS_PROFILE=default' >> ~/.bashrc
    echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
    source ~/.bashrc
    
    # 5. Verify models are discovered
    openclaw models list
    

    Konfiguracja zaawansowana

    Profile inferencji

    OpenClaw wykrywa regionalne i globalne profile inferencji obok modeli bazowych. Gdy profil mapuje się na znany model bazowy, profil dziedziczy możliwości tego modelu (okno kontekstu, maksymalną liczbę tokenów, reasoning, vision), a poprawny region żądania Bedrock jest wstrzykiwany automatycznie. Oznacza to, że międzyregionalne profile Claude działają bez ręcznych nadpisań dostawcy.

    Identyfikatory profili inferencji wyglądają jak us.anthropic.claude-opus-4-6-v1:0 (regionalne) albo anthropic.claude-opus-4-6-v1:0 (globalne). Jeśli model bazowy jest już w wynikach wykrywania, profil dziedziczy pełny zestaw jego możliwości; w przeciwnym razie stosowane są bezpieczne wartości domyślne.

    Nie jest potrzebna dodatkowa konfiguracja. Dopóki wykrywanie jest włączone, a podmiot IAM ma bedrock:ListInferenceProfiles, profile pojawiają się obok modeli bazowych w openclaw models list.

    Temperatura Claude Opus 4.7

    Bedrock odrzuca parametr temperature dla Claude Opus 4.7. OpenClaw automatycznie pomija temperature dla każdego odwołania Bedrock do Opus 4.7, w tym identyfikatorów modeli bazowych, nazwanych profili inferencji, aplikacyjnych profili inferencji, których model bazowy rozpoznaje się jako Opus 4.7 przez bedrock:GetInferenceProfile, oraz wariantów z kropkami opus-4.7 z opcjonalnymi prefiksami regionu (us., eu., ap., apac., au., jp., global.). Nie jest wymagane żadne ustawienie konfiguracji, a pominięcie dotyczy zarówno obiektu opcji żądania, jak i pola payloadu inferenceConfig.

    Guardrails

    Możesz zastosować Amazon Bedrock Guardrails do wszystkich wywołań modeli Bedrock, dodając obiekt guardrail do konfiguracji Plugin amazon-bedrock. Guardrails pozwalają wymuszać filtrowanie treści, odmowę tematów, filtry słów, filtry informacji wrażliwych oraz kontekstowe kontrole ugruntowania.

    {
      plugins: {
        entries: {
          "amazon-bedrock": {
            config: {
              guardrail: {
                guardrailIdentifier: "abc123", // guardrail ID or full ARN
                guardrailVersion: "1", // version number or "DRAFT"
                streamProcessingMode: "sync", // optional: "sync" or "async"
                trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
              },
            },
          },
        },
      },
    }
    
    Opcja Wymagane Opis
    guardrailIdentifier Tak Identyfikator Guardrail (np. abc123) lub pełny ARN (np. arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123).
    guardrailVersion Tak Numer opublikowanej wersji albo "DRAFT" dla wersji roboczej.
    streamProcessingMode Nie "sync" albo "async" dla oceny guardrail podczas strumieniowania. Jeśli pominięto, Bedrock używa wartości domyślnej.
    trace Nie "enabled" albo "enabled_full" do debugowania; pomiń lub ustaw "disabled" w produkcji.
    Osadzenia do wyszukiwania w pamięci

    Bedrock może również działać jako dostawca osadzeń dla wyszukiwania w pamięci. Jest to konfigurowane oddzielnie od dostawcy wnioskowania -- ustaw agents.defaults.memorySearch.provider na "bedrock":

    {
      agents: {
        defaults: {
          memorySearch: {
            provider: "bedrock",
            model: "amazon.titan-embed-text-v2:0", // default
          },
        },
      },
    }
    

    Osadzenia Bedrock używają tego samego łańcucha poświadczeń AWS SDK co wnioskowanie (role instancji, SSO, klucze dostępu, konfiguracja współdzielona i tożsamość web identity). Klucz API nie jest potrzebny. Gdy provider ma wartość "auto", Bedrock jest automatycznie wykrywany, jeśli ten łańcuch poświadczeń zostanie pomyślnie rozwiązany.

    Obsługiwane modele osadzeń obejmują Amazon Titan Embed (v1, v2), Amazon Nova Embed, Cohere Embed (v3, v4) i TwelveLabs Marengo. Zobacz odniesienie do konfiguracji pamięci -- Bedrock, aby uzyskać pełną listę modeli i opcje wymiarów.

    Uwagi i zastrzeżenia
    • Bedrock wymaga włączenia dostępu do modelu na Twoim koncie/w regionie AWS.
    • Automatyczne wykrywanie wymaga uprawnień bedrock:ListFoundationModels i bedrock:ListInferenceProfiles.
    • Jeśli polegasz na trybie automatycznym, ustaw jeden z obsługiwanych znaczników środowiskowych uwierzytelniania AWS na hoście Gateway. Jeśli wolisz uwierzytelnianie IMDS/konfiguracji współdzielonej bez znaczników środowiskowych, ustaw plugins.entries.amazon-bedrock.config.discovery.enabled: true.
    • OpenClaw ujawnia źródło poświadczeń w tej kolejności: AWS_BEARER_TOKEN_BEDROCK, następnie AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, następnie AWS_PROFILE, a następnie domyślny łańcuch AWS SDK.
    • Obsługa rozumowania zależy od modelu; sprawdź kartę modelu Bedrock, aby poznać aktualne możliwości.
    • Jeśli wolisz przepływ z zarządzanym kluczem, możesz także umieścić proxy zgodne z OpenAI przed Bedrock i skonfigurować je zamiast tego jako dostawcę OpenAI.

    Powiązane