Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar o Converse API

Modo de foco
Usar o Converse API - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Para usar o Converse API, você chama as ConverseStream operações Converse ou para enviar mensagens para um modelo. Para chamar Converse, é necessário ter a permissão para a operação bedrock:InvokeModel. Para chamar ConverseStream, é necessário ter a permissão para a operação bedrock:InvokeModelWithResponseStream.

Solicitação

Ao fazer uma solicitação Converse com um endpoint de tempo de execução do Amazon Bedrock, você pode incluir os seguintes campos:

  • modelID — Um parâmetro obrigatório no cabeçalho que permite especificar o recurso a ser usado para inferência.

  • Os campos a seguir permitem que você personalize o prompt:

    • mensagens — Use para especificar o conteúdo e a função dos prompts.

    • sistema — Use para especificar solicitações do sistema, que definem instruções ou contexto para o modelo.

    • InferenceConfig — Use para especificar parâmetros de inferência que são comuns a todos os modelos. Os parâmetros de inferência influenciam a geração da resposta.

    • additionalmodelRequestFields— Use para especificar parâmetros de inferência específicos do modelo com o qual você executa a inferência.

    • PromptVariables — (Se você usar um prompt do Gerenciamento de prompts) Use esse campo para definir as variáveis no prompt a serem preenchidas e os valores com os quais preenchê-las.

  • Os campos a seguir permitem que você personalize como a resposta é retornada:

    • GuardRailConfig — Use esse campo para incluir uma grade de proteção a ser aplicada a todo o prompt.

    • ToolConfig — Use esse campo para incluir uma ferramenta para ajudar um modelo a gerar respostas.

    • additionalModelResponseFieldPaths— Use esse campo para especificar campos a serem retornados como um objeto ponteiro JSON.

  • requestMetadata — Use esse campo para incluir metadados que podem ser filtrados ao usar registros de invocação.

nota

As restrições a seguir se aplicam quando você usa um prompt de gerenciamento de Prompt com Converse ouConverseStream:

  • Você não pode incluir os toolConfig campos additionalModelRequestFields inferenceConfigsystem,, ou.

  • Se você incluir o messages campo, as mensagens serão anexadas após as mensagens definidas no prompt.

  • Se você incluir o guardrailConfig campo, a grade de proteção será aplicada a todo o prompt. Se você incluir guardContent blocos no ContentBlockcampo, a grade de proteção só será aplicada a esses blocos.

Expanda uma seção para saber mais sobre um campo no corpo da Converse solicitação:

O messages campo é uma matriz de objetos Message, cada um dos quais define uma mensagem entre o usuário e o modelo. Um Message objeto contém os seguintes campos:

  • role — Define se a mensagem é do user (o prompt enviado ao modelo) ou assistant (a resposta do modelo).

  • conteúdo — Define o conteúdo no prompt.

    nota

    O Amazon Bedrock não armazena nenhum texto, imagem ou documento que você forneça como conteúdo. Os dados são usados somente para gerar a resposta.

Você pode manter o contexto da conversa incluindo todas as mensagens na conversa nas Converse solicitações subsequentes e usando o role campo para especificar se a mensagem é do usuário ou do modelo.

O content campo é mapeado para uma matriz de ContentBlockobjetos. Em cada um ContentBlock, você pode especificar um dos seguintes campos (para ver quais modelos suportam quais modalidades, consulteModelos compatíveis e recursos do modelo):

text

O campo text é associado a uma string que especifica o prompt. O text campo é interpretado junto com outros campos especificados no mesmo ContentBlock.

(Opcional) Para determinados modelos, você pode adicionar pontos de verificação de cache usando cachePoint campos para utilizar o cache imediato. O cache imediato é um recurso que permite que você comece a armazenar em cache o contexto das conversas para obter economia de custos e latência. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

O seguinte mostra um objeto Message com uma content matriz contendo somente um texto ContentBlock:

{ "role": "user | assistant", "content": [ { "text": "string" } ] }

O exemplo a seguir mostra um objeto Message com uma content matriz contendo um texto ContentBlocke um cachePoint campo opcional. Como resultado, o conteúdo do texto ContentBlocké adicionado ao cache.

{ "role": "user | assistant", "content": [ { "text": "string" }, { "cachePoint": { "type": "default" } } ] }
image

