本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 API 通过单个提示调用模型
通过发送InvokeModel或InvokeModelWithResponseStream请求,通过 API 对模型进行推理。您可以在 contentType
和 accept
字段中为请求和响应正文指定媒体类型。如果您不指定值,这两个字段的默认值为 application/json
。
除模型外 AI21 LabsJurassic-2,所有文本输出模型都支持流式传输。要检查模型是否支持流式传输,请发送GetFoundationModel或ListFoundationModels请求并检查responseStreamingSupported
字段中的值。
指定以下字段,具体取决于您使用的模型。
-
modelId
– 使用模型 ID 或模型 ARN。查找modelId
或的方法modelArn
取决于您使用的模型类型:-
基础模型 – 执行以下任一操作。
-
要查看 Amazon Bedrock 支持的所有基础模型的模型 ID 列表,请参阅 Amazon Bedrock 基本模型 ID(按需吞吐量) 。
-
发送ListFoundationModels请求并找到要在响应中使用的模型的
modelId
或modelArn
。 -
在控制台中,在提供商中选择一个模型,并在 API 请求示例中找到
modelId
。
-
-
自定义模型 – 为自定义模型购买预调配吞吐量(有关更多信息,请参阅Amazon Bedrock 的预配置吞吐量),并查找预调配模型的模型 ID 或模型 ARN。
-
预调配模型 – 如果您已为基础模型或自定义模型创建了预调配吞吐量,请执行以下任一操作。
-
发送ListProvisionedModelThroughputs请求并找到要在
provisionedModelArn
响应中使用的模型。 -
在控制台中,在预配置吞吐量中选择一个模型,然后在模型详细信息部分找到该模型 ARN。
-
-
-
body
– 每个基础模型都有自己的推理参数,这些参数在body
字段中设置。自定义模型或预调配模型的推理参数取决于创建模型时所依据的基础模型。有关更多信息,请参阅 根基模型的推理参数。
调用模型代码示例
以下示例说明如何使用 InvokeModelAPI 运行推理。有关不同模型的示例,请参阅所需模型的推理参数参考(根基模型的推理参数)。
通过流式传输调用模型代码示例
注意
AWS CLI 不支持流式传输。
以下示例展示了如何使用 InvokeModelWithResponseStreamAPI 通过 Python 生成直播文本,使用提示用 1000 字写一篇关于在火星上生活
的文章。
import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ 'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:', 'max_tokens_to_sample': 4000 }) response = brt.invoke_model_with_response_stream( modelId='anthropic.claude-v2', body=body ) stream = response.get('body') if stream: for event in stream: chunk = event.get('chunk') if chunk: print(json.loads(chunk.get('bytes').decode()))