Usar a API Invoke
A API Invoke fornece acesso direto aos modelos do Amazon Nova com mais capacidade de controlar o formato de solicitações e respostas. Ao contrário da API Converse, que abstrai detalhes específicos do modelo, a API Invoke permite que você trabalhe diretamente com as estruturas nativas de solicitações e respostas do modelo.
nota
A API Invoke é compatível com os mesmos recursos da API Converse, exceto pela modalidade de entrada de documentos, que é específica da API Converse.
Estrutura de solicitações
Uma solicitação da API Invoke exige o ID do modelo e o corpo da solicitação 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"])
Parâmetros de solicitação
A API Invoke é compatível com os seguintes parâmetros principais:
-
messages: matriz de mensagens de conversação com perfil e conteúdo -
system: prompt opcional do sistema para contexto e instruções -
inferenceConfig: parâmetros que controlam a saída do modelo (temperature, maxTokens, topP, topK, stopSequences, reasoningConfig) -
toolConfig: especificações da ferramenta e escolha da ferramenta para chamada de função