O image campo é mapeado para um ImageBlock. Passe os bytes brutos, codificados em base64, para uma imagem no campo bytes. Se você usa um AWS SDK, não precisa codificar os bytes em base64.

Se você excluir o text campo, o modelo descreverá a imagem.

(Opcional) Para determinados modelos, você pode adicionar pontos de verificação de cache usando cachePoint campos para utilizar o cache imediato. O cache imediato é um recurso que permite que você comece a armazenar em cache o contexto das conversas para obter economia de custos e latência. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

O seguinte mostra um objeto Message com uma content matriz contendo somente uma imagem ContentBlock:

{ "role": "user", "content": [ { "image": { "format": "png | jpeg | gif | webp", "source": { "bytes": "image in bytes" } } } ] }

O exemplo a seguir mostra um objeto Message com uma content matriz contendo uma imagem ContentBlocke um cachePoint campo opcional. Como resultado, o conteúdo da imagem é adicionado ao cache.

{ "role": "user", "content": [ { "image": { "format": "png | jpeg | gif | webp", "source": { "bytes": "image in bytes" } } }, { "cachePoint": { "type": "default" } } ] }
document

O document campo é mapeado para um DocumentBlock. Se você incluir um DocumentBlock, verifique se a solicitação está em conformidade com as seguintes restrições:

  • No campo content do objeto Message, inclua também um campo text com um prompt relacionado ao documento.

  • Passe os bytes brutos, codificados em base64, para o documento no campo bytes. Se você usa um AWS SDK, não precisa codificar os bytes do documento em base64.

  • O campo name pode conter somente os seguintes caracteres:

    • Caracteres alfanuméricos

    • Caracteres de espaço em branco (não mais do que um em uma linha)

    • Hifens

    • Parênteses

    • Colchetes

    nota

    O campo name é vulnerável a injeções de prompt, porque o modelo pode interpretá-lo como instruções de forma inadvertida. Por isso, é recomendável especificar um nome neutro.

(Opcional) Para determinados modelos, você pode adicionar pontos de verificação de cache usando cachePoint campos para utilizar o cache imediato. O cache imediato é um recurso que permite que você comece a armazenar em cache o contexto das conversas para obter economia de custos e latência. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

O seguinte mostra um objeto Message com uma content matriz contendo somente um documento ContentBlocke um texto ContentBlockde acompanhamento obrigatório.

{ "role": "user", "content": [ { "text": "string" }, { "document": { "format": "pdf | csv | doc | docx | xls | xlsx | html | txt | md", "name": "string", "source": { "bytes": "document in bytes" } } } ] }

A seguir, é mostrado um objeto Message com uma content matriz contendo um documento ContentBlocke um texto de acompanhamento obrigatório ContentBlock, bem como um CachePoint que adiciona o conteúdo do documento e do texto ao cache.

{ "role": "user", "content": [ { "text": "string" }, { "document": { "format": "pdf | csv | doc | docx | xls | xlsx | html | txt | md", "name": "string", "source": { "bytes": "document in bytes" } } }, { "cachePoint": { "type": "default" } } ] }
video

O video campo é mapeado para um VideoBlockobjeto. Passe os bytes brutos no bytes campo, codificados em base64. Se você usa o AWS SDK, não precisa codificar os bytes em base64.

Se você não incluir o text campo, o modelo descreverá o vídeo.

O exemplo a seguir mostra um objeto Message com uma content matriz contendo somente um vídeo ContentBlock.

{ "role": "user", "content": [ { "video": { "format": "mov | mkv | mp4 | webm | flv | mpeg | mpg | wmv | three_gp", "source": { "bytes": "video in bytes" } } } ] }

Observe que, para arquivos com uma .3gp extensão, o formato precisa ser especificado comothree_gp.

Você também pode passar um vídeo por meio de um URI do Amazon S3 em vez de passar os bytes diretamente no corpo da solicitação. O seguinte mostra um Message objeto com uma matriz de conteúdo contendo somente um vídeo ContentBlock com a fonte de vídeo passada por um URI do Amazon S3.

{ "role": "user", "content": [ { "video": { "format": "mov | mkv | mp4 | webm | flv | mpeg | mpg | wmv | three_gp", "source": { "s3Location": { "uri": "${S3Uri}", "bucketOwner": "${AccountId}" } } } } ] }

