内容提要
Anthropic发布了最新的大规模模型Claude3,可在Amazon Bedrock上使用。文章提供了将AI聊天助手集成到Amazon Bedrock的说明,使用前端示例和Amazon CDK部署。文章还讨论了解决方案中使用的服务和组件。还提到了访问Claude3和启用多模态功能所需的代码修改。文章以Amazon Bedrock的限制信息和相关文档的参考结束。
延伸解读
区域与模型可用性差异
文章指出,Claude3 Opus、Sonnet、Haiku 均已在 Amazon Bedrock 可用,但区域支持不同。Opus 仅支持美西2区(us-west-2),而其他模型可在美东1区、美西2区、东京区、新加坡区使用。这意味着如果您需要 Opus 的能力,必须选择美西2区部署,否则只能使用 Sonnet 或 Haiku。在规划应用时,需根据模型可用区域调整架构。
流式输出实现的关键点
文章强调,为实现流式输出,服务端应调用 InvokeModelWithResponseStream API,并避免直接解析响应体,而是将响应流透传给前端。Claude3 的响应格式与 Claude2 不同,需使用 AWSBedrockStream 并指定 chunk.delta?.text 来提取文本。前端则通过 fetchEventSource 处理流式数据,实现打字机效果。正确区分模型版本并处理响应流是保证性能与体验的核心。
请求频率限制与应对
Amazon Bedrock 每个账号在每个区域的请求上限为每分钟60次。若需更高配额,需联系亚马逊云科技支持人员提升。文章提供了本地限流方案,例如通过 Next.js 中间件对 /api/claude 路由进行限流,超过限制则返回429状态码。这有助于在应用层避免因超限导致的请求失败,但根本解决仍需申请提额。
多模态支持的代码调整
Claude3 支持解析图片,但项目默认未开启多模态。您需要在 app/utils.ts 的 isVisionModel 方法中设置模型对图片的支持。注意,项目中的图片消息类型为 image_url,而 Claude3 要求类型为 image,因此需要手动转换。对于 PDF 等文件,建议在浏览器端使用 react-pdf 等插件转换为图片,以兼顾性能与安全。
Q&A
Claude3模型在Amazon Bedrock上有哪些版本?
Claude3模型在Amazon Bedrock上有Claude3 Opus、Claude3 Sonnet和Claude3 Haiku三个版本。
如何将AI聊天助手集成到Amazon Bedrock?
可以通过构建前端示例并使用Amazon CDK进行部署,具体步骤包括准备亚马逊云科技账号、配置Access Key和Secret Access Key等。
使用Claude3模型需要进行哪些代码修改?
需要在项目代码中手动添加Claude3模型的支持,并修改相关的API请求逻辑。
Amazon Bedrock的请求限制是什么?
每个账号在每个region的请求上限为每分钟60次,若需要更多请求量需联系支持人员。
Claude3支持哪些多模态功能?
Claude3支持解析图片,用户需在代码中设置对模型的支持。
如何实现流式输出功能?
在服务端调用InvokeModelWithResponseStream API,并将响应的Body解析成流返回给浏览器端。