Aller au contenu
Console
Try one

    Événements, contexte et diagnostics

    Attendez un événement ou écoutez-en un flux, construisez le contexte d'une requête et vérifiez une connexion.

    Fait partie de Fonctions des SDK. Chaque appel ci-dessous est montré dans chaque langage qui l’offre.

    Utilisez cet appel quand un seul événement prouve que la requête est terminée.

    from thalovant import EVENT_UTTERANCE_HANDLED
    event = client.wait_for_event(EVENT_UTTERANCE_HANDLED, timeout=12)
    print(event.text)

    Utilisez les flux d’événements pour les clients de longue durée, l’état en direct, la sortie vocale et les mises à jour de l’interface.

    from thalovant import EVENT_SPEAK
    for event in client.listen(EVENT_SPEAK, timeout=30, max_events=3):
    print(event.text)

    Le contexte transporte des métadonnées stables sur l’utilisateur, la source, les paramètres régionaux et le traçage, sans modifier l’énoncé.

    from thalovant import build_client_context
    context = build_client_context(
    user_id="user-42",
    user_name="Ada",
    source="checkout-kiosk",
    platform="kiosk",
    locale="en-US",
    metadata={"trace_id": "req-2026-06-10-001"},
    )
    reply = client.ask("Show the next instruction.", context=context)
    print(reply.text)

    Utilisez les diagnostics quand un client ne peut pas se connecter, qu’un protocole manque ou qu’un événement n’arrive jamais.

    print(client.doctor())

    Utilisez l’énumération ou la chaîne de protocole du SDK qui correspond à votre langage.

    ProtocolePythonNode.jsGoRust
    WSS"wss""wss"thalovant.ProtocolWSSHubProtocol::Wss
    HTTPS"https""https"thalovant.ProtocolHTTPSHubProtocol::Https
    MQTT"mqtt""mqtt"thalovant.ProtocolMQTTHubProtocol::Mqtt

    Les sélecteurs automatiques de protocole préfèrent WSS, puis HTTPS, puis MQTT quand l’identité contient des identifiants de courtier (broker). Les anciens constructeurs NewClient(identity) de Go et Client::new(identity) de Rust choisissent directement HTTPS; utilisez NewClientWithOptions ou Client::auto pour une sélection automatique.

    1. Découvrez un hub. Utilisez list_public_hubs, get_public_hub, list_hubs ou get_hub.
    2. Créez ou chargez les éléments d’identité. Utilisez create_client_identity pour les nouveaux clients, ou chargez une identité existante depuis la configuration, un fichier ou l’environnement.
    3. Choisissez un protocole. Commencez par WSS, à moins que votre déploiement n’exige HTTPS ou MQTT.
    4. Envoyez une requête. Commencez par ask, parce qu’il donne une réponse claire.
    5. Ajoutez les événements et le contexte. Ajoutez listen, wait_for_event et build_client_context une fois que la requête de base fonctionne.
    6. Montrez ce qu’on peut demander. Utilisez intents quand le client doit lister les intentions et les phrases du hub, par langue.