O s3Location parâmetro só é suportado na região Leste dos EUA (Norte da Virgínia).

nota

A função assumida deve ter a s3:GetObject permissão para o URI do Amazon S3. O bucketOwner campo é opcional, mas deve ser especificado se a conta que faz a solicitação não for proprietária do bucket em que o URI do Amazon S3 foi encontrado.

guardContent

O guardContent campo é mapeado para um GuardrailConverseContentBlockobjeto. Você pode usar esse campo para direcionar uma entrada a ser avaliada pela grade de proteção definida no guardrailConfig campo. Se você não especificar esse campo, a grade de proteção avaliará todas as mensagens no corpo da solicitação. Você pode transmitir os seguintes tipos de conteúdo em umGuardBlock:

  • texto — O seguinte mostra um objeto Message com uma content matriz contendo somente um texto GuardrailConverseContentBlock:

    { "role": "user", "content": [ { "text": "string", "qualifiers": [ "grounding_source | query | guard_content", ... ] } ] }

    Você define o texto a ser avaliado e inclui quaisquer qualificadores a serem usados como base contextual.

  • imagem — O seguinte mostra um objeto Message com uma content matriz contendo somente uma imagem GuardrailConverseContentBlock:

    { "role": "user", "content": [ { "format": "png | jpeg", "source": { "bytes": "image in bytes" } } ] }

    Você especifica o formato da imagem e define a imagem em bytes.

Para obter mais informações sobre o uso de grades de proteção, consulte. Impedir conteúdo prejudicial em modelos usando o Amazon Bedrock Guardrails

reasoningContent

O reasoningContent campo é mapeado para um ReasoningContentBlock. Este bloco contém conteúdo sobre o raciocínio que foi realizado pelo modelo para gerar a resposta no anexoContentBlock.

O exemplo a seguir mostra um Message objeto com uma content matriz contendo somente a ReasoningContentBlock e um texto ContentBlock que o acompanha.

{ "role": "user", "content": [ { "text": "string" }, { "reasoningContent": { "reasoningText": { "text": "string", "signature": "string" } "redactedContent": "base64-encoded binary data object" } } ] }

ReasoningContentBlockContém o raciocínio usado para gerar o conteúdo anexo no reasoningText campo, além de qualquer conteúdo no raciocínio que tenha sido criptografado pelo fornecedor do modelo por motivos de confiança e segurança no campo. redactedContent

Dentro do reasoningText campo, os text campos descrevem o raciocínio. O signature campo é um hash de todas as mensagens da conversa e é uma proteção contra a adulteração do raciocínio usado pelo modelo. Você deve incluir a assinatura e todas as mensagens anteriores nas Converse solicitações subsequentes. Se alguma das mensagens for alterada, a resposta gerará um erro.

toolUse

Contém informações sobre uma ferramenta para o modelo usar. Para obter mais informações, consulte Use uma ferramenta para concluir uma resposta do modelo do Amazon Bedrock.

toolResult

Contém informações sobre o resultado do modelo usando uma ferramenta. Para obter mais informações, consulte Use uma ferramenta para concluir uma resposta do modelo do Amazon Bedrock.

nota

As seguintes restrições pertencem ao campo content:

  • É possível incluir até vinte imagens. O tamanho, a altura e a largura de cada imagem não devem exceder 3,75 MB, 8.000 px e 8.000 px, respectivamente.

  • É possível incluir até cinco documentos. O tamanho de cada documento não deve ser superior a 4,5 MB.

  • Você só poderá incluir imagens e documentos se role for user.

No exemplo de messages a seguir, o usuário solicita uma lista de três músicas pop e o modelo gera uma lista de músicas.

[ { "role": "user", "content": [ { "text": "Create a list of 3 pop songs." } ] }, { "role": "assistant", "content": [ { "text": "Here is a list of 3 pop songs by artists from the United Kingdom:\n\n1. \"As It Was\" by Harry Styles\n2. \"Easy On Me\" by Adele\n3. \"Unholy\" by Sam Smith and Kim Petras" } ] } ]

O messages campo é uma matriz de objetos Message, cada um dos quais define uma mensagem entre o usuário e o modelo. Um Message objeto contém os seguintes campos:

  • role — Define se a mensagem é do user (o prompt enviado ao modelo) ou assistant (a resposta do modelo).

  • conteúdo — Define o conteúdo no prompt.

    nota

    O Amazon Bedrock não armazena nenhum texto, imagem ou documento que você forneça como conteúdo. Os dados são usados somente para gerar a resposta.

