通过Bedrock Access Gateway解决方案快速访问Amazon Bedrock的多种大语言模型

Bedrock Access Gateway(BAG)解决方案提供了开箱即用、兼容 OpenAI 的代理功能,帮助用户轻松无缝地从 OpenAI 迁移到 Amazon Bedrock。

1. 概述

亚马逊云科技的 Amazon Bedrock 服务支持一系列领先的基础模型,为客户提供多种选择,满足不同业务场景的需求。其中,Anthropic 公司的 Claude3 是在 Amazon Bedrock 新上线的大型语言模型(Large Language Model,LLM)。与 OpenAI 的 GPT-4 等模型相比,Claude3 在保持高性能水平的同时,还能为客户带来更低的使用成本。

如果你已经在使用 OpenAI 的 API 或者 SDK 开发生成式 AI(Generative AI)应用,想快速体验或切换到 Amazon Bedrock 而不想更改你的应用代码,或者你想使用一些不直接支持 Amazon Bedrock 的开源项目或工具,又不想修改其代码,那么可以使用亚马逊云科技发布的 Bedrock Access Gateway(BAG)解决方案。它提供了兼容 OpenAI API 的代理,使你不需要修改任何代码,就可以把 OpenAI API 的调用转发到 Amazon Bedrock,从而获得包括 Claude3 在内的多种 LLM 的优秀能力。

2. 整体架构

Bedrock Access Gateway 解决方案的架构非常简洁,如图 1 所示。

图 1 Bedrock Access Gateway 解决方案架构图

BAG 采用无服务器 (Serverless)架构,通过 Application Load Balancer(ALB)对外提供访问,由 Amazon Lambda 处理 API 请求,用户不需要登录或管理后台服务器。用户也可以根据需要修改此架构,例如私有化部署,不把 ALB 暴露在公网,或者通过 Amazon Fargate 服务以容器替换 Amazon Lambda 来处理 API 请求,从而实现更低的延迟。

截至 2024 年 4 月,Amazon Bedrock 支持以下模型:

  • anthropic.claude-instant-v1
  • anthropic.claude-v2:1
  • anthropic.claude-v2
  • anthropic.claude-3-sonnet-20240229-v1:0 (默认)
  • anthropic.claude-3-haiku-20240307-v1:0
  • meta.llama2-13b-chat-v1
  • meta.llama2-70b-chat-v1
  • mistral.mistral-7b-instruct-v0:2
  • mistral.mixtral-8x7b-instruct-v0:1
  • mistral.mistral-large-2402-v1:0
  • cohere.embed-multilingual-v3 (embedding)
  • cohere.embed-english-v3 (embedding)

在实际应用中,为方便用户在迁移时不用改造任何现有代码,当请求中模型名(model 参数的值)是以 gpt 开始时,例如 gpt-3.5-turbo,BAG 会直接调用默认模型,如 anthropic.claude-3-sonnet-20240229-v1:0。用户可以在部署完成后通过修改 Lambda 的环境变量 DEFAULT_MODEL 来指定默认模型。

Parameter Store 服务存储 API Key 参数,该参数的值用于 API 访问的认证。

BAG 目前支持的 API 与功能包括:

  • 通过 Server-Sent Events(SSE)技术提供流式响应
  • Model API
  • Chat Completion API
  • Embedding API
  • Function Call/Tool Call
  • Multimodal API

亚马逊云科技会根据客户的需要继续增加和更新 API 功能,你可以关注 GitHub 仓库来了解更新情况。有关解决方案的升级操作,请参考 BAG 的部署说明。

完整原文传送门:通过 Bedrock Access Gateway解决方案快速访问Amazon Bedrock的多种大语言模型-国外VPS网站

3. 解决方案部署

3.1 前提条件

BAG 在运行时会调用 Amazon Bedrock 中的模型,所以需要先在 Amazon Bedrock 中启用相关模型的访问权限。有关具体方法,可以参考《Amazon Bedrock 用户指南》中的“模型访问权限”部分。启用权限成功后,Amazon Bedrock 控制台的页面如图 2 所示。

图 2 在 Amazon Bedrock 中启用模型访问权限

3.2 部署步骤

