Bedrock
На этой странице Hermes Agent поддерживает Amazon Bedrock как нативного провайдера, используя Converse API — а не OpenAI-совместимую конечную точку. Это даёт вам полный доступ к экосистеме Bedrock: IAM-аутентификация, Guardrails, кросс-региональные профили инференса и все фундаментальные модели.
Предварительные требования¶
- Учётные данные 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(для инференса)bedrock:ListFoundationModelsиbedrock:ListInferenceProfiles(для обнаружения моделей)
EC2 / ECS / Lambda
На вычислительных ресурсах AWS прикрепите IAM-роль с AmazonBedrockFullAccess — и всё готово. Никаких API-ключей, никакой конфигурации .env — Hermes автоматически определяет роль инстанса.
Быстрый старт¶
[code]
# Установка с поддержкой Bedrock
pip install hermes-agent[bedrock]
# Выберите Bedrock как ваш провайдер
hermes model
# → Выберите "More providers..." → "AWS Bedrock"
# → Выберите регион и модель
# Начните чат
hermes chat
[/code]
Конфигурация¶
После выполнения hermes model ваш ~/.hermes/config.yaml будет содержать:
[code]
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
[/code]
Регион¶
Установите AWS-регион любым из этих способов (наивысший приоритет первым):
1. bedrock.region в config.yaml
2. Переменная окружения AWS_REGION
3. Переменная окружения AWS_DEFAULT_REGION
4. По умолчанию: us-east-1
Guardrails¶
Чтобы применить Amazon Bedrock Guardrails ко всем вызовам моделей:
[code]
bedrock:
region: us-east-2
guardrail:
guardrail_identifier: "abc123def456" # Из консоли Bedrock
guardrail_version: "1" # Номер версии или "DRAFT"
stream_processing_mode: "async" # "sync" или "async"
trace: "disabled" # "enabled", "disabled" или "enabled_full"
[/code]
Обнаружение моделей¶
Hermes автоматически обнаруживает доступные модели через управляющую плоскость Bedrock. Вы можете настроить обнаружение:
[code]
bedrock:
discovery:
enabled: true
provider_filter: ["anthropic", "amazon"] # Показывать только этих провайдеров
refresh_interval: 3600 # Кэширование на 1 час
[/code]
Доступные модели¶
Модели Bedrock используют ID профилей инференса для вызова по требованию. Средство выбора hermes model отображает их автоматически, с рекомендуемыми моделями наверху:
| Модель | ID | Примечания |
|---|---|--- |
|Claude Sonnet 4.6| us.anthropic.claude-sonnet-4-6| Рекомендуется — лучший баланс скорости и возможностей |
|Claude Opus 4.6| us.anthropic.claude-opus-4-6-v1| Самая мощная |
|Claude Haiku 4.5| us.anthropic.claude-haiku-4-5-20251001-v1:0| Самый быстрый Claude |
|Amazon Nova Pro| us.amazon.nova-pro-v1:0| Флагман Amazon |
|Amazon Nova Micro| us.amazon.nova-micro-v1:0| Самая быстрая, самая дешёвая |
|DeepSeek V3.2| deepseek.v3.2| Мощная открытая модель |
|Llama 4 Scout 17B| us.meta.llama4-scout-17b-instruct-v1:0| Последняя от Meta |
Кросс-региональный инференс
Модели с префиксом us. используют кросс-региональные профили инференса, которые обеспечивают лучшую пропускную способность и автоматическое переключение между регионами AWS. Модели с префиксом global. маршрутизируются через все доступные регионы по всему миру.
Переключение моделей во время сессии¶
Используйте команду /model во время разговора:
[code]
/model us.amazon.nova-pro-v1:0
/model deepseek.v3.2
/model us.anthropic.claude-opus-4-6-v1
[/code]
Диагностика¶
[code] hermes doctor
[/code]
Доктор проверяет:
* Доступны ли учётные данные AWS (переменные окружения, IAM-роль, SSO)
* Установлен ли boto3
* Доступен ли Bedrock API (ListFoundationModels)
* Количество доступных моделей в вашем регионе
Шлюз (мессенджеры)¶
Bedrock работает со всеми платформами шлюза Hermes (Telegram, Discord, Slack, Feishu и т.д.). Настройте Bedrock как ваш провайдер, затем запустите шлюз обычным образом:
[code]
hermes gateway setup
hermes gateway start
[/code]
Шлюз читает config.yaml и использует ту же конфигурацию провайдера Bedrock.
Устранение неполадок¶
«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-роль к вашему вычислительному инстансу.
«Вызов модели ... с пропускной способностью по требованию не поддерживается»¶
Используйте ID профиля инференса (с префиксом us. или global.) вместо обычного ID фундаментальной модели. Например:
* ❌ anthropic.claude-sonnet-4-6
* ✅ us.anthropic.claude-sonnet-4-6
«ThrottlingException»¶
Вы достигли лимита скорости Bedrock для данной модели. Hermes автоматически повторяет запрос с экспоненциальной задержкой. Чтобы увеличить лимиты, запросите увеличение квоты в консоли AWS Service Quotas.
Развёртывание на AWS в один клик¶
Для полностью автоматизированного развёртывания на EC2 с CloudFormation: sample-hermes-agent-on-aws-with-bedrock — создаёт VPC, IAM-роль, инстанс EC2 и автоматически настраивает Bedrock. Развёртывание в любом регионе одним кликом. * Предварительные требования * Быстрый старт * Конфигурация * Регион * Guardrails * Обнаружение моделей * Доступные модели * Переключение моделей во время сессии * Диагностика * Шлюз (мессенджеры) * Устранение неполадок * «API-ключ не найден» / «Нет учётных данных AWS» * «Вызов модели ... с пропускной способностью по требованию не поддерживается» * «ThrottlingException» * Развёртывание на AWS в один клик