赞
踩
快乐的时间总是短暂的,Claude 3 在亚马逊云科技上限时体验仅剩4小时,上次分享了入门级操作教程,本期给大家带来AWS Lambda + Amazon Bedrock一起构建可以便捷使用的Claude 3接口
AWS Lambda 是一项计算服务,可以运行您的代码以响应事件并自动管理计算资源,这使其成为将想法转化为现代生产无服务器应用程序的最快方式。
用我们大众可理解的解释来讲,就是我们专注于代码层面,不考虑底层运行逻辑,类似的友商产品例如函数计算、云函数等
Amazon Bedrock 是一项完全托管的服务,通过单个 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先人工智能公司的高性能基础模型(FM),以及通过安全性、隐私性和负责任的 AI 构建生成式人工智能应用程序所需的一系列广泛功能。使用 Amazon Bedrock,您可以轻松试验和评估适合您的使用案例的热门 FM,通过微调和检索增强生成(RAG)等技术利用您的数据对其进行私人定制,并构建使用您的企业系统和数据来源执行任务的代理。由于 Amazon Bedrock 是无服务器的,因此您无需管理任何基础设施,并且可以使用已经熟悉的 AWS 服务将生成式人工智能功能安全地集成和部署到您的应用程序中。
本次咱们的实验就会用到Amazon Bedrock服务,通过在lambda上面使用Amazon Bedrock调用Claude 3的api,最终以URL的形式对外暴露
首先我们要确保咱们自己的账户能够成功启用Amazon Bedrock服务,请检查是否有满足以下条件
https://us-east-1.console.aws.amazon.com/billing/home?region=us-east-1#/paymentpreferences
https://us-east-1.console.aws.amazon.com/billing/home?region=us-east-1#/tax-settings
确保能够满足以上条件后,按照之前文章的操作流程或者亚马逊云科技给出《限时使用Claude3》的教程进行Claude 3模型启用
https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess
分别添加如下权限
https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/roles
https://us-east-1.console.aws.amazon.com/lambda/home?region=us-east-1#/functions
import boto3 import json import base64 bedrock = boto3.client("bedrock-runtime") def lambda_handler(event, context): user_message = base64.b64decode(event['body']).decode() body = json.dumps({ "max_tokens": 1000, "messages": [{"role": "user", "content": user_message}], "anthropic_version": "bedrock-2023-05-31" }) #Call the claude3 on the Amazon Bedrock response = bedrock.invoke_model( body=body, modelId="anthropic.claude-3-sonnet-20240229-v1:0" ) #Extract the response content in the json response_body = json.loads(response.get("body").read()) resp_to_user = response_body.get("content")[0]['text'] return { 'statusCode': 200, 'body': resp_to_user }
根据自身需求是否设置身份验证
import requests
url = '你的AWS lambda函数URL'
payload = input("User:")
while True:
resp = requests.request("POST", url, data=payload)
print(resp.text)
payload = input("User:")
if payload == "q":
break
当然还有很多玩法,例如我们可以使用boto3包中的"invoke_model_with_response_stream",同样可以实现对话功能,我们也可以通过调用接口,将多式联运消息中的图像和提示文本传递给AnthropicClaude 3 Sonnet模型
从这样一个小的实验,我们可以向后延申,例如
更多精彩内容还是需要广大同学们一起去探索和发现,欢迎大家通过亚马逊云科技Amazon Bedrock访问包括Claude3在内的多种领先模型,以及学习上述所提到的服务,在构建工作流的时候实现全线Serverless化,降低运维成本!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。