Você pode manter o contexto da conversa incluindo todas as mensagens na conversa nas Converse solicitações subsequentes e usando o role campo para especificar se a mensagem é do usuário ou do modelo.

O content campo é mapeado para uma matriz de ContentBlockobjetos. Em cada um ContentBlock, você pode especificar um dos seguintes campos (para ver quais modelos suportam quais modalidades, consulteModelos compatíveis e recursos do modelo):

text

O campo text é associado a uma string que especifica o prompt. O text campo é interpretado junto com outros campos especificados no mesmo ContentBlock.

(Opcional) Para determinados modelos, você pode adicionar pontos de verificação de cache usando cachePoint campos para utilizar o cache imediato. O cache imediato é um recurso que permite que você comece a armazenar em cache o contexto das conversas para obter economia de custos e latência. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

O seguinte mostra um objeto Message com uma content matriz contendo somente um texto ContentBlock:

{ "role": "user | assistant", "content": [ { "text": "string" } ] }

O exemplo a seguir mostra um objeto Message com uma content matriz contendo um texto ContentBlocke um cachePoint campo opcional. Como resultado, o conteúdo do texto ContentBlocké adicionado ao cache.

{ "role": "user | assistant", "content": [ { "text": "string" }, { "cachePoint": { "type": "default" } } ] }
image

O image campo é mapeado para um ImageBlock. Passe os bytes brutos, codificados em base64, para uma imagem no campo bytes. Se você usa um AWS SDK, não precisa codificar os bytes em base64.

Se você excluir o text campo, o modelo descreverá a imagem.

(Opcional) Para determinados modelos, você pode adicionar pontos de verificação de cache usando cachePoint campos para utilizar o cache imediato. O cache imediato é um recurso que permite que você comece a armazenar em cache o contexto das conversas para obter economia de custos e latência. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

O seguinte mostra um objeto Message com uma content matriz contendo somente uma imagem ContentBlock:

{ "role": "user", "content": [ { "image": { "format": "png | jpeg | gif | webp", "source": { "bytes": "image in bytes" } } } ] }

O exemplo a seguir mostra um objeto Message com uma content matriz contendo uma imagem ContentBlocke um cachePoint campo opcional. Como resultado, o conteúdo da imagem é adicionado ao cache.

{ "role": "user", "content": [ { "image": { "format": "png | jpeg | gif | webp", "source": { "bytes": "image in bytes" } } }, { "cachePoint": { "type": "default" } } ] }
document

O document campo é mapeado para um DocumentBlock. Se você incluir um DocumentBlock, verifique se a solicitação está em conformidade com as seguintes restrições:

  • No campo content do objeto Message, inclua também um campo text com um prompt relacionado ao documento.

  • Passe os bytes brutos, codificados em base64, para o documento no campo bytes. Se você usa um AWS SDK, não precisa codificar os bytes do documento em base64.

  • O campo name pode conter somente os seguintes caracteres:

    • Caracteres alfanuméricos

    • Caracteres de espaço em branco (não mais do que um em uma linha)

    • Hifens

    • Parênteses

    • Colchetes

    nota

    O campo name é vulnerável a injeções de prompt, porque o modelo pode interpretá-lo como instruções de forma inadvertida. Por isso, é recomendável especificar um nome neutro.

(Opcional) Para determinados modelos, você pode adicionar pontos de verificação de cache usando cachePoint campos para utilizar o cache imediato. O cache imediato é um recurso que permite que você comece a armazenar em cache o contexto das conversas para obter economia de custos e latência. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

O seguinte mostra um objeto Message com uma content matriz contendo somente um documento ContentBlocke um texto ContentBlockde acompanhamento obrigatório.

{ "role": "user", "content": [ { "text": "string" }, { "document": { "format": "pdf | csv | doc | docx | xls | xlsx | html | txt | md", "name": "string", "source": { "bytes": "document in bytes" } } } ] }

A seguir, é mostrado um objeto Message com uma content matriz contendo um documento ContentBlocke um texto de acompanhamento obrigatório ContentBlock, bem como um CachePoint que adiciona o conteúdo do documento e do texto ao cache.

