使用 Invoke API
Invoke API 可直接调用 Amazon Nova 模型,并能更精细地控制请求与响应格式。不同于对模型专属细节进行抽象封装的 Converse API,Invoke API 允许直接使用模型原生的请求与响应结构。
注意
Invoke API 支持与 Converse API 相同的功能,但文档输入模式除外,该能力为 Converse API 独有。
请求结构
Invoke API 请求需要模型 ID 和 JSON 请求正文:
import boto3 import json bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') request_body = { 'messages': [ { 'role': 'user', 'content': [{'text': 'What is machine learning?'}] } ], 'inferenceConfig': { 'maxTokens': 512, 'temperature': 0.7 } } response = bedrock.invoke_model( modelId='us.amazon.nova-2-lite-v1:0', body=json.dumps(request_body) ) response_body = json.loads(response['body'].read()) content_list = response_body["output"]["message"]["content"] # Extract the first text block text_block = next((item for item in content_list if "text" in item), None) if text_block is not None: print(text_block["text"])
请求参数
Invoke API 支持以下关键参数:
-
messages:对话消息数组,包含角色和内容 -
system:可选系统提示词,用于提供上下文信息和操作指令 -
inferenceConfig:控制模型输出的参数(temperature、maxTokens、topP、topK、stopSequences、reasoningConfig) -
toolConfig:函数调用相关配置,包含工具规范与工具选择策略