使用 AWS Command Line Interface运行 Amazon Bedrock API 请求示例
本部分将指导您在 Amazon Bedrock 中尝试使用 AWS CLI 来执行一些常见操作,以测试您的权限和身份验证设置是否正确。在运行以下示例之前,应检查您是否满足了以下先决条件:
先决条件
-
您拥有 AWS 账户并有权使用具有 Amazon Bedrock 必要使用权限的角色。否则,请按照已有 AWS 账户中的步骤操作。
-
您已请求 Amazon Titan Text G1 - Express 模型的访问权限。否则,请按照请求访问 Amazon Bedrock 基础模型中的步骤操作。
-
您已收到您的 IAM 用户的访问密钥,并使用这些密钥配置了配置文件。否则,请按照获取凭证以向用户授予编程访问权限中适用于您的应用情况的步骤操作。
使用您创建的 Amazon Bedrock 角色,测试是否已针对 Amazon Bedrock 设置正确的权限和访问密钥。这些示例均假设您已使用访问密钥配置了默认配置文件。请注意以下几点:
-
您必须至少配置一个包含 AWS 访问密钥 ID 和 AWS 秘密访问密钥的配置文件。
-
如果您使用的是临时凭证,则还必须包含一个 AWS 会话令牌。
列出 Amazon Bedrock 必须提供的基础模型
以下示例使用 Amazon Bedrock 端点运行 ListFoundationModels 操作。ListFoundationModels
会列出您所在区域的 Amazon Bedrock 中可用的基础模型(FM)。在终端,运行以下命令:
aws bedrock list-foundation-models --region us-east-1
如果此命令成功,响应会返回一个包含 Amazon Bedrock 中可用基础模型的列表。
向模型提交文本提示并使用 InvokeModel 生成文本响应
以下示例使用 Amazon Bedrock 运行时端点运行 InvokeModel 操作。InvokeModel
允许您提交提示以生成模型响应。在终端,运行以下命令:
aws bedrock-runtime invoke-model \ --model-id amazon.titan-text-express-v1 \ --body '{"inputText": "Describe the purpose of a \"hello world\" program in one line.", "textGenerationConfig" : {"maxTokenCount": 512, "temperature": 0.5, "topP": 0.9}}' \ --cli-binary-format raw-in-base64-out \ invoke-model-output-text.txt
如果此命令成功,模型生成的响应会写入 invoke-model-output-text.txt
文件。outputText
字段会返回文本响应和随附信息。
向模型提交文本提示并使用 Converse 生成文本响应
以下示例使用 Amazon Bedrock 运行时端点运行 Converse 操作。Converse
允许您提交提示以生成模型响应。我们建议在支持时用 Converse
来代替 InvokeModel
操作,因为前者可以统一各个 Amazon Bedrock 模型的推理请求并简化多轮对话的管理。在终端,运行以下命令:
aws bedrock-runtime converse \ --model-id amazon.titan-text-express-v1 \ --messages '[{"role": "user", "content": [{"text": "Describe the purpose of a \"hello world\" program in one line."}]}]' \ --inference-config '{"maxTokens": 512, "temperature": 0.5, "topP": 0.9}'
如果此命令成功,则 text
字段会返回模型生成的响应和随附信息。