跳到主要內容

AWS Bedrock

Hermes Agent 通過 Converse API(而非 OpenAI 兼容端點)原生支持 Amazon Bedrock 作為提供商。這使您可以完全訪問 Bedrock 生態系統:IAM 身份驗證、Guardrails(護欄)、跨區域推理配置文件以及所有基礎模型。

前提條件

  • AWS 憑證boto3 憑證鏈 支持的任何來源:
    • IAM 實例角色(EC2、ECS、Lambda — 零配置)
    • AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY 環境變量
    • 用於 SSO 或命名配置文件的 AWS_PROFILE
    • 用於本地開發的 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

區域 (Region)

通過以下任一方式設置 AWS 區域(優先級從高到低):

  1. config.yaml 中的 bedrock.region
  2. AWS_REGION 環境變量
  3. AWS_DEFAULT_REGION 環境變量
  4. 默認值:us-east-1

Guardrails(護欄)

要將 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 通過 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:0Amazon 的旗艦模型
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

Doctor 檢查以下內容:

  • AWS 憑證是否可用(環境變量、IAM 角色、SSO)
  • 是否安裝了 boto3
  • Bedrock API 是否可達(ListFoundationModels)
  • 您所在區域的可用模型數量

網關(消息平臺)

Bedrock 適用於所有 Hermes 網關平臺(Telegram、Discord、Slack、飛書等)。將 Bedrock 配置為您的提供商,然後正常啟動網關:

hermes gateway setup
hermes gateway start

網關讀取 config.yaml 並使用相同的 Bedrock 提供商配置。

故障排除

“No API key found” / “No AWS credentials”

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”

請使用推理配置文件 ID(以 us.global. 為前綴),而不是裸基礎模型 ID。例如:

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

“ThrottlingException”

您已達到 Bedrock 每模型的速率限制。Hermes 會自動使用退避策略重試。要提高限制,請在 AWS Service Quotas 控制檯 中請求配額增加。