View a markdown version of this page

Entrada intermodal - Amazon Nova

Entrada intermodal

O Amazon Nova 2 Sonic agora é compatível com entrada intermodal, permitindo que você envie mensagens de texto além da entrada de voz durante uma sessão de conversação. Embora a fala continue sendo o principal modo de interação, a entrada de texto oferece flexibilidade para cenários em que a digitação é mais conveniente ou apropriada.

Streaming contínuo necessário: a entrada intermodal requer uma sessão de streaming ativo para funcionar corretamente. A sessão deve manter o streaming contínuo como uma sessão de voz normal, do contrário, os tempos limite padrão da sessão serão aplicados e a conexão será encerrada.

Os níveis de sensibilidade na entrada de texto intermodal são úteis para cenários como:

  • Integração de aplicações do lado do cliente (web e dispositivo móvel): permite que os usuários interajam com a aplicação usando texto e voz, oferecendo experiências multimodais integradas.

  • Caso de uso do “model-start-first”: uma mensagem de texto pode ser enviada imediatamente após o início da sessão para fazer com que o modelo comece a falar.

  • Orientando o modelo durante a chamada assíncrona da ferramenta: quando um evento toolUse é acionado e o sistema começa a processar as chamadas da ferramenta, o cliente pode enviar uma mensagem de texto ao Sonic para fornecer uma resposta natural enquanto espera, como: “Espere um segundo enquanto eu processo suas informações. Enquanto isso, posso ajudar com mais alguma coisa?”.

  • Integração de telefonia DTMF: o cliente usa o teclado do telefone para inserir informações confidenciais (como números de cartão de crédito). Observação: o Amazon Nova Sonic não processa tons DTMF de forma nativa. Para ser compatível com a entrada DTMF, seu sistema deve detectar os tons, convertê-los em texto (como “1234”) e enviar para o Nova 2 Sonic.

Como funciona

A entrada intermodal usa uma sequência de três eventos semelhante à entrada de áudio:

  1. Evento de início de conteúdo: sinaliza o início da entrada de texto

  2. Evento de entrada de texto: contém a mensagem de texto real

  3. Evento de fim de conteúdo: sinaliza a conclusão da entrada de texto

Todos os três eventos devem usar o mesmo promptName e contentName para manter a sequência. Um novo UUID deverá ser gerado para contentName toda vez que você enviar uma entrada de texto para garantir o rastreamento adequado da conversa em vários turnos.

Estrutura de eventos

Inicia a sequência de entrada de texto com detalhes de configuração:

{ "event": { "contentStart": { "promptName": "<prompt_name>", "contentName": "<new_content_name>", "role": "USER", "type": "TEXT", "interactive": true, "textInputConfiguration": { "mediaType": "text/plain" } } } }

Principais parâmetros:

  • promptName: o nome do seu prompt de conversa (consistente em toda a sessão)

  • contentName: um identificador único para essa entrada de texto (gere um novo UUID para cada mensagem)

  • role: defina como "USER" para indicar a entrada do usuário

  • type: defina como "TEXT" para entrada de texto

  • interactive: defina como true para habilitar o modo interativo

  • mediaType: defina como "text/plain" para conteúdo de texto simples

Contém o conteúdo real da mensagem de texto:

{ "event": { "textInput": { "promptName": "<prompt_name>", "contentName": "<new_content_name>", "content": "<your_text_message>" } } }

Principais parâmetros:

  • promptName: deve corresponder ao valor do evento de início de conteúdo

  • contentName: deve corresponder ao valor do evento de início de conteúdo

  • role: sua string de mensagem de texto

Sinaliza a conclusão da entrada de texto:

{ "event": { "contentEnd": { "promptName": "<prompt_name>", "contentName": "<new_content_name>" } } }

Principais parâmetros:

  • promptName: deve corresponder ao valor de eventos anteriores

  • contentName: deve corresponder ao valor de eventos anteriores