文章目录
- 1. 前期准备工作
- 2. 安装和配置AWS CLI v2
- 3. 使用AWS configure命令配置AWS凭据
- 4. 安装访问Bedrock的SDK
- 5. 访问Amazon Bedrock UI
- 6. 订阅Bedrock上的Claude模型
- 7. 通过CLI命令列出所有可用的Claude模型
- 8. 向Claude 3 Sonnet on Bedrock生成文本
- 9. 参考链接
1. 前期准备工作
- 提前注册准备好一个AWS 海外账号;
- 设置好一个IAM用户,并赋予相应的访问AWS资源的权限;
- 为该IAM用户配置一个访问密钥;
2. 安装和配置AWS CLI v2
安装或更新AWS CLI v2。AWS CLI 版本 2 是 AWS CLI 的最新主版本,支持所有最新功能。
# windows系统下,打开CMD命令符提示窗口,输入此串命令,回车,开始安装更新AWS CLI。
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msiC:\Users\xyb>msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msiC:\Users\xyb>aws --version
aws-cli/2.15.27 Python/3.11.8 Windows/10 exe/AMD64 prompt/off
开始按照指示点击安装即可。
单击“Next”。
因此前已经安装更新过AWS CLI v2,所以显示如下界面,提示
改变存储位置
、修复
、移除
等选项。
此时,完成AWS命令行接口v2安装向导。
最后,执行命令验证AWS CLI V2是否成功安装。
C:\Users\xyb>aws --version
aws-cli/2.15.27 Python/3.11.8 Windows/10 exe/AMD64 prompt/off
3. 使用AWS configure命令配置AWS凭据
在该IAM用户下创建访问密钥。
使用AWS configure命令配置AWS凭据。
C:\Users\xyb>aws configure
AWS Access Key ID [****************WROS]:<xxx>
AWS Secret Access Key [****************IR6n]:<xxxxxx>
Default region name [us-west-2]:<AWS区域>
Default output format [None]:<json>
验证配置好的AWS凭据是否有效。
aws sts get-caller-identity
C:\Users\xyb>aws sts get-caller-identity
{"UserId": "AIDAxxxxxx5E4A","Account": "540xxxxxxxx92","Arn": "arn:aws:iam::540xxxxxxxx92:user/xxxxxxxx"
}
4. 安装访问Bedrock的SDK
Anthropic的客户端SDK支持Bedrock。也可以直接使用AWS SDK,如boto3。
pip install boto3>=1.28.59
5. 访问Amazon Bedrock UI
输入https://aws.amazon.com/cn/,登陆到AWS管理控制台。在下方搜索栏中输入
Bedrock
。导航进入Amazon Bedrock。
此时,来到Amazon Bedrock界面。可以开始开启Claude 模型访问权限。
6. 订阅Bedrock上的Claude模型
先点击
1️⃣模型访问权限
,再点击2️⃣管理模型访问权限
。
勾选要使用的Claude模型。
提示:您现在可以访问此模型。只有在 Bedrock 中使用此模型时,才会向您收费。
接着,点击下方的
保存更改
的按钮。
此刻,Claude 3 Sonnet模型访问请求已提交。访问状态为
正在运行
。需要等待几分钟的时间。
稍等片刻之后,点击
刷新
按钮,可以看到该模型的访问状态,已经变成已授予访问权限
,可以使用该模型了。
⚠️注意事项⚠️
若在请求访问该模型出现如下报错信息时,可能是因为该AWS账号注册的联系地址信息不支持。需要进行更改,账户信息地址均需要切换成海外地址。
修改地方①:账户的联系地址。依次按照图示,点击操作修改即可。
修改地方①:账户的账单地址。依次按照图示,点击操作修改即可。
7. 通过CLI命令列出所有可用的Claude模型
aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"
C:\Users\xyb>aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"
["anthropic.claude-instant-v1:2:100k","anthropic.claude-instant-v1","anthropic.claude-v2:0:18k","anthropic.claude-v2:0:100k","anthropic.claude-v2:1:18k","anthropic.claude-v2:1:200k","anthropic.claude-v2:1","anthropic.claude-v2","anthropic.claude-3-sonnet-20240229-v1:0"
]
温馨提示:使用CLI命令列出AWS上所有可用的Claude模型,需要将AWS CLI更新成最新的版本,旧版本会访问失败。
8. 向Claude 3 Sonnet on Bedrock生成文本
import boto3
import jsonbedrock = boto3.client(service_name="bedrock-runtime")
body = json.dumps({"max_tokens": 256,"messages": [{"role": "user", "content": "Hello, world"}],"anthropic_version": "bedrock-2023-05-31"
})response = bedrock.invoke_model(body=body, modelId="anthropic.claude-3-sonnet-20240229-v1:0")response_body = json.loads(response.get("body").read())
print(response_body.get("content"))
使用Claude模型分析这串代码,效果不错。
这段代码是使用Python和AWS Boto3库来调用Anthropic的Claude AI模型,生成相应的响应内容。让我们逐行解释一下:
import boto3
和import json
分别导入了boto3和json库。boto3是AWS提供的Python SDK,用于与AWS服务进行交互。json库则用于处理JSON数据格式。
bedrock = boto3.client(service_name="bedrock-runtime")
创建了一个名为bedrock
的Boto3客户端,用于与AWS Bedrock Runtime服务进行交互。Bedrock Runtime是一个托管的服务,用于部署和运行机器学习模型。
body = json.dumps({...})
创建了一个JSON字符串作为请求体。这个请求体包含了调用Claude AI模型所需的参数,如最大令牌数(max_tokens
)、对话历史(messages
)和模型版本(anthropic_version
)。
response = bedrock.invoke_model(body=body, modelId="anthropic.claude-3-sonnet-20240229-v1:0")
调用了Bedrock Runtime服务的invoke_model
方法,传入请求体和要调用的模型ID。模型ID指定了要使用的Claude AI模型的版本。
response_body = json.loads(response.get("body").read())
从Bedrock Runtime服务的响应中提取出响应体,并将其从JSON字符串解析为Python字典对象。
print(response_body.get("content"))
打印出响应体中的content
字段,该字段包含了Claude AI模型生成的响应内容。总的来说,这段代码首先构建了一个包含对话历史和参数的请求体,然后使用Boto3客户端调用了AWS Bedrock Runtime服务中部署的Claude AI模型。最后,它从服务的响应中提取出模型生成的响应内容并将其打印出来。
9. 参考链接
[1] https://docs.anthropic.com/claude/reference/claude-on-amazon-bedrock
[2] https://xybdiy.blog.csdn.net/article/details/134488239
[3] https://console.anthropic.com/settings/keys
[4] https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html
温馨提示:Claude 3模型在Amazon Bedrock限时体验活动即将于3月11日零点正式结束。还没体验的小伙伴们抓紧体验啦~