当前位置:   article > 正文

利用Amazon Bedrock畅玩Claude 3等多种领先模型,抢占AI高地(体验倒计时4小时)

利用Amazon Bedrock畅玩Claude 3等多种领先模型,抢占AI高地(体验倒计时4小时)

image.png

快乐的时间总是短暂的,Claude 3 在亚马逊云科技上限时体验仅剩4小时,上次分享了入门级操作教程,本期给大家带来AWS Lambda + Amazon Bedrock一起构建可以便捷使用的Claude 3接口

AWS Lambda

AWS Lambda 是一项计算服务,可以运行您的代码以响应事件并自动管理计算资源,这使其成为将想法转化为现代生产无服务器应用程序的最快方式。
用我们大众可理解的解释来讲,就是我们专注于代码层面,不考虑底层运行逻辑,类似的友商产品例如函数计算、云函数

Amazon Bedrock

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设置

首先我们要确保咱们自己的账户能够成功启用Amazon Bedrock服务,请检查是否有满足以下条件

  1. 亚马逊云科技全球账户的billing账单地址设置是否是海外,因为在中国大陆是无法使用Claude 3模型的

https://us-east-1.console.aws.amazon.com/billing/home?region=us-east-1#/paymentpreferences
image.png

  1. 可以设置Tax信息地址

https://us-east-1.console.aws.amazon.com/billing/home?region=us-east-1#/tax-settings
image.png

确保能够满足以上条件后,按照之前文章的操作流程或者亚马逊云科技给出《限时使用Claude3》的教程进行Claude 3模型启用
https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/modelaccess
image.png

创建IAM 角色

分别添加如下权限

  1. AmazonBedrockFullAccess
  2. AWSLambdaBasicExecutionRole

https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/roles
image.png
image.png
image.png
image.png
image.png

编写AWS Lambda函数

https://us-east-1.console.aws.amazon.com/lambda/home?region=us-east-1#/functions
image.png
image.png

代码填充

参考:
https://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html

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
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

image.png

修改函数超时以及创建函数URL

image.png
根据自身需求是否设置身份验证
image.png
image.png

本地测试代码

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

image.png

当然还有很多玩法,例如我们可以使用boto3包中的"invoke_model_with_response_stream",同样可以实现对话功能,我们也可以通过调用接口,将多式联运消息中的图像和提示文本传递给AnthropicClaude 3 Sonnet模型

从这样一个小的实验,我们可以向后延申,例如

  1. 构建一个前端页面,直接给用户页面,对接对应的接口,使用起来更优雅
  2. 联合更多的服务一起使用,例如结合Amazon API Gateway、AWS Lambda、Amazon Bedrock、Amazon Dynamo等一起构建一个带有记录的Claude3模型工作流

更多精彩内容还是需要广大同学们一起去探索和发现,欢迎大家通过亚马逊云科技Amazon Bedrock访问包括Claude3在内的多种领先模型,以及学习上述所提到的服务,在构建工作流的时候实现全线Serverless化,降低运维成本!

好课推荐

AWS Lambda Foundations (Simplified Chinese)(中文配音版)

https://explore.skillbuilder.aws/learn/course/internal/view/elearning/1604/aws-lambda-foundations-simplified-chinesezhong-wen-pei-yin-ban?trk=7f7b63dd-733b-4a1e-9ad6-11c2b57b54ce&sc_channel=el

image.png

Amazon API Gateway for Serverless Applications (Simplified Chinese)(中文配音版)

https://explore.skillbuilder.aws/learn/course/internal/view/elearning/1459/amazon-api-gateway-for-serverless-applications-simplified-chinesezhong-wen-pei-yin-ban?trk=7f7b63dd-733b-4a1e-9ad6-11c2b57b54ce&sc_channel=el
image.png

Amazon DynamoDB for Serverless Architectures (Simplified Chinese)(中文配音版)

https://explore.skillbuilder.aws/learn/course/internal/view/elearning/1299/amazon-dynamodb-for-serverless-architectures-simplified-chinesezhong-wen-pei-yin-ban?trk=7f7b63dd-733b-4a1e-9ad6-11c2b57b54ce&sc_channel=el
image.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/225566
推荐阅读
相关标签
  

闽ICP备14008679号