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:
-
Evento de início de conteúdo: sinaliza o início da entrada de texto
-
Evento de entrada de texto: contém a mensagem de texto real
-
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 comotruepara 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