从写代码,到创作下一幕

探索 字节跳动 - 火山方舟 的 AI 编程与视频创作活动。

Agent Plan & Coding Plan

一站体验多款热门模型,为 AI 编程与智能体开发提供更多选择。新用户可联系(微信: goo_lvyouyou)免费体验 9.9 agent plan。

Seedance 2.5

让创意,跃然成片。探索 30 秒视频、多模态参考与局部编辑,把脑海中的画面变成下一支作品。

中文

通过 LiteLLM 使用 Bedrock

如果组织通过 LiteLLM 将 Codex 路由到 Amazon Bedrock,请使用 本页。如果已有 LiteLLM 网关,先连接 Codex。只有在 组织需要新网关时,才部署 LiteLLM。

其他网关产品遵循相同的网关要求 和 Codex 连接流程。

连接到现有网关

向网关管理员获取以下值:

  • HTTPS 基础 URL,例如 https://gateway.example.com/v1。
  • LiteLLM 路由到获准使用的 Bedrock 模型的模型别名。
  • Codex 配置中要使用的提供商 ID。
  • 限定权限范围的网关凭据,或返回该凭据的身份验证辅助程序。
  • 随组织配置分发的模型目录。

然后按以下顺序完成连接:

  1. 请网关团队确认网关提供 POST /v1/responses, 支持流式响应、保留后续对话轮次和工具调用,并路由 获准使用的别名。请参阅网关兼容性。
  2. 按照连接到网关中的说明 配置提供商、模型和凭据。
  3. 验证当前生效的提供商和别名,发送连接指南中的简短 gateway-ok 提示词, 并确认 LiteLLM 记录显示预期的 用户和别名。
  4. 要在整个组织中分发,请继续参阅通过网关部署 Codex。

网关凭据用于向 LiteLLM 验证你的身份。网关自行管理 Bedrock 凭据;你无需将这些凭据复制到工作站。

准备网关

仅在连接 Codex 之前需要创建 LiteLLM 网关时,才使用 本节。

部署之前

确认已具备:

  • 在 AWS 环境中部署已获批准的 LiteLLM 架构的权限。
  • 对将要路由的模型或推理配置档案的 Bedrock 访问权限。
  • 已评审的 LiteLLM 镜像和部署方案。
  • 可信的 HTTPS 主机名和证书。
  • 受限的客户端网络范围。

对于下方的 Runtime 示例,网关的 AWS 身份需要对所选推理配置档案和账户的默认项目拥有 bedrock:InvokeModel 权限。有关所需权限,请参阅 AWS 的 GPT-6 Sol 设置说明。

架构

部署将 LiteLLM 置于 Codex 和 Bedrock 之间,在客户端 边界使用 HTTPS。负载均衡器和 LiteLLM 位于组织的网关 边界内;提供商凭据保留在网关上。

Codex 使用限定权限范围的网关凭据,通过 HTTPS 负载均衡器向 LiteLLM 发送 Responses API 请求。LiteLLM 将获准使用的别名路由到 Amazon Bedrock,而提供商凭据保留在服务端。

将入站访问限制为获准使用的客户端,保持数据库和缓存端口私有,并只授予网关所需的 Bedrock 权限。通过摘要固定部署镜像,避免重启时实现发生静默变化。

提示词、源代码摘录和工具结果会经过网关,并可能进入其日志。在启用请求日志记录前,先确定保留、访问和脱敏策略。MCP server和插件使用独立的连接和身份验证;此网关配置不会配置它们。

部署检查点

在将网关交付给开发者之前,按顺序完成以下检查:

检查点 产出
部署代理,并将其数据库和缓存依赖设为私有。 以 /v1 结尾的稳定 HTTPS 基础 URL,且 Bedrock 身份验证由网关管理。
配置模型路由及其匹配的客户端目录。 映射到预期 Bedrock 目标的稳定 Codex 模型别名。
验证 Responses 支持。 以 response.completed 结束的流式 POST /v1/responses 响应。
签发测试凭据。 限制为指定别名的用户专属虚拟密钥,并设置有效期、预算和速率限制。
连接一位开发者。 Codex 提供商配置,以及经过网关验证的简短提示词。

以下各节介绍每个检查点。对于生产环境推广,还应测试 后续对话轮次、工具和凭据撤销。

选择 Bedrock 路由

LiteLLM 上游路由决定 Bedrock 端点、模型标识符和身份验证方法。部署或更改网关时,请一并考虑这些选择。

新配置应使用 Bedrock Runtime。以下示例使用其兼容 OpenAI 的 Responses 端点。

有关替代路由,请参阅 LiteLLM 的 Bedrock Mantle 集成。

有关 AWS 部署示例,请使用固定版本的 LiteLLM on ECS 参考实现。该实现使用 Bedrock Runtime,并从 ECS 任务角色刷新身份验证凭据。请一并遵循其部署和身份验证步骤,并根据你的网络、TLS、日志记录和资源保留策略评审其生产环境要求。

无论选择哪条路由,都应根据网关兼容性验证已部署的网关版本、上游端点和模型组合。上游模型出现在网关模型列表中,并不能证明其流式传输、对话延续和工具行为可与 Codex 正常配合。

配置 Runtime 模型路由

将稳定的 Codex 模型别名映射到已获批准的上游模型。使用此 Runtime 示例前,确认你的 AWS 账户和区域具备访问权限。

model_list:
  - model_name: company-coding-model
    litellm_params:
      model: openai/global.openai.gpt-6-sol
      api_key: os.environ/AWS_BEARER_TOKEN_BEDROCK
      api_base: https://bedrock-runtime.us-east-1.amazonaws.com/openai/v1

通过敏感信息管理系统,以 AWS_BEARER_TOKEN_BEDROCK 提供有效的 Bedrock API key。对于短期有效的密钥,应在过期前签发替代密钥、更新网关进程环境,并重启或重新部署使用该密钥的工作进程。ECS 参考实现则在进程内从任务角色刷新凭据;请配套使用其配置和入口程序。

openai/ 前缀选择 LiteLLM 的 OpenAI 兼容适配器;配置的 api_base 将请求发送到 Bedrock Runtime。全局(Global)推理配置档案可以将请求路由到来源区域之外。选择满足 AWS 权限和数据驻留要求的配置档案及区域,并按需替换这两个值。

客户端发送 company-coding-model;LiteLLM 使用配置的上游路由。此自定义别名需要下文介绍的匹配客户端目录。通用网关不会继承内置 Bedrock 提供商的元数据调整。

准备客户端目录

对于使用 Codex 0.158.0 的此 GPT-6 Sol/Runtime 示例,请从该版本的模型目录中获取完整的 gpt-6-sol 条目作为起点。对该条目应用以下所有修改:

字段 必需修改
slug 设置为 "company-coding-model",与 LiteLLM 别名匹配。
visibility 设置为 "list"。
availability_nux 设置为 null。
upgrade 设置为 null。
use_responses_lite 设置为 false。
tool_mode 设置为 null。
supported_reasoning_levels 移除 effort 为 "ultra" 的条目;保留其他条目。
additional_speed_tiers 设置为 []。
service_tiers 设置为 []。
default_service_tier 设置为 null。
web_search_tool_type 设置为 "text"。
multi_agent_version 设置为 "v1"。
supports_search_tool 对于 Runtime,设置为 false。

保留其余字段,包括模型指令和上下文限制。将编辑后的条目保留在目录的顶层 models 数组中。这些更改与已发布的 Bedrock 元数据调整和 Runtime 搜索限制一致。更改客户端版本或上游模型时,请对照匹配的源代码重新检查。

按照通过网关部署 Codex中的说明,分发完整 JSON 文件并配置 model_catalog_json。在 Runtime 客户端配置中保留 web_search = "disabled"。向更多用户分发之前,先通过网关验证编辑后的目录。

验证 Responses 支持

在面向客户端的 HTTPS 端点提供 POST /v1/responses。配置负载均衡器及所有反向代理,使其无缓冲地传递流式事件。保留后续对话轮次和函数调用结果。仅有可用的 Chat Completions 端点不足以支持此连接。

分发客户端配置之前,完成网关兼容性中的检查。使用与用户相同的主机名、网络控制和身份验证路径进行测试。

签发测试凭据

为一位测试用户创建限定权限范围的 LiteLLM 虚拟密钥。将其限制为获准使用的别名,并配置有效期、速率限制和预算。有关适用的控制项,请参阅 LiteLLM 的虚拟密钥文档。

通过敏感信息管理流程或身份验证辅助程序分发密钥。不要向用户提供 LiteLLM 管理密钥,也不要将网关凭据嵌入 config.toml。

验证用户连接

扩大访问范围之前,完成以下检查:

  1. 确认 HTTPS 证书与网关主机名匹配,且服务运行正常。
  2. 按照连接到网关中的说明连接一位用户。
  3. 运行简短提示词、后续对话轮次和只读工具任务。
  4. 确认网关记录显示预期的身份、别名和上游路由,且不暴露凭据或敏感的提示词内容。
  5. 测试凭据过期或撤销,并确认未经授权的模型别名会被拒绝。

将部署的镜像版本、路由配置和测试结果保存在推广记录中。有关团队分发和持续运维,请继续参阅通过网关部署 Codex。

排查连接问题

根据出错层缩小问题范围:

症状 检查内容
推理前 HTTPS 连接失败 DNS、证书主机名、负载均衡器健康状态,以及允许访问的客户端网络。
网关返回 401 或 403 使用网关日志区分用户凭据被拒绝与上游 Bedrock 身份验证或权限失败。
找不到请求的模型 确认面向客户端的确切别名,以及其上游模型或推理配置档案映射。
请求在到达 LiteLLM 前被阻止 检查负载均衡器和 Web 应用防火墙日志,包括请求体限制。测试有代表性的 Codex 请求时,保留安全控制。
文本可正常返回,但对话轮次无法结束 检查流式缓冲、超时、完成事件,以及网关兼容性中的后续对话和工具调用检查。
上游请求超时 更改超时设置之前,检查来源区域中的模型可用性、路由配置、配额和网关日志。

修复后重新测试同一用户路径。网关健康检查成功,并不能验证经过身份验证的推理请求或完整的 Codex 对话轮次。