View a markdown version of this page

Cross-modal entrée - Amazon Nova

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Cross-modal entrée

Amazon Nova 2 Sonic prend désormais en charge la saisie intermodale, ce qui vous permet d'envoyer des messages texte en plus de la saisie vocale lors d'une session de conversation. Bien que la parole reste le principal mode d'interaction, la saisie de texte offre de la flexibilité pour les scénarios où la saisie est plus pratique ou appropriée.

Streaming continu requis : l' Cross-modal entrée nécessite une session de streaming active pour fonctionner correctement. La session doit maintenir un streaming continu comme une session vocale normale, sinon des délais d'expiration de session standard seront appliqués et la connexion sera interrompue.

Les niveaux de sensibilité lors de la saisie de texte intermodale sont utiles pour des scénarios tels que :

  • Client-side intégration d'applications (Web et mobiles) : permet aux utilisateurs d'interagir avec l'application à la fois par texte et par voix, garantissant ainsi des expériences multimodales fluides.

  • « Model-start-first » cas d'utilisation : un message texte peut être envoyé immédiatement après le début de la session pour inviter le modèle à commencer à parler.

  • Guide du modèle lors de l'appel d'outils asynchrone : lorsqu'un événement ToolUse est déclenché et que le système commence à traiter les appels d'outils, le client peut envoyer un message texte à Sonic pour fournir une réponse naturelle en attendant, par exemple : « Attendez une seconde pendant que je traite vos informations. En attendant, y a-t-il autre chose que je puisse faire pour vous aider ? »

  • Intégration de la téléphonie DTMF : le client utilise le clavier du téléphone pour saisir des informations sensibles (telles que les numéros de carte de crédit). Remarque : Amazon Nova Sonic ne traite pas les tonalités DTMF de manière native. Pour prendre en charge l'entrée DTMF, votre système doit détecter les sons, les convertir en texte (comme « 1234 ») et les envoyer à Nova 2 Sonic.

Comment ça marche

Cross-modal l'entrée utilise une séquence de trois événements similaire à l'entrée audio :

  1. Événement de démarrage du contenu : indique le début de la saisie de texte

  2. Événement de saisie de texte : contient le message texte réel

  3. Événement de fin de contenu : signale la fin de la saisie de texte

Les trois événements doivent utiliser les mêmes PromptName et ContentName pour conserver la séquence. Un nouvel UUID doit être généré pour ContentName chaque fois que vous envoyez du texte afin de garantir un suivi correct des conversations à plusieurs tours.

Structure d’évènements

Lance la séquence de saisie de texte avec les détails de configuration :

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

Paramètres clés:

  • promptName:Le nom de votre invite de conversation (identique tout au long de la session)

  • contentName: identifiant unique pour cette saisie de texte (générez un nouvel UUID pour chaque message)

  • role: défini sur "USER" pour indiquer la saisie par l'utilisateur

  • type: défini sur "TEXT" pour la saisie de texte

  • interactive: défini sur true pour activer le mode interactif

  • mediaType: défini sur "text/plain" pour le contenu en texte brut

Contient le contenu réel du message texte :

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

Paramètres clés:

  • promptName: doit correspondre à la valeur de l'événement de démarrage du contenu

  • contentName: doit correspondre à la valeur de l'événement de démarrage du contenu

  • role: chaîne de votre message texte

Signale la fin de la saisie de texte :

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

Paramètres clés:

  • promptName: doit correspondre à la valeur des événements précédents

  • contentName: doit correspondre à la valeur des événements précédents