Esquema completo da solicitação
O esquema de solicitação é quase idêntico entre a API Invoke (streaming e não streaming) e a API Converse. Há diferenças sutis relacionadas à codificação da carga útil de imagem e vídeo. Como o Amazon Nova Micro não é compatível com imagens ou vídeos como entrada, essas partes do esquema de solicitação não se aplicam ao Amazon Nova Micro. Do contrário, o esquema de solicitação é o mesmo para todos os modelos de compreensão do Amazon Nova.
Importante
O período de tempo limite para chamadas de inferência para o Amazon Nova é de 60 minutos. Por padrão, os clientes do AWS SDK atingem o tempo limite após 1 minuto. Recomendamos que você aumente o período de tempo limite de leitura do seu cliente do AWS SDK para pelo menos 60 minutos. Por exemplo, no SDK botocore do AWS Python, altere o valor do campo read_timeout em botocore.config
client = boto3.client( "bedrock-runtime", region_name="us-east-1", config=Config( connect_timeout=3600, # 60 minutes read_timeout=3600, # 60 minutes retries={'max_attempts': 1} ) )
{ "system": [ { "text":"string"} ], "messages": [ { "role": "user", //first turn should always be the user turn "content": [ { "text":"string"}, { "image": { "format": "jpeg" | "png" | "gif" | "webp", "source": { "bytes":image// Binary array (Converse API) or Base64-encoded string (Invoke API) } } }, { "video": { "format": "mkv" | "mov" | "mp4" | "webm" | "three_gp" | "flv" | "mpeg" | "mpg" | "wmv", "source": { // Option 1: Sending a S3 location "s3Location": { "uri":"string", // example: s3://my-bucket/object-key "bucketOwner":"string"// (Optional) example: "123456789012" }, // Option 2: Sending file bytes "bytes":video// Binary array (Converse API) or Base64-encoded string (Invoke API) } } } ] }, { "role": "assistant", "content": [ { "text":"string"//prefilling assistant turn } ] } ], "inferenceConfig":{ // all Optional, Invoke parameter names used in this example "maxTokens":int, // greater than 0, equal or less than 5k (default: dynamic*) "temperature":float, // greater than 0 and less than 1.0 (default: 0.7) "topP":float, // greater than 0, equal or less than 1.0 (default: 0.9) "topK":int, // 0 or greater (default: 50) "stopSequences":["string"]}, "toolConfig": { // all Optional "tools": [ { "toolSpec": { "name":"string", //meaningful tool name (Max char: 64) "description":"string", //meaningful description of the tool "inputSchema": { "json": { // The JSON schema for the tool. For more information, see JSON Schema Reference "type": "object", "properties": {"arg1": { //arguments "type": "string", //argument data type "description": "string" //meaningful description } }, "required": ["string"//args ] } } } } ], }, "toolChoice": { "auto": {} } //Amazon Nova models ONLY support tool choice of "auto" }
Os seguintes parâmetros são obrigatórios:
-
system: (opcional) o prompt do sistema para a solicitação.Um prompt do sistema é uma maneira de fornecer contexto e instruções para o Amazon Nova, como especificar uma meta ou um perfil específico.
-
messages: (obrigatório) as mensagens de entrada.-
role: o perfil do turno da conversa. Os valores válidos sãousereassistant. -
content: (obrigatório) uma lista de objetos ContentBlock que contêm conteúdo para a conversa. Cada objeto contém uma chave que especifica o tipo de conteúdo (text,imageouvideo). O valor do objeto depende do tipo de chave. Os tipos a seguir são compatíveis com a chave:-
text: mapeia para um objeto que contém um único campotext, cujo valor é o prompt textual do turno da conversa. Se a conversa também incluir um objetoimageouvideo, o objetotextserá interpretado como um prompt de texto que acompanha a imagem ou o vídeo. -
image: (não compatível com o Amazon Nova Micro) mapeia para um objeto representando o conteúdo da imagem e inclui os seguintes campos:-
format: (obrigatório) o formato da imagem. Você pode especificar os seguintes formatos de imagem:-
jpeg -
png -
webp -
gif
-
-
source: (obrigatório) os dados da imagem. Para a API Invoke, deve ser uma string de imagem codificada no Base64. Para a API Converse, deve ser uma matriz de bytes. -
bytes: (obrigatório) os dados da imagem. Para a API Invoke, deve ser uma string de imagem codificada no Base64. Para a API Converse, deve ser uma matriz de bytes.
-
-
video: (não compatível com o Amazon Nova Micro) mapeia para um objeto representando conteúdo de vídeo e incluindo os seguintes campos:-
format: (obrigatório) o formato do vídeo. Especifique os seguintes valores:-
mkv -
mov -
mp4 -
webm -
three_gp -
flv -
mpeg -
mpg -
wmv
-
-
source: (obrigatório) a fonte dos dados do vídeo. Você pode especificar um URI do Amazon S3 ou os bytes do arquivo de vídeo na solicitação.-
uri: (obrigatório) o URI do Amazon S3 do arquivo de vídeo. Por exemplo,“s3://my-bucket/object-key”. -
bucketOwner: (opcional) o ID da conta à qual o bucket pertence. Use isto se você estiver invocando o modelo de uma conta separada. -
bytes: (obrigatório) os dados da imagem. Para a API Invoke, deve ser uma string de imagem codificada no Base64. Para a API Converse, deve ser uma matriz de bytes.
-
-
-
-
-
inferenceConfig:são valores de configuração de inferência que podem ser passados na inferência.-
maxTokens: (opcional) o número máximo de tokens a serem gerados antes de parar.Observe que os modelos do Amazon Nova podem parar de gerar tokens antes de atingir o valor de
maxTokens. O valor máximo permitido para novos tokens é 5K. -
temperature: (opcional) o valor de aleatoriedade injetada na resposta. Os valores válidos são entre 0,00001 and 1, inclusive. O valor padrão é 0,7. -
topP: (opcional) use amostragem de núcleo.O Amazon Nova calcula a distribuição cumulativa de todas as opções de cada token subsequente em ordem de probabilidade decrescente e a interrompe quando atinge uma determinada probabilidade especificada por
topP. Você deve alterartemperatureoutopP, mas não ambos. Os valores válidos são entre 0 e 1, inclusive. O valor padrão é 0.9. -
topK: (opcional) somente uma amostragem das opções K principais para cada token subsequente.Use o parâmetro
topKpara remover respostas de baixa probabilidade e com final extenso. Os valores válidos são entre 0 e 128. O valor padrão é que esse parâmetro não é usado.nota
Ao usar a API Converse com o parâmetro
topK, um parâmetroinferenceConfigadicional deve ser incluído em um campoadditionalModelRequestFields. Confira Usar a API Converse para obter um exemplo de como esses parâmetros são passados. -
stopSequences: (opcional) matriz de strings contendo sequências de parada. Se o modelo gerar qualquer uma dessas strings, a geração será interrompida e a resposta será retornada até esse ponto.
Parameter Default value Range temperature0.7 0.00001-1 topP0.9 0-1 topKNot used 0-128 -
-
toolConfig: (opcional) objeto JSON seguindo o esquema ToolConfig, contendo a especificação e a escolha da ferramenta. Esse esquema é o mesmo seguido pela API Converse.