{ "role": "user", "content": [ { "text": "string" }, { "document": { "format": "pdf | csv | doc | docx | xls | xlsx | html | txt | md", "name": "string", "source": { "bytes": "document in bytes" } } }, { "cachePoint": { "type": "default" } } ] }
video

O video campo é mapeado para um VideoBlockobjeto. Passe os bytes brutos no bytes campo, codificados em base64. Se você usa o AWS SDK, não precisa codificar os bytes em base64.

Se você não incluir o text campo, o modelo descreverá o vídeo.

O exemplo a seguir mostra um objeto Message com uma content matriz contendo somente um vídeo ContentBlock.

{ "role": "user", "content": [ { "video": { "format": "mov | mkv | mp4 | webm | flv | mpeg | mpg | wmv | three_gp", "source": { "bytes": "video in bytes" } } } ] }

Observe que, para arquivos com uma .3gp extensão, o formato precisa ser especificado comothree_gp.

Você também pode passar um vídeo por meio de um URI do Amazon S3 em vez de passar os bytes diretamente no corpo da solicitação. O seguinte mostra um Message objeto com uma matriz de conteúdo contendo somente um vídeo ContentBlock com a fonte de vídeo passada por um URI do Amazon S3.

{ "role": "user", "content": [ { "video": { "format": "mov | mkv | mp4 | webm | flv | mpeg | mpg | wmv | three_gp", "source": { "s3Location": { "uri": "${S3Uri}", "bucketOwner": "${AccountId}" } } } } ] }

O s3Location parâmetro só é suportado na região Leste dos EUA (Norte da Virgínia).

nota

A função assumida deve ter a s3:GetObject permissão para o URI do Amazon S3. O bucketOwner campo é opcional, mas deve ser especificado se a conta que faz a solicitação não for proprietária do bucket em que o URI do Amazon S3 foi encontrado.

guardContent

O guardContent campo é mapeado para um GuardrailConverseContentBlockobjeto. Você pode usar esse campo para direcionar uma entrada a ser avaliada pela grade de proteção definida no guardrailConfig campo. Se você não especificar esse campo, a grade de proteção avaliará todas as mensagens no corpo da solicitação. Você pode transmitir os seguintes tipos de conteúdo em umGuardBlock:

  • texto — O seguinte mostra um objeto Message com uma content matriz contendo somente um texto GuardrailConverseContentBlock:

    { "role": "user", "content": [ { "text": "string", "qualifiers": [ "grounding_source | query | guard_content", ... ] } ] }

    Você define o texto a ser avaliado e inclui quaisquer qualificadores a serem usados como base contextual.

  • imagem — O seguinte mostra um objeto Message com uma content matriz contendo somente uma imagem GuardrailConverseContentBlock:

    { "role": "user", "content": [ { "format": "png | jpeg", "source": { "bytes": "image in bytes" } } ] }

    Você especifica o formato da imagem e define a imagem em bytes.

Para obter mais informações sobre o uso de grades de proteção, consulte. Impedir conteúdo prejudicial em modelos usando o Amazon Bedrock Guardrails

reasoningContent

O reasoningContent campo é mapeado para um ReasoningContentBlock. Este bloco contém conteúdo sobre o raciocínio que foi realizado pelo modelo para gerar a resposta no anexoContentBlock.

O exemplo a seguir mostra um Message objeto com uma content matriz contendo somente a ReasoningContentBlock e um texto ContentBlock que o acompanha.

{ "role": "user", "content": [ { "text": "string" }, { "reasoningContent": { "reasoningText": { "text": "string", "signature": "string" } "redactedContent": "base64-encoded binary data object" } } ] }

ReasoningContentBlockContém o raciocínio usado para gerar o conteúdo anexo no reasoningText campo, além de qualquer conteúdo no raciocínio que tenha sido criptografado pelo fornecedor do modelo por motivos de confiança e segurança no campo. redactedContent

Dentro do reasoningText campo, os text campos descrevem o raciocínio. O signature campo é um hash de todas as mensagens da conversa e é uma proteção contra a adulteração do raciocínio usado pelo modelo. Você deve incluir a assinatura e todas as mensagens anteriores nas Converse solicitações subsequentes. Se alguma das mensagens for alterada, a resposta gerará um erro.

toolUse

Contém informações sobre uma ferramenta para o modelo usar. Para obter mais informações, consulte Use uma ferramenta para concluir uma resposta do modelo do Amazon Bedrock.