BAG 支持快速部署、开箱即用。整个部署和应用过程包括三个步骤:创建自定义 API Key、部署堆栈、配置环境变量。你只需要大约 5 分钟就可以在你的亚马逊云科技账户里搭建起一套兼容 OpenAI API 的代理。

第一步:创建自定义 API Key

API Key 用于 API 访问的认证。登录你的亚马逊云科技控制台,访问 Systems Manager 服务,进入 Parameter Store,单击“创建参数”按钮。如图 3 所示,在创建参数页面,填写并记下用于存储 API Key 的参数的名字,如 my-api-key,参数类型选择“Secure String”,参数值就是未来用于认证的 API Key,可使用任何不带空格的字符串,建议复杂一些,以保证 API Key 的安全性。需要注意的是,目前版本暂不支持含有“/”的表示层次结构的参数名,如/my/api/key。

图 3 创建自定义 API Key 参数

第二步:部署 Amazon CloudFormation 堆栈

在浏览器中打开一个新的空白页面,访问 BAG 的 Amazon CloudFormation 堆栈模板启动链接。登录亚马逊云科技的控制台后,跳转到 Amazon CloudFormation 创建堆栈页面,如图 4 所示。

图 4 部署:设定 Amazon CloudFormation 模板

单击“下一步”按钮,在 ApiKeyParam 参数文本框里填上在第一步创建的参数的名称(如 my-api-key),如图 5 所示。

图 5 部署:填写 API Key 参数

单击“下一步”按钮,直到最后的提交页面,勾选“我确认,AWS CloudFormation 可能创建 IAM 资源”,如图 6 所示。

图 6 部署:勾选确认项

单击“提交”按钮。部署过程需要大约 3 分钟。在部署完成后,到 CloudFormation 堆栈的“输出”选项卡找到并记下 API Base URL,如图 7 所示。该 URL 将用于后续配置环境变量。

图 7 部署:从输出结果获得 API Base URL

上述部署采用 Lambda 函数处理 API 请求,也可以采用 Amazon Fargate 服务通过容器处理 API 请求,以获得更快的响应。请访问 BAG 的部署说明启动相关的 Amazon CloudFormation 堆栈模板,其他部署步骤都相同。

4 测试与应用

4.1 配置环境变量

在用户或应用程序一侧,要通过 BAG 的代理功能访问 Amazon Bedrock 服务,需要配置环境变量,以确保原先针对 GPT 的 API 请求被发送给 BAG 提供的 URL,并通过 API Key 认证。

在部署完成后,为快速进行 API 测试或 SDK 测试以确认 BAG 代理功能有效,配置环境变量的代码如下:

export OPENAI_API_KEY=<API Key参数的值> 
export OPENAI_BASE_URL=<API Base URL>

如果使用 Windows CMD 环境,代码如下:

set OPENAI_API_KEY=<API Key参数的值> 
set OPENAI_BASE_URL=<API Base URL>

4.2 API 测试

配置好环境变量后,可以通过如下的 curl 命令快速验证 API 有效性。

curl $OPENAI_BASE_URL/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer $OPENAI_API_KEY" \-d '{"model": "anthropic.claude-3-sonnet-20240229-v1:0","messages": [{"role": "user","content": "Hello!"}]}'

如果使用 Windows CMD 环境,测试命令如下:

curl "%OPENAI_BASE_URL%/chat/completions" ^-H "Content-Type: application/json" ^-H "Authorization: Bearer %OPENAI_API_KEY%" ^-d "{\"model\":\"anthropic.claude-3-sonnet-20240229-v1:0\", \"messages\": [{\"role\":\"user\",\"content\":\"Hello!\"}]}"

API 工作正常时,将返回类似如下 json 格式的响应信息:

{"id":"msg_01H4wAGhcJQ1ruQu2ifYN38J","created":1712540374,"model":"anthropic.claude-3-sonnet-20240229-v1:0","system_fingerprint":"fp","choices":[{"index":0, "finish_reason":"stop","message":{"role":"assistant","content":"Hello! How can I assist you today?"}}],"object":"chat.completion","usage":{"prompt_tokens":9, "completion_tokens":12,"total_tokens":21}}

