Skip to main content

AWS 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:InvokeModelbedrock:InvokeModelWithResponseStream(用于推理)
    • bedrock:ListFoundationModelsbedrock:ListInferenceProfiles(用于模型发现)
EC2 / ECS / Lambda

在 AWS 计算资源上,只需为实例附加一个具备 AmazonBedrockFullAccess 权限的 IAM 角色即可。无需 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. config.yaml 中指定 bedrock.region
  2. 设置 AWS_REGION 环境变量
  3. 设置 AWS_DEFAULT_REGION 环境变量
  4. 默认值:us-east-1

安全护栏(Guardrails)

要为所有模型调用应用 Amazon Bedrock 安全护栏

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 会通过 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,并将推荐模型置于顶部:

模型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 Nova Microus.amazon.nova-micro-v1:0最快且成本最低
DeepSeek V3.2deepseek.v3.2强大的开源模型
Llama 4 Scout 17Bus.meta.llama4-scout-17b-instruct-v1:0Meta 最新版本
跨区域推理

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

诊断工具检查:

  • AWS 凭证是否可用(环境变量、IAM 角色、SSO)
  • 是否安装了 boto3
  • Bedrock API 是否可达(ListFoundationModels)
  • 当前区域中可用模型的数量

网关(消息平台)

Bedrock 可与所有 Hermes 网关平台(Telegram、Discord、Slack、飞书等)配合使用。将 Bedrock 配置为您的提供商后,正常启动网关即可:

hermes gateway setup
hermes gateway start

网关会读取 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 ... 的按需吞吐量调用不被支持”

请使用 推理配置文件 ID(以 us.global. 开头),而非原始基础模型 ID。例如:

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

“ThrottlingException”

已达到 Bedrock 单模型速率限制。Hermes 会自动重试并采用退避策略。如需提高限额,请在 AWS 服务配额控制台 中申请配额提升。