toolResult

Contém informações sobre o resultado do modelo usando uma ferramenta. Para obter mais informações, consulte Use uma ferramenta para concluir uma resposta do modelo do Amazon Bedrock.

nota

As seguintes restrições pertencem ao campo content:

  • É possível incluir até vinte imagens. O tamanho, a altura e a largura de cada imagem não devem exceder 3,75 MB, 8.000 px e 8.000 px, respectivamente.

  • É possível incluir até cinco documentos. O tamanho de cada documento não deve ser superior a 4,5 MB.

  • Você só poderá incluir imagens e documentos se role for user.

No exemplo de messages a seguir, o usuário solicita uma lista de três músicas pop e o modelo gera uma lista de músicas.

[ { "role": "user", "content": [ { "text": "Create a list of 3 pop songs." } ] }, { "role": "assistant", "content": [ { "text": "Here is a list of 3 pop songs by artists from the United Kingdom:\n\n1. \"As It Was\" by Harry Styles\n2. \"Easy On Me\" by Adele\n3. \"Unholy\" by Sam Smith and Kim Petras" } ] } ]

Um prompt do sistema é um tipo de prompt que fornece instruções ou contexto ao modelo sobre a tarefa que ele deve executar ou a personalidade que ele deve adotar durante a conversa. Você pode especificar uma lista de solicitações do sistema para a solicitação no campo system (SystemContentBlock), conforme mostrado no exemplo a seguir.

[ { "text": "You are an app that creates play lists for a radio station that plays rock and pop music. Only return song names and the artist. " } ]

Um prompt do sistema é um tipo de prompt que fornece instruções ou contexto ao modelo sobre a tarefa que ele deve executar ou a personalidade que ele deve adotar durante a conversa. Você pode especificar uma lista de solicitações do sistema para a solicitação no campo system (SystemContentBlock), conforme mostrado no exemplo a seguir.

[ { "text": "You are an app that creates play lists for a radio station that plays rock and pop music. Only return song names and the artist. " } ]

A ferramenta Converse A API oferece suporte a um conjunto básico de parâmetros de inferência que você define no inferenceConfig campo (InferenceConfiguration). O conjunto básico de parâmetros de inferência é:

  • maxTokens: o número máximo de tokens a serem permitidos na resposta gerada.

  • stopSequences: uma lista de sequências de parada. Uma sequência de parada é uma sequência de caracteres que faz com que o modelo interrompa a geração da resposta.

  • temperature: a probabilidade do modelo selecionar opções de maior probabilidade ao gerar uma resposta.

  • topP: a porcentagem de candidatos mais prováveis que o modelo considera para o próximo token.

Para obter mais informações, consulte Geração de resposta de influência com parâmetros de inferência..

O exemplo de JSON a seguir define o parâmetro de inferência temperature.

{"temperature": 0.5}

A ferramenta Converse A API oferece suporte a um conjunto básico de parâmetros de inferência que você define no inferenceConfig campo (InferenceConfiguration). O conjunto básico de parâmetros de inferência é:

  • maxTokens: o número máximo de tokens a serem permitidos na resposta gerada.

  • stopSequences: uma lista de sequências de parada. Uma sequência de parada é uma sequência de caracteres que faz com que o modelo interrompa a geração da resposta.

  • temperature: a probabilidade do modelo selecionar opções de maior probabilidade ao gerar uma resposta.

  • topP: a porcentagem de candidatos mais prováveis que o modelo considera para o próximo token.

Para obter mais informações, consulte Geração de resposta de influência com parâmetros de inferência..

O exemplo de JSON a seguir define o parâmetro de inferência temperature.

{"temperature": 0.5}

Se o modelo que você está usando tiver parâmetros de inferência adicionais, será possível definir esses parâmetros especificando-os como JSON no campo additionalModelRequestFields. O exemplo de JSON a seguir mostra como definirtop_k, que está disponível em Anthropic Claude modelos, mas não é um parâmetro básico de inferência na API de mensagens.

{"top_k": 200}

Se o modelo que você está usando tiver parâmetros de inferência adicionais, será possível definir esses parâmetros especificando-os como JSON no campo additionalModelRequestFields. O exemplo de JSON a seguir mostra como definirtop_k, que está disponível em Anthropic Claude modelos, mas não é um parâmetro básico de inferência na API de mensagens.