4.3 SDK 测试

类似地,在配置好环境变量后,可以通过如下 Python 代码测试代理是否有效。

from openai import OpenAIclient = OpenAI()
completion = client.chat.completions.create(model="anthropic.claude-3-sonnet-20240229-v1:0",messages=[{"role": "user", "content": "Hello!"}],
)print(completion.choices[0].message.content)

4.4 在 NextChat 应用程序中使用

NextChat(ChatGPT Next Web)是社区中热度较高的 ChatGPT 前端应用程序,但是目前版本不支持访问 Claude3 模型。部署 BAG 后,经过简单配置就可以使用 NextChat 轻松访问 Claude3 以及其他 Amazon Bedrock 上支持的大语言模型。

启动 NextChat 应用后,单击左下角的六边形图标,进入设置页面,如图 8 所示。勾选“自定义接口”复选框,在下面出现“接口地址”和“API Key”文本框,分别填入 BAG 的 API Base URL 和 API Key 参数的值。需要注意的是,接口地址文本框中的字符串最后不包含“/v1”,形式类似 http://xxxxxx.yyyyyy.elb.amazonaws.com/api。

图 8 NextChat 的设置页面

设置完成后,单击左下方的“新的聊天”按钮,就可以与 BAG 配置的默认模型对话了。如图 9 所示,对话中显示人工智能助手“由 Anthropic 公司开发”,说明后台的模型已经切换为 Amazon Bedrock 上的 anthropic.claude-3-sonnet-20240229-v1:0模型(BAG 的默认模型)。

图 9 使用 Claude3 模型后的响应信息

对于其他使用 OpenAI API 的应用,如 AutoGen,也可以采用类似的配置操作,就可以顺利访问 Amazon Bedrock 上的模型。有关更多应用示例,请参考 BAG 的部署说明。你也可以通过 Amazon Bedrock Claude3 Workshop(中文版) 更全面地了解 BAG 和 Amazon Bedrock 的高级使用。

5 安全与其他注意事项

安全与隐私:部署和使用 BAG 十分安全。在默认情况下,它不会记录任何用户的请求和 Amazon Bedrock 的响应,也不会访问用户自己的 OpenAI 密钥。

使用成本:BAG 使用了 ALB、Amazon Lambda、Amazon Fargate、Amazon Bedrock 等亚马逊云服务,在使用期间会产生费用,具体金额与使用量、部署区域等因素有关。请访问亚马逊云科技各服务的官方定价页面或 Pricing Calculator 查看详细信息。

响应延迟:与直接使用亚马逊云科技的官方 SDK 访问 Amazon Bedrock 相比,使用 BAG 会有额外的延迟。对于生产环境的应用,建议在部署后进行测试。如果对于延迟敏感,可以考虑使用 Amazon Fargate 版本,或者咨询你的亚马逊云科技业务经理。

多种部署方式:你不仅可以在所有亚马逊云科技提供 Amazon Bedrock 服务的区域云上部署 BAG,也可以在本地部署 Python 代码,构建本地代理服务,然后调用你的亚马逊云科技账户中的 Amazon Bedrock 服务。

6 总结

Bedrock Access Gateway(BAG)解决方案提供了开箱即用、兼容 OpenAI 的代理功能,帮助用户轻松无缝地从 OpenAI 迁移到 Amazon Bedrock,主要具有以下优点:

(1) 非侵入式集成:不需要修改应用代码即可实现无缝迁移。

(2) 开箱即用:提供一键部署的Amazon CloudFormation模版,部署时间约 3 分钟。

(3) 多种模型快速切换:支持 Amazon Bedrock 上多种主流模型,包括 Claude、Llama2、Mistral/Mixtral 系列模型等,除了调整 DEFAULT_MODEL,也可以直接在 API 请求的 model 参数中指定。

(4) 兼容 OpenAI:支持 OpenAI 的 API 和 SDK,支持 Server-Sent Events(SSE)流式响应。

(5) 开源:项目开源,客户可以根据需要进行客制化(例如私有化部署、在 EKS 上运行等)。

