Hermes Agent 使用 Converse API 將 Amazon Bedrock 作為原生供應商支援 — 而非 OpenAI 相容端點。這讓你完全存取 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:InvokeModel和bedrock:InvokeModelWithResponseStream(用於推論)bedrock:ListFoundationModels和bedrock:ListInferenceProfiles(用於模型發現)
提示 — EC2 / ECS / Lambda
在 AWS 運算上,附加一個具有
AmazonBedrockFullAccess的 IAM 角色就完成了。不需要 API 金鑰、不需要.env設定 — Hermes 自動偵測實例角色。
快速開始
# 安裝 Bedrock 支援
pip install hermes-agent[bedrock]
# 選擇 Bedrock 作為你的供應商
hermes model
# → 選擇 "More providers..." → "AWS Bedrock"
# → 選擇你的區域和模型
# 開始聊天
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 區域(優先順序從高到低):
config.yaml中的bedrock.regionAWS_REGION環境變數AWS_DEFAULT_REGION環境變數- 預設:
us-east-1
Guardrails
要將 Amazon Bedrock Guardrails 套用到所有模型呼叫:
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"
模型發現
Hermes 透過 Bedrock 控制平面自動發現可用模型。你可以自訂發現:
bedrock:
discovery:
enabled: true
provider_filter: ["anthropic", "amazon"] # 僅顯示這些供應商
refresh_interval: 3600 # 快取 1 小時
可用模型
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 指令:
/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、Feishu 等)配合使用。將 Bedrock 設定為你的供應商,然後正常啟動閘道:
hermes gateway setup
hermes gateway start
閘道讀取 config.yaml 並使用相同的 Bedrock 供應商設定。
疑難排解
「No API key found」/「No AWS credentials」
Hermes 按以下順序檢查憑證:
AWS_BEARER_TOKEN_BEDROCKAWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEYAWS_PROFILE- EC2 實例中繼資料(IMDS)
- ECS 容器憑證
- 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 控制台 請求配額增加。
一鍵 AWS 部署
在 EC2 上使用 CloudFormation 進行全自動部署:
sample-hermes-agent-on-aws-with-bedrock — 建立 VPC、IAM 角色、EC2 實例,並自動設定 Bedrock。在任何區域一鍵部署。