{"top_k": 200}

Se você especificar um prompt do Prompt management no modelId como recurso para executar a inferência, use esse campo para preencher as variáveis do prompt com valores reais. O promptVariables campo é mapeado para um objeto JSON com chaves que correspondem às variáveis definidas nos prompts e valores pelos quais substituir as variáveis.

Por exemplo, digamos que você tenha um prompt que dizMake me a {{genre}} playlist consisting of the following number of songs: {{number}}.. O ID do prompt é PROMPT12345 e sua versão é1. Você pode enviar a seguinte Converse solicitação para substituir as variáveis:

POST /model/arn:aws:bedrock:us-east-1:111122223333:prompt/PROMPT12345:1/converse HTTP/1.1 Content-type: application/json { "promptVariables": { "genre" : "pop", "number": 3 } }

Se você especificar um prompt do Prompt management no modelId como recurso para executar a inferência, use esse campo para preencher as variáveis do prompt com valores reais. O promptVariables campo é mapeado para um objeto JSON com chaves que correspondem às variáveis definidas nos prompts e valores pelos quais substituir as variáveis.

Por exemplo, digamos que você tenha um prompt que dizMake me a {{genre}} playlist consisting of the following number of songs: {{number}}.. O ID do prompt é PROMPT12345 e sua versão é1. Você pode enviar a seguinte Converse solicitação para substituir as variáveis:

POST /model/arn:aws:bedrock:us-east-1:111122223333:prompt/PROMPT12345:1/converse HTTP/1.1 Content-type: application/json { "promptVariables": { "genre" : "pop", "number": 3 } }

Você pode aplicar uma grade de proteção criada com o Amazon Bedrock Guardrails incluindo esse campo. Para aplicar a grade de proteção a uma mensagem específica na conversa, inclua a mensagem em um. GuardrailConverseContentBlock Se você não incluir nenhum GuardrailConverseContentBlock s no corpo da solicitação, a grade de proteção será aplicada a todas as mensagens no messages campo. Para obter um exemplo, consulte Inclua uma grade de proteção com Converse API .

Você pode aplicar uma grade de proteção criada com o Amazon Bedrock Guardrails incluindo esse campo. Para aplicar a grade de proteção a uma mensagem específica na conversa, inclua a mensagem em um. GuardrailConverseContentBlock Se você não incluir nenhum GuardrailConverseContentBlock s no corpo da solicitação, a grade de proteção será aplicada a todas as mensagens no messages campo. Para obter um exemplo, consulte Inclua uma grade de proteção com Converse API .

Esse campo permite definir uma ferramenta para o modelo usar para ajudá-lo a gerar uma resposta. Para obter mais informações, consulte Use uma ferramenta para concluir uma resposta do modelo do Amazon Bedrock.

Esse campo permite definir uma ferramenta para o modelo usar para ajudá-lo a gerar uma resposta. Para obter mais informações, consulte Use uma ferramenta para concluir uma resposta do modelo do Amazon Bedrock.

É possível especificar os caminhos para os parâmetros adicionais do modelo no campo additionalModelResponseFieldPaths, conforme mostrado no exemplo a seguir.

[ "/stop_sequence" ]

A API mostra os campos adicionais que você solicita no campo additionalModelResponseFields.

É possível especificar os caminhos para os parâmetros adicionais do modelo no campo additionalModelResponseFieldPaths, conforme mostrado no exemplo a seguir.

[ "/stop_sequence" ]

A API mostra os campos adicionais que você solicita no campo additionalModelResponseFields.

Esse campo é mapeado para um objeto JSON. Você pode especificar chaves e valores de metadados para os quais eles são mapeados dentro desse objeto. Você pode usar metadados de solicitação para ajudar a filtrar os registros de invocação do modelo.

Esse campo é mapeado para um objeto JSON. Você pode especificar chaves e valores de metadados para os quais eles são mapeados dentro desse objeto. Você pode usar metadados de solicitação para ajudar a filtrar os registros de invocação do modelo.

Opcionalmente, você também pode adicionar pontos de verificação de cache aos tools campos system ou para usar o cache imediato, dependendo do modelo que você está usando. Para obter mais informações, consulte Cache imediato para inferência mais rápida do modelo.

nota

