本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过发送InvokeModel或InvokeModelWithResponseStream请求,通过 API 对模型进行推理。要检查模型是否支持流式传输,请发送GetFoundationModel或ListFoundationModels请求并检查responseStreamingSupported
字段中的值。
以下字段是必填字段:
字段 | 应用场景 |
---|---|
modelId | 指定要使用的模型、推理配置文件或提示管理中的提示。要了解如何查找此值,请参阅 使用 API 提交提示并生成响应。 |
body | 为模型指定推理参数。要查看不同模型的推理参数,请参阅 基础模型的推理请求参数和响应字段。如果您在modelId 字段中指定提示管理中的提示,请省略此字段(如果包含该字段,则会被忽略)。 |
以下字段是可选字段:
字段 | 应用场景 |
---|---|
accept | 为请求正文指定媒体类型。有关更多信息,请参阅 “媒体类型” Swagger 网站 |
contentType | 为响应正文指定媒体类型。有关更多信息,请参阅 “媒体类型” Swagger 网站 |
explicitPromptCaching | 指定是启用还是禁用提示缓存。有关更多信息,请参阅 提示缓存以加快模型推断速度。 |
guardrailIdentifier | 指定要应用于提示和响应的防护机制。有关更多信息,请参阅 测试防护机制。 |
guardrailVersion | 指定要应用于提示和响应的防护机制。有关更多信息,请参阅 测试防护机制。 |
trace | 指定是否返回您指定的防护机制的轨迹。有关更多信息,请参阅 测试防护机制。 |
调用模型代码示例
以下示例说明如何使用 InvokeModelAPI 运行推理。有关不同模型的示例,请参阅所需模型的推理参数参考(基础模型的推理请求参数和响应字段)。
以下示例将生成的对提示的响应保存story of two dogs
到名为的文件中invoke-model-output.txt
。
aws bedrock-runtime invoke-model \
--model-id anthropic.claude-v2 \
--body '{"prompt": "\n\nHuman: story of two dogs\n\nAssistant:", "max_tokens_to_sample" : 300}' \
--cli-binary-format raw-in-base64-out \
invoke-model-output.txt
通过流式传输调用模型代码示例
注意
AWS CLI 不支持直播。
以下示例说明如何使用 InvokeModelWithResponseStreamAPI 使用提示符在 Python 中生成流式文本write an essay for living on mars in 1000
words
。
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()))