Bedrock Access Gateway 项目介绍
Bedrock Access Gateway 项目是一个提供与亚马逊 Bedrock 兼容的 OpenAI RESTful API 的平台。这项技术允许开发者无需修改代码库就可以在 Amazon Bedrock 基础模型上运行他们使用 OpenAI API 或 SDK 构建的应用程序。
项目背景和目标
Amazon Bedrock 提供了一系列基础模型,如 Claude 3 Opus/Sonnet/Haiku、Llama 2/3 和 Mistral/Mixtral 等,帮助开发者构建生成式 AI 应用。然而,许多人可能已经使用 OpenAI API 开发了他们的应用,希望在不更改现有功能的情况下利用 Amazon Bedrock 的强大功能。Bedrock Access Gateway 项目正是应运而生,为开发者提供无缝访问 Amazon Bedrock 模型的能力,同时无需对现有代码做出改变。
项目特性
- 流式响应支持:实现了通过服务器发送事件(SSE)的流式响应。
- 多种 API 支持:
- 模型 API
- 会话完成 API
- 工具调用(新特性)
- 嵌入 API(新特性)
- 多模态 API(新特性)
- 跨区域推理(新特性)
Bedrock Access Gateway 支持广泛的 Amazon Bedrock 模型系列,包括 Anthropic Claude 和 Meta Llama 等多种模型。用户可以通过 models
API 获取支持的模型列表。
快速入门
部署前准备
要开始使用该项目,您需要确保有访问 Amazon Bedrock 基础模型的权限。
架构概览
项目架构包含一个用于应用负载平衡的虚拟私有云(VPC)以及选择性的 AWS Lambda 或 AWS Fargate 作为后端服务,以支持低延迟响应。
部署步骤
- 创建自定义 API Key(可选):通过 AWS 管理控制台的参数存储功能设置。
- 部署 CloudFormation 堆栈:选择部署 AWS Lambda 或 AWS Fargate,与 ALB 配合使用。
部署完成后,您可以在 AWS 控制台中查看 API 的基础 URL,并测试该平台的功能。
SDK/API 用法示例
一旦您拥有 API Key 和基础 URL,您便可以通过命令行工具或 Python SDK 调用访问不同的 Amazon Bedrock 模型,实现聊天完成等功能。
跨区域推理
跨区域推理支持在不同的 AWS 区域内调用模型进行推理,解决了区域故障、延迟及性能优化等问题。
- 提高可用性:提供区域冗余和更高的容错能力。
- 减少延迟:选择与用户地理位置更接近的区域。
- 更高性能和容量:更好的分配请求压力和处理峰值流量。
- 灵活性:根据需求选择使用的区域和模型。
- 成本效益:选择更具成本效益的区域。
常见问题
- 隐私问题:该应用程序不收集用户数据,也不记录任何请求或响应。
- 区域支持:目前仅支持 Amazon Bedrock 提供的区域,如美国东部(弗吉尼亚北部)和美国西部(俄勒冈)。
- 性能考虑:相比直接调用 AWS SDK,使用代理 API 会有额外的响应延迟。
- 不支持的功能:目前不计划支持 SageMaker 模型或 Bedrock 定制模型。
许可证
该项目采用 MIT-0 许可证,使用非常宽松的开源许可方式,允许用户自由修改和使用软件。
以上是对 Bedrock Access Gateway 项目的详细介绍,该项目为用户在 OpenAI 和 Amazon Bedrock 间架起了一座无缝连接的桥梁,降低了开发者的适配成本。