No momento, o cache de prompts do Amazon Bedrock está disponível apenas para um número selecionado de clientes. Para saber mais sobre como participar da prévia, consulte Cache de prompts do Amazon Bedrock.

Resposta

A resposta que você recebe do Converse A API depende de qual operação você chama, Converse ouConverseStream.

Resposta de Converse

Na resposta deConverse, o output campo (ConverseOutput) contém a mensagem (Mensagem) que o modelo gera. O conteúdo da mensagem está no campo content (ContentBlock) e a função (userouassistant) à qual a mensagem corresponde está no role campo.

Se você usou o cache de prompts, no campo de uso, cacheReadInputTokensCount cacheWriteInputTokensCount informe quantos tokens totais foram lidos do cache e gravados no cache, respectivamente.

O metrics campo (ConverseMetrics) inclui métricas para a chamada. Para determinar porque o modelo parou de gerar conteúdo, verifique o campo stopReason. Você pode obter informações sobre os tokens passados para o modelo na solicitação e os tokens gerados na resposta, verificando o usage campo (TokenUsage). Se você tiver especificado campos de resposta adicionais na solicitação, a API os retornará como JSON no campo additionalModelResponseFields.

O exemplo a seguir mostra a resposta de Converse quando você passa o prompt discutido em Solicitação.

{ "output": { "message": { "role": "assistant", "content": [ { "text": "Here is a list of 3 pop songs by artists from the United Kingdom:\n\n1. \"Wannabe\" by Spice Girls\n2. \"Bitter Sweet Symphony\" by The Verve \n3. \"Don't Look Back in Anger\" by Oasis" } ] } }, "stopReason": "end_turn", "usage": { "inputTokens": 125, "outputTokens": 60, "totalTokens": 185 }, "metrics": { "latencyMs": 1175 } }

ConverseStream resposta

Se você chamar ConverseStream para transmitir a resposta de um modelo, o fluxo será retornado no campo de resposta stream. O fluxo emite os eventos abaixo na seguinte ordem:

  1. messageStart(MessageStartEvent). O evento inicial de uma mensagem. Inclui a função da mensagem.

  2. contentBlockStart(ContentBlockStartEvent). Um evento de início do bloco de conteúdo. Somente para uso de ferramentas.

  3. contentBlockDelta(ContentBlockDeltaEvent). Um evento delta do bloco de conteúdo. Inclui um dos seguintes:

    • text— O texto parcial que o modelo gera.

    • reasoningContent— O raciocínio parcial realizado pelo modelo para gerar a resposta. Você deve enviar as mensagens retornadassignature, além de todas as mensagens anteriores nas Converse solicitações subsequentes. Se alguma das mensagens for alterada, a resposta gerará um erro.

    • toolUse— O objeto JSON de entrada parcial para uso da ferramenta.

  4. contentBlockStop(ContentBlockStopEvent). Um evento de interrupção do bloqueio de conteúdo.

  5. messageStop(MessageStopEvent). O evento de parada da mensagem. Inclui o motivo pelo qual o modelo parou de gerar saída.

  6. metadata(ConverseStreamMetadataEvent). Metadados para a solicitação. Os metadados incluem o uso do token em usage (TokenUsage) e métricas para a chamada em metrics (ConverseStreamMetadataEvent).

ConverseStream transmite um bloco de conteúdo completo como um ContentBlockStartEvent evento, um ou mais ContentBlockDeltaEvent eventos e um ContentBlockStopEvent evento. Use o campo contentBlockIndex como um índice para correlacionar os eventos que compõem um bloco de conteúdo.

O exemplo a seguir é a resposta parcial de ConverseStream.

{'messageStart': {'role': 'assistant'}} {'contentBlockDelta': {'delta': {'text': ''}, 'contentBlockIndex': 0}} {'contentBlockDelta': {'delta': {'text': ' Title'}, 'contentBlockIndex': 0}} {'contentBlockDelta': {'delta': {'text': ':'}, 'contentBlockIndex': 0}} . . . {'contentBlockDelta': {'delta': {'text': ' The'}, 'contentBlockIndex': 0}} {'messageStop': {'stopReason': 'max_tokens'}} {'metadata': {'usage': {'inputTokens': 47, 'outputTokens': 20, 'totalTokens': 67}, 'metrics': {'latencyMs': 100.0}}}

Nesta página

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.