LLM 应用的效果由多方面因素决定,包括基础模型、提示词工程、知识库质量等。BAG 从 API 适配的角度解决了由 GPT 模型向 Claude3 模型的迁移,确保用户能够高性价比地使用高性能的大语言模型;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于卷积神经网络的垃圾图像分类系统研究与实现

1.摘要 垃圾分类作为资源回收利用的重要环节之一, 可以有效地提高资源回收利用效率, 进一步减轻环境污染带来的危害. 随着现代工业逐步智能化, 传统的图像分类算法已经不能满足垃圾分拣设备的要求. 本文提出一种基于卷积神经网络的垃圾图像分类模型 (Garbage Classification Ne…

索引的最左匹配原则

索引的最左匹配原则 我们先创建一张测试表&#xff0c;表的两个字段用来创建联合索引 CREATE TABLE test(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,col1 INT,col2 INT,col3 INT );CREATE INDEX idx_c1c2 ON test(col1, col2);现在我们就可以分析查询sql脚本了 1.使用联合索…

【SpringBoot整合系列】SpringBoot配置多数据源

目录 背景技术选型配置多数据源思路(以两个为例)代码实现1.导入依赖2.各自的配置 3.各自的dataSourcenews数据库的smbms数据库的注意&#xff1a;Primary注解 4.各自的SqlSessionFactory等news数据库的smbms数据库的 5.去掉启动类头上的MapperScan6.各自的mapper接口7.各自的ma…

分布移位下用于泛化的泛化的自监督测试时训练

Test-Time Training with Self-Supervision for Generalization under Distribution Shifts 论文链接 https://arxiv.org/abs/1909.13231 代码链接 Test-Time Training Project Website 发表于ICML2020 机构&#xff1a; UC Berkeley&#xff0c; UC San Diego 这张文章里的…

SpaceX的核心Fact Sheet

首先给大家分享一组SpaceX的关键数据&#xff0c;让大家对这个神秘公司有个定量认知&#xff1a; 2024年SpaceX预计收入可达130亿美金&#xff0c;同比增长54%&#xff0c;预计2035年可达1000亿美金 SpaceX目前已经处于盈利状态&#xff0c;具体利润规模未知 SpaceX的发射成本…

深入解析 Odoo 在线客服模块 (im_livechat)

深入解析 Odoo 在线客服模块 (im_livechat) Odoo Livechat 是一款集成于 Odoo 平台的实时在线客服系统&#xff0c;它赋予用户在网页界面上直接与客服人员进行即时沟通的能力。本文将逐步剖析 Livechat 的实现细节&#xff0c;从入口模板文件的加载机制&#xff0c;到后端初始…

Sectigo证书申请流程及价格介绍

Sectigo 是一家全球知名的数字证书颁发机构&#xff08;Certificate Authority, CA&#xff09;&#xff0c;自1998年起就开始提供 SSL 证书服务&#xff0c;是全球最早的 CA 机构之一。 一 Sectigo证书申请流程 1 确定证书类型 根据自身的需求确定证书的类型&#xff0c;一…

安全计算环境中,入侵防范的测评指标对应的测评对象包含哪些?

安全计算环境中&#xff0c;入侵防范的测评指标包括恶意代码防范、可信验证、数据完整性、数据保密性、数据备份恢复、剩余信息保护、个人信息保护等。 在安全计算环境中&#xff0c;入侵防范是确保系统不受未授权访问和破坏的关键措施。这涉及到多个方面的测评指标&#xff0…

IBM MQ 问题记录与解决

问题1&#xff1a; 报错&#xff1a; JMSWMQ2013:为队列管理器“QMXXX”提供的安全性认证无效&#xff0c;连接方式为“client”&#xff0c;主机名为“127.0.0.1(1417)”。 解决&#xff1a; (1)登录服务器 进入 IBM mq 所在目录 &#xff08;linux一般在/opt/mqm下 windo…

【001_音频开发-基础篇-专业术语】

001_音频开发-基础篇-专业术语 文章目录 001_音频开发-基础篇-专业术语创作背景术语表常见音源HDMI相关声音系统立体声2.1 声音系统5.1 环绕声系统5.1.2 环绕声系统7.1 环绕声系统7.1.4 环绕声系统9.1.4 环绕声系统 音质等级定义QQ音乐网易云音乐 创作背景 学历代表过去、能力…

如何启用启用WordPress调试模式

最近我们的WordPress网站在访问时&#xff0c;经常出现打不开的现象&#xff0c;我们向主机提供商Hostease咨询后&#xff0c;他们提到这是由于WordPress的某个插件导致的问题&#xff0c;我们在将插件版本升级至最新后&#xff0c;这个问题就消失了。为了方便后续的检查&#…

OceanBase 开发者大会 - 见闻与洞察

文章目录 前言主论坛见闻技术专场见闻产品技术专场技术生态专场 同行论道启发互动展区写在最后 前言 4 月 20 日&#xff0c;我有幸受邀参加了第二届 OceanBase 开发者大会。 50 余位业界知名数据库大咖和数据库爱好者&#xff0c;与来自全国近 600 名开发者相聚。共同探讨一体…

3DE DELMIA Role: EWD - Ergonomic Workplace Designer

Discipline: Ergonomics Role: EWD - Ergonomic Workplace Designer 设计安全高效的工作场所 Ergonomic Workplace Designer采用 Smart Posturing EngineTM技术&#xff08;用于自动和可重复的逼真人体模型定位&#xff09;和 Ergo4alITM技术&#xff08;用于应用程序内人体工…

2024年阿里云服务器最新活动价格表(含可选实例、配置、带宽)

2024年阿里云对云服务器活动中的价格和可选实例、配置、带宽和折扣等优惠政策又做升级调整&#xff0c;调整之后的云服务器最低价格只要99元起了&#xff0c;企业级2核4G5M带宽云服务器也只要199元/1年了&#xff0c;而且阿里云还额外推出了新购和续费同价的优惠政策。下面是小…

五一出游必备神器!华为nova 12 Ultra助你秒变旅行达人

五一假期终于要到了&#xff01;小伙伴们是不是都跃跃欲试&#xff0c;想要出去浪一浪呢&#xff1f;别急&#xff0c;别急&#xff0c;先让我给你安利一款出游神器——华为nova 12 Ultra&#xff0c;它可是集多种技艺于一身&#xff0c;让你在旅途中秒变旅行达人哦&#xff01…

CV每日论文--2024.4.23

1、InstantMesh: Efficient 3D Mesh Generation from a Single Image with Sparse-view Large Reconstruction Models 中文标题&#xff1a;InstantMesh&#xff1a;使用稀疏视图大型重建模型从单个图像高效生成 3D 网格 简介&#xff1a;本文介绍了InstantMesh&#xff0c;这…

Mysql用语句创建表/插入列【示例】

一、 创建表 COMMENT表示字段或列的注释 -- 新建student表 CREATE TABLE student (id BIGINT NOT NULL COMMENT 学生id, enroll_date DATE NOT NULL COMMENT 注册时间, NAME VARCHAR(18) DEFAULT NOT NULL COMMENT 学生姓名, deal_flag TINYINT(1) DEFAULT 0 NOT NULL COMM…

2024第十三届深圳国际营养与健康产业博览会

医疗展、健康展、养生展、医药展、中医展、艾灸展、营养展、保健展、康复展、医美展、养老展、婴童展、医美展、护理展、理疗展、智能中医、医疗器械、氢氧、营养保健、大健康、医药制药、养老康复、食药同源 2024第十三届深圳国际营养与健康产业博览会 THE 13TH SHENZHEN IN…

全新Storm Core API管理系统源码 免授权版

全新Storm Core API管理系统源码 免授权版 本系统为API系统,实现了api集成等基础功能,以后可能会更新key调用api,或者实现付费功能,敬请期待,前端模板均无加密,用户可自行二开,具体请看图 测试环境:PHP7.2+MySQL5.6 访问:http://你的域名/install 进行安装 伪静态…

树 —— 树和森林的遍历

一、树的遍历 &#xff08;1&#xff09;先根遍历 若树非空&#xff0c;则遍历方法为 &#xff08;1&#xff09;访问根结点。 &#xff08;2&#xff09;从左到右&#xff0c;依次先根遍历根结点的每一棵子树。 先根遍历序列为&#xff1a;ABECFHGD。 &#xff08;2&#…