通过 LiteLLM 使用 Bedrock
如果组织通过 LiteLLM 将 Codex 路由到 Amazon Bedrock,请使用 本页。如果已有 LiteLLM 网关,先连接 Codex。只有在 组织需要新网关时,才部署 LiteLLM。
其他网关产品遵循相同的网关要求 和 Codex 连接流程。
连接到现有网关
向网关管理员获取以下值:
- HTTPS 基础 URL,例如
https://gateway.example.com/v1。 - LiteLLM 路由到获准使用的 Bedrock 模型的模型别名。
- Codex 配置中要使用的提供商 ID。
- 限定权限范围的网关凭据,或返回该凭据的身份验证辅助程序。
- 随组织配置分发的模型目录。
然后按以下顺序完成连接:
- 请网关团队确认网关提供
POST /v1/responses, 支持流式响应、保留后续对话轮次和工具调用,并路由 获准使用的别名。请参阅网关兼容性。 - 按照连接到网关中的说明 配置提供商、模型和凭据。
- 验证当前生效的提供商和别名,发送连接指南中的简短
gateway-ok提示词, 并确认 LiteLLM 记录显示预期的 用户和别名。 - 要在整个组织中分发,请继续参阅通过网关部署 Codex。
网关凭据用于向 LiteLLM 验证你的身份。网关自行管理 Bedrock 凭据;你无需将这些凭据复制到工作站。
准备网关
仅在连接 Codex 之前需要创建 LiteLLM 网关时,才使用 本节。
部署之前
确认已具备:
- 在 AWS 环境中部署已获批准的 LiteLLM 架构的权限。
- 对将要路由的模型或推理配置档案的 Bedrock 访问权限。
- 已评审的 LiteLLM 镜像和部署方案。
- 可信的 HTTPS 主机名和证书。
- 受限的客户端网络范围。
对于下方的 Runtime 示例,网关的 AWS 身份需要对所选推理配置档案和账户的默认项目拥有 bedrock:InvokeModel 权限。有关所需权限,请参阅 AWS 的 GPT-6 Sol 设置说明。
架构
部署将 LiteLLM 置于 Codex 和 Bedrock 之间,在客户端 边界使用 HTTPS。负载均衡器和 LiteLLM 位于组织的网关 边界内;提供商凭据保留在网关上。
将入站访问限制为获准使用的客户端,保持数据库和缓存端口私有,并只授予网关所需的 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。
验证用户连接
扩大访问范围之前,完成以下检查:
- 确认 HTTPS 证书与网关主机名匹配,且服务运行正常。
- 按照连接到网关中的说明连接一位用户。
- 运行简短提示词、后续对话轮次和只读工具任务。
- 确认网关记录显示预期的身份、别名和上游路由,且不暴露凭据或敏感的提示词内容。
- 测试凭据过期或撤销,并确认未经授权的模型别名会被拒绝。
将部署的镜像版本、路由配置和测试结果保存在推广记录中。有关团队分发和持续运维,请继续参阅通过网关部署 Codex。
排查连接问题
根据出错层缩小问题范围:
| 症状 | 检查内容 |
|---|---|
| 推理前 HTTPS 连接失败 | DNS、证书主机名、负载均衡器健康状态,以及允许访问的客户端网络。 |
网关返回 401 或 403 |
使用网关日志区分用户凭据被拒绝与上游 Bedrock 身份验证或权限失败。 |
| 找不到请求的模型 | 确认面向客户端的确切别名,以及其上游模型或推理配置档案映射。 |
| 请求在到达 LiteLLM 前被阻止 | 检查负载均衡器和 Web 应用防火墙日志,包括请求体限制。测试有代表性的 Codex 请求时,保留安全控制。 |
| 文本可正常返回,但对话轮次无法结束 | 检查流式缓冲、超时、完成事件,以及网关兼容性中的后续对话和工具调用检查。 |
| 上游请求超时 | 更改超时设置之前,检查来源区域中的模型可用性、路由配置、配额和网关日志。 |
修复后重新测试同一用户路径。网关健康检查成功,并不能验证经过身份验证的推理请求或完整的 Codex 对话轮次。