设置 Amazon Bedrock API - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Amazon Bedrock API

本节介绍如何设置您的环境以进行 Amazon Bedrock API 调用,并提供了常见使用案例的示例。您可以使用 AWS Command Line Interface (AWS CLI)、 AWS 软件开发工具包或 SageMaker 笔记本来访问 Amazon Bedrock API。

在访问 Amazon Bedrock API 之前,您需要申请访问计划使用的基础模型。

有关 API 操作和参数的详细信息,请参阅 Amazon Bedrock API 参考

以下资源提供了有关 Amazon Bedrock API 的更多信息。

添加模型访问权限

重要

要使用任何根基模型,必须先请求获得对该模型的访问权限。如果您在请求模型访问权限之前尝试使用该模型(通过 API 或控制台),将会收到一条错误消息。有关更多信息,请参阅 模型访问权限

Amazon Bedrock 端点

要以编程方式连接到 AWS 服务,请使用终端节点。有关可用于 Amazon Bedrock 的终端节点的信息, AWS 一般参考 请参阅中的 Amazon Bedrock 终端节点和配额一章。

Amazon Bedrock 提供以下服务端点。

设置 AWS CLI

  1. 如果您计划使用 CLI,请 AWS CLI 按照安装或更新最新版本的 AWS Command Line Interface 用户指南中的步骤进行安装和配置。

  2. 按照配置中的步骤,使用 aws configure CLI 命令配置您的 AWS 证书 AWS CLI。

有关 AWS CLI 命令和操作,请参阅以下 CLI 参考资料:

设置 AWS SDK

AWS 软件开发套件 (SDK) 可用于许多流行的编程语言。每个软件开发工具包都提供 API、代码示例和文档,使开发人员能够更轻松地以其首选语言构建应用程序。SDK 会自动为您执行有用的任务,例如:

  • 对您的服务请求进行加密签名

  • 重试请求

  • 处理错误响应

请参阅下表,查找有关每个软件开发工具包的一般信息和代码示例,以及每个软件开发工具包的 Amazon Bedrock API 参考资料。您也可以在以下位置找到代码示例使用 AWS 软件开发工具包的 Amazon Bedrock 的代码示例

使用 SageMaker 笔记本电脑

你可以使用适用于 Python 的 SDK (Boto3) 从笔记本调用 Amazon Bedrock API 操作。 SageMaker

配置 SageMaker 角色

将 Amazon Bedrock 权限添加到将使用此 SageMaker 笔记本的 IAM 角色。

在 IAM 控制台中,执行以下步骤:

  1. 选择 IAM 角色,然后选择添加权限并从下拉列表中选择创建内联策略

  2. 包括以下权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:*", "Resource": "*" } ] }

向信任关系添加以下权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

测试运行时设置

将以下代码添加到笔记本并运行代码。

import boto3 import json bedrock = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman:explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = bedrock.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

测试 Amazon Bedrock 设置

将以下代码添加到笔记本并运行代码。

import boto3 bedrock = boto3.client(service_name='bedrock') bedrock.get_foundation_model(modelIdentifier='anthropic.claude-v2')