十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

使用 Amazon Bedrock 接入 Roo Code:从凭证配置到 Claude 扩展思考的完整指南

使用 Amazon Bedrock 接入 Roo Code:从凭证配置到 Claude 扩展思考的完整指南 使用 Amazon Bedrock 接入 Roo Code从凭证配置到 Claude 扩展思考的完整指南【免费下载链接】Roo-CodeRoo Code gives you a whole dev team of AI agents in your code editor.项目地址: https://gitcode.com/GitHub_Trending/ro/Roo-CodeAmazon Bedrock 是 AWS 提供的全托管基础模型Foundation Models服务通过统一 API 即可访问 Anthropic、Meta、Amazon Nova、DeepSeek、Qwen 等多家厂商的高性能模型。本文基于 Roo Code 官方文档 bedrock.md并结合仓库源码深入讲解如何在 Roo Code 中接入 Bedrock涵盖 AWS 凭证获取、认证方式选择、区域与推理配置、VPC 端点、服务层级、1M 上下文以及 Claude 扩展思考reasoning budget等实战细节。读完本文你将能够在 Roo Code 中完整配置 Bedrock 并规避常见配置坑。前置条件使用 Amazon Bedrock 前需要完成以下准备AWS 账户需要有效的 AWS 账户才能使用 Bedrock 服务。Bedrock 访问权限必须在 AWS 控制台申请并获批 Amazon Bedrock 的服务访问权限。模型访问权限在 Bedrock 中需要针对具体要使用的模型如 Anthropic Claude单独申请访问权限。安装 AWS CLI用于配置账户认证信息。在终端执行aws configure获取 AWS 凭证Roo Code 的 Bedrock 集成支持多种认证方式。官方文档推荐两种主方案而从源码 bedrock.ts 与设置界面 Bedrock.tsx 可以确认实际支持三种认证途径AWS Access Keys推荐用于开发创建具有必要权限至少bedrock:InvokeModel的 IAM 用户为该用户生成 Access Key ID 与 Secret Access Key如果 IAM 配置要求临时凭证可可选配置 Session Token。源码中对应awsAccessKey、awsSecretKey、awsSessionToken三个配置项构造BedrockRuntimeClient时直接以静态凭证方式传入clientConfig.credentials { accessKeyId: this.options.awsAccessKey, secretAccessKey: this.options.awsSecretKey, ...(this.options.awsSessionToken ? { sessionToken: this.options.awsSessionToken } : {}), }AWS Profile通过 AWS CLI 或手动编辑 AWS 凭证文件配置一个 profile在 Roo Code 中输入 profile 名称如default。源码中使用fromIni读取本地~/.aws/credentials与~/.aws/config并设置ignoreCache: true确保每次读取最新凭证clientConfig.credentials fromIni({ profile: this.options.awsProfile, ignoreCache: true, })API Key / Token额外途径源码还支持基于 API Key 的 Bearer Token 认证awsUseApiKeyawsApiKey并通过authSchemePreference: [httpBearerAuth]强制使用 Bearer 方案这主要用于通过 LiteLLM 等网关转发 Bedrock 的场景clientConfig.token { token: this.options.awsApiKey } clientConfig.authSchemePreference [httpBearerAuth] clientConfig.requestHandler { requestTimeout: 0 }三种方式对应的完整配置字段定义在 provider-settings.ts 的bedrockSchema中。可用模型与模型 ID 的选型Roo Code 支持通过 Bedrock 使用大量基础模型。官方文档明确指出配置时使用模型 IDmodel ID而不是模型名称例如anthropic.claude-sonnet-4-5-20250929-v1:0而非 Claude Sonnet 4.5。仓库中维护了一份完整的模型清单与定价数据位于 providers/bedrock.ts 的bedrockModels常量涵盖Anthropic Claude 系列Claude Sonnet 4 / 4.5 / 4.6、Opus 4 / 4.5 / 4.6、Haiku 4.5、Claude 3.x 全系多数支持supportsReasoningBudget与 Prompt CacheAmazon Nova 系列Nova Pro / Lite / Micro / 2 Lite 等其中 Nova 2 Lite 描述为对标 Claude Haiku 4.5 的高性价比选择DeepSeek R1deepseek.r1-v1:0128K 上下文、支持 32K 输出OpenAI GPT-OSS20B / 120B 开源模型Meta Llama 3.x 全系1B 到 405BAmazon Titan Text、Moonshot Kimi K2、MiniMax M2、Qwen3 系列等。每个模型的条目都包含maxTokens、contextWindow、supportsImages、supportsPromptCache以及按每百万 token 计价的inputPrice、outputPrice、cacheWritesPrice、cacheReadsPrice。这些价格数据被 Roo Code 用于任务成本统计。在 UI 中从 Model 下拉框选中的是内置列表如果你使用的是 Bedrock 上的自定义 ARN如 provisioned-model、imported-model、prompt-router、inference-profileRoo Code 还提供了 Use custom ARN 选项源码 bedrock.ts 中的parseArn通过正则解析各种 ARN 形态arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-v2 arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-3-5-sonnet-20241022-v2:0 arn:aws:bedrock:us-west-2:123456789012:provisioned-model/my-custom-model arn:aws-us-gov:bedrock:us-gov-west-1:123456789012:inference-profile/...当 ARN 中携带的区域与你选择的区域不一致时源码会记录警告并以 ARN 中的区域为准。若 ARN 格式非法会抛出INVALID_ARN_FORMAT错误。在 Roo Code 中配置 Bedrock按以下步骤在 Roo Code 中启用 Bedrock打开 Roo Code 设置点击 Roo Code 面板中的齿轮图标⚙。选择 Provider在 API Provider 下拉框中选择Bedrock。选择认证方式详见上文三种途径AWS Credentials填写 AWS Access Key 与 AWS Secret Key使用临时凭证时可选填写 AWS Session TokenAWS Profile填写 AWS Profile 名称如defaultAPI Key填写网关场景下的 Bearer Token。选择区域Region选择你的 Bedrock 服务所在区域如us-east-1。UI 下拉框基于 providers/bedrock.ts 中的BEDROCK_REGIONS常量覆盖 us、ap、eu、ca、sa、us-gov 等 25 个可用区。可选跨区域推理Cross-Region Inference勾选 Use cross-region inference即可在你配置的区域之外访问模型。源码会根据区域自动附加官方推荐的推理配置前缀us.、eu.、jp.、au.、apac.等映射表见 providers/bedrock.ts 的AWS_INFERENCE_PROFILE_MAPPING。注意跨区域推理可能带来更高延迟。可选VPC 端点VPC Endpoint适用于企业环境勾选 Use VPC Endpoint将所有 Bedrock API 调用路由到你的 VPC 端点在出现的文本框中输入 VPC 端点 URL从而确保所有 LLM 事务流量都留在企业内网中。UI 提示支持两种端点形态https://vpce-xxx.bedrock.region.vpce.amazonaws.com/或自定义网关地址如https://gateway.my-company.com/route/app/bedrock。源码在构建BedrockRuntimeClient时仅当awsBedrockEndpointEnabled为 true 且填入了awsBedrockEndpoint才会注入endpoint配置。选择模型在 Model 下拉框中选择期望的模型。进阶服务层级Service Tier对支持服务层级的模型Nova、DeepSeek、Qwen、GPT-OSS 等见BEDROCK_SERVICE_TIER_MODEL_IDS设置界面会额外显示Service Tier下拉框可选STANDARD/FLEX/PRIORITY。源码 bedrock.ts 将其作为请求顶层参数service_tier发送而非additionalModelRequestFields并依据 providers/bedrock.ts 中的BEDROCK_SERVICE_TIER_PRICING调整成本统计FLEX 按标准价 5 折、PRIORITY 上浮 75%。进阶全局推理Global Inference对支持全局推理的 Claude 模型Sonnet 4 / 4.5 / 4.6、Haiku 4.5、Opus 4.5 / 4.6可勾选 Global Inference源码会在模型 ID 前附加global.前缀。全局推理在优先级上高于跨区域推理并且后续请求仍以推理路由 ID 发送。进阶Prompt Cache 与 1M 上下文Prompt Cache对支持缓存的模型默认开启awsUsePromptCache默认为 true源码通过 MultiPointStrategy) 计算系统提示、消息与工具定义中的缓存点cache point放置位置并跨轮次记录previousCachePointPlacements以保持缓存点一致从而降低 token 成本。1M 上下文 Beta对 Sonnet 4 / 4.5 / 4.6、Opus 4.6 等模型见BEDROCK_1M_CONTEXT_MODEL_IDS可开启 1M context Beta此时请求会携带anthropic_beta: [context-1m-2025-08-07]上下文窗口与计费按 1M 档位tier自动切换。此外 Claude 模型请求始终会附带fine-grained-tool-streaming-2025-05-14工具流式传输 Beta。为 Claude 模型配置 Reasoning Budget扩展思考Roo Code 支持在 Bedrock 上使用 Anthropic Claude 模型的 reasoning budgetextended thinking让模型在应答前多想一步这对复杂任务尤其有价值。启用方法选择支持推理能力的 Claude 模型bedrockModels中带supportsReasoningBudget: true的模型如 Sonnet 4 / 4.5、Opus 4.x 等开启 Reasoning Mode模型设置中的enableReasoningEffort调整思考预算thinking budget控制模型思考的深度。源码 bedrock.ts 在以下任一条件满足时启用思考通过 API 元数据显式传入metadata?.thinking?.enabled或用户设置enableReasoningEffort且模型支持推理预算modelConfig.reasoningBudget。启用后请求会在additionalModelRequestFields.thinking中携带{ type: enabled, budget_tokens: N }默认预算为 4096 tokens可由modelMaxThinkingTokens覆盖同时顶层附加anthropic_version: bedrock-2023-05-31。流式响应中的思考内容thinking/reasoningContent会被解析为reasoning类型的流事件展示在 Roo Code 界面中。该功能仅对支持的 Claude 模型生效。对应测试见 bedrock-reasoning.spec.ts。常见错误与排障Roo Code 将 Bedrock API 错误分类处理见 bedrock.ts 的ERROR_TYPES与getErrorType常见类型及应对如下错误类型典型特征建议ACCESS_DENIED消息含 access / denied / permission检查 IAM 权限bedrock:InvokeModel、ARN 是否正确、区域是否匹配可尝试跨区域推理NOT_FOUNDnot found / does not exist核对 ARN 格式、模型所在区域与账号 IDTHROTTLINGHTTP 429、ThrottlingException、too many requests 等降低请求频率使用 provisioned model 时检查吞吐量联系 AWS 提升配额。该错误会立即抛出交由上层指数退避重试机制处理TOO_MANY_TOKENStoo many tokens / context length缩减输入、拆分请求或改用更大上下文的模型MODEL_NOT_READYmodel not ready / provisioned throughput not ready等待几分钟后重试或在 Bedrock 控制台检查模型状态ON_DEMAND_NOT_SUPPORTEDwith on-demand throughput isnt supported开启跨区域推理或创建推理配置并使用 Use custom ARN 指定VALIDATION_ERRORvalidation / field required检查扩展思考参数格式、模型是否支持所请求的特性、模型 ID 是否正确另外所有流式请求默认带 10 分钟超时保护AbortController超时后自动中止并归类为ABORT错误。Tips 与注意事项权限确保 IAM 用户或角色具备调用 Bedrock 模型的权限bedrock:InvokeModel为必需权限。计费Roo Code 的成本统计基于 providers/bedrock.ts 内置的模型单价跨区域推理与 1M 上下文会按对应档位计价服务层级FLEX / PRIORITY也会按倍率修正成本。具体价格请以 AWS 官方页面为准。跨区域推理可能带来更高延迟且该能力依赖 AWS 推理配置前缀的映射若所选区域无对应前缀则不会生效。VPC 端点使用 VPC 端点时请确保端点已正确配置以处理 Bedrock API 调用该功能尤其适合有严格安全要求、需要将 API 流量保持在私有网络内的组织。超时与重试Bedrock 集成内置了限流错误识别与上层指数退避重试机制网络抖动导致的临时错误通常会被自动恢复。至此你已经掌握了在 Roo Code 中从零配置 Amazon Bedrock 的完整链路包括三种认证方式、区域与推理路由选择、VPC 隔离、服务层级、1M 上下文、Prompt Cache 以及 Claude 扩展思考的启用并能依据错误分类快速定位问题。若需了解其他 API Provider 的配置可参考 providers 文档目录。【免费下载链接】Roo-CodeRoo Code gives you a whole dev team of AI agents in your code editor.项目地址: https://gitcode.com/GitHub_Trending/ro/Roo-Code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表