View a markdown version of this page

使用 Invoke API - Amazon Nova

使用 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:函数调用相关配置,包含工具规范与工具选择策略