Перейти к содержимому

AWS Bedrock

Hermes Agent поддерживает Amazon Bedrock как нативный провайдер с использованием Converse API — а не OpenAI-совместимого endpoint. Это дает вам полный доступ к экосистеме Bedrock: аутентификация IAM, Guardrails, профили inference между регионами и все foundation models.

  • учетные данные AWS — любой источник, поддерживаемый цепочкой учетных данных boto3:

  • роль экземпляра IAM (EC2, ECS, Lambda — нулевая конфигурация)

    • переменные окружения AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY
    • AWS_PROFILE для SSO или именованных профилей
    • aws configure для локальной разработки
  • boto3 — установите с помощью pip install hermes-agent[bedrock]

  • разрешения IAM — как минимум:

  • bedrock:InvokeModel и bedrock:InvokeModelWithResponseStream (для inference)

    • bedrock:ListFoundationModels и bedrock:ListInferenceProfiles (для обнаружения моделей)

:::tip EC2 / ECS / Lambda На вычислительных ресурсах AWS прикрепите роль IAM с AmazonBedrockFullAccess — и готово. Никаких ключей API, никакой настройки .env — Hermes автоматически определяет роль экземпляра. :::

Окно терминала
# Install with Bedrock support
pip install hermes-agent[bedrock]
# Select Bedrock as your provider
hermes model
# → Choose "More providers..." → "AWS Bedrock"
# → Select your region and model
# Start chatting
hermes chat

После запуска hermes model ваш ~/.hermes/config.yaml будет содержать:

model:
default: us.anthropic.claude-sonnet-4-6
provider: bedrock
base_url: https://bedrock-runtime.us-east-2.amazonaws.com
bedrock:
region: us-east-2

Задайте регион AWS любым из этих способов (в порядке убывания приоритета):

  1. bedrock.region в config.yaml
  2. переменная окружения AWS_REGION
  3. переменная окружения AWS_DEFAULT_REGION
  4. По умолчанию: us-east-1

Чтобы применить Amazon Bedrock Guardrails ко всем вызовам модели:

bedrock:
region: us-east-2
guardrail:
guardrail_identifier: "abc123def456"
# From the Bedrock console
guardrail_version: "1"
# Version number or "DRAFT"
stream_processing_mode: "async"
# "sync" or "async"
trace: "disabled"
# "enabled", "disabled", or "enabled_full"

Hermes автоматически обнаруживает доступные модели через control plane Bedrock. Вы можете настроить обнаружение:

bedrock:
discovery:
enabled: true
provider_filter: ["anthropic", "amazon"]
# Only show these providers
refresh_interval: 3600
# Cache for 1 hour

Модели Bedrock используют ID профиля инференса для вызова по требованию. Селектор hermes model показывает их автоматически, а рекомендуемые модели находятся сверху:

МодельIDПримечания
Claude Sonnet 4.6us.anthropic.claude-sonnet-4-6Рекомендуется — лучший баланс скорости и возможностей
Claude Opus 4.6us.anthropic.claude-opus-4-6-v1Наиболее мощная
Claude Haiku 4.5us.anthropic.claude-haiku-4-5-20251001-v1:0Самая быстрая Claude
Amazon Nova Prous.amazon.nova-pro-v1:0Флагман Amazon
Amazon Nova Microus.amazon.nova-micro-v1:0Самая быстрая и дешевая
DeepSeek V3.2deepseek.v3.2Сильная открытая модель
Llama 4 Scout 17Bus.meta.llama4-scout-17b-instruct-v1:0Последняя модель Meta

:::info Межрегиональный инференс Модели с префиксом us. используют профили межрегионального инференса, которые обеспечивают лучшую емкость и автоматическое переключение при сбоях между регионами AWS. Модели с префиксом global. маршрутизируются через все доступные регионы по всему миру. :::

Используйте команду /model во время разговора:

/model us.amazon.nova-pro-v1:0
/model deepseek.v3.2
/model us.anthropic.claude-opus-4-6-v1
Окно терминала
hermes doctor

Проверка doctor проверяет:

  • Доступны ли учетные данные AWS (env vars, роль IAM, SSO)
  • Установлен ли boto3
  • Доступен ли API Bedrock (ListFoundationModels)
  • Количество доступных моделей в вашем регионе

Gateway (платформы обмена сообщениями)Bedrock работает со всеми платформами gateway Hermes (Telegram, Discord, Slack, Feishu и т. д.). Настройте Bedrock как своего провайдера, затем запустите gateway как обычно:

Заголовок раздела «Gateway (платформы обмена сообщениями)Bedrock работает со всеми платформами gateway Hermes (Telegram, Discord, Slack, Feishu и т. д.). Настройте Bedrock как своего провайдера, затем запустите gateway как обычно:»
Окно терминала
hermes gateway setup
hermes gateway start

Gateway считывает config.yaml и использует ту же конфигурацию провайдера Bedrock.

”Ключ API не найден” / “Учетные данные AWS не найдены”

Заголовок раздела «”Ключ API не найден” / “Учетные данные AWS не найдены”»

Hermes проверяет наличие учетных данных в таком порядке:

  1. AWS_BEARER_TOKEN_BEDROCK
  2. AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY
  3. AWS_PROFILE
  4. Метаданные инстанса EC2 (IMDS)
  5. Учетные данные контейнера ECS
  6. Роль выполнения Lambda

Если ничего не найдено, выполните aws configure или прикрепите роль IAM к своему вычислительному инстансу.

”Invocation of model ID … with on-demand throughput isn’t supported”

Заголовок раздела «”Invocation of model ID … with on-demand throughput isn’t supported”»

Используйте ID профиля inference (с префиксом us. или global.) вместо обычного ID foundation model. Например:

  • anthropic.claude-sonnet-4-6
  • us.anthropic.claude-sonnet-4-6

Вы достигли лимита Bedrock на частоту запросов для модели. Hermes автоматически повторяет попытки с backoff. Чтобы увеличить лимиты, запросите увеличение квоты в [консоли квот сервиса AWS.

Для полностью автоматизированного развертывания на EC2 с CloudFormation:

sample-hermes-agent-on-aws-with-bedrock — создает VPC, роль IAM, инстанс EC2 и автоматически настраивает Bedrock. Развертывание в любом регионе в один клик.