Aller au contenu
Console
Try one

    Fonctions des SDK

    Exemples à copier-coller des SDK Thalovant pour le plan de contrôle, les identités, les requêtes au runtime, les événements et le contexte.

    Consultez cette page quand vous voulez bâtir avec le SDK, pas mémoriser le nom de chaque méthode.

    Commencez par l’exemple rapide, puis copiez la recette la plus proche de votre tâche. Chaque recette montre la même idée en Python, Node.js, Go et Rust, là où les SDK l’offrent. Les recettes « Démarrage rapide », « Se connecter » et « Créer une identité de client » montrent aussi Kotlin, Swift et C#. Pour l’ensemble des fonctions de ces SDK, consultez les pages des SDK Kotlin, Swift et .NET.

    Chaque appel est montré dans chaque langage qui l’offre : vous pouvez donc comparer une opération d’un SDK à l’autre sans ouvrir cinq pages.

    Si vous voulez…Ouvrez
    Obtenir un client et vous connecterSe connecter et créer un client
    Consulter ou créer des hubsTrouver et provisionner des hubs
    Émettre une identité de clientIdentités de client et protocoles
    Poser une question à un hubParler à un hub
    Écouter des événements ou déboguerÉvénements, contexte et diagnostics

    Cet exemple se connecte, crée une identité de client pour un hub, établit la connexion, envoie une requête et affiche la réponse.

    from thalovant import ThalovantClient, ThalovantControlPlane
    api = ThalovantControlPlane()
    api.login("[email protected]", "password")
    result = api.create_client_identity(
    "hub-id",
    name="python-demo-client",
    preferred_protocols=("wss", "https", "mqtt"),
    )
    with ThalovantClient(result.identity, protocol="wss") as client:
    reply = client.ask("Tell me a short clean joke.")
    print(reply.text)

    Les clients Kotlin, Swift et C# se connectent uniquement par WSS; ils ne prennent donc aucun argument de protocole ici. Ces exemples exigent les versions actuelles des SDK compatibles avec la v3.

    Résultat attendu :

    Why did the hub keep good logs? It wanted every punchline to be traceable.

    Plan de contrôle

    Découvrez des hubs et créez des identités de client.

    Identité

    Chargez des identifiants enregistrés et choisissez un protocole.

    Client du runtime

    Connectez-vous, posez des questions, émettez des événements et envoyez des entrées structurées.

    Événements et contexte

    Écoutez les événements du hub et joignez des métadonnées de session.

    Servez-vous de ce tableau seulement quand vous connaissez déjà la tâche et qu’il vous faut le nom propre à un langage.

    TâchePythonNode.jsGoRust
    Créer un client d’APIThalovantControlPlane()new ThalovantControlPlane()NewDefaultControlPlane(token)ControlPlane::default()
    Se connecterlogin(email, password)login(email, password)Login(ctx, email, password, scope)login(email, password, scope)
    Se connecter avec l’authentification multifacteur (AMF)login(..., otp_code=..., recovery_code=...)login(..., { otpCode, recoveryCode })LoginWithOptions(ctx, email, password, options)login_with_options(email, password, options)
    Se connecter sans mot de passelogin_with_browser(...)loginWithBrowser(options)LoginWithBrowser(ctx, options)login_with_browser(options)
    Utiliser un jeton d’APIThalovantControlPlane(access_token=...)new ThalovantControlPlane(url, { accessToken })NewDefaultControlPlane(token)ControlPlane::with_access_token(token)
    Lister les hubs publicslist_public_hubs(...)listPublicHubs(...)ListPublicHubs(ctx, limit, cursor)list_public_hubs(limit, cursor)
    Obtenir un hub publicget_public_hub(ref)getPublicHub(ref)GetPublicHub(ctx, ref)get_public_hub(ref)
    Lister les hubs visibleslist_hubs(...)listHubs(...)ListHubs(ctx, limit, cursor, ownerID)list_hubs(limit, cursor, owner_id)
    Obtenir un hubget_hub(hub_id)getHub(hubId)GetHub(ctx, hubID)get_hub(hub_id)
    Obtenir une opérationget_operation(operation_id)getOperation(operationId)GetOperation(ctx, operationID)get_operation(operation_id)
    Créer une identitécreate_client_identity(...)createClientIdentity(...)CreateClientIdentityForHubID(...)create_client_identity_for_hub_id(...)
    Lister les compétences du hublist_hub_skills(hub_id)listHubSkills(hubId)ListHubSkills(ctx, hubID)list_hub_skills(hub_id)
    Lister l’historique des compétences du hublist_hub_skill_history(hub_id, limit=50)listHubSkillHistory(hubId, { limit: 50 })ListHubSkillHistory(ctx, hubID, 50)list_hub_skill_history(hub_id, 50)
    Installer une compétence sur le hubinstall_hub_skill(hub_id, skill, version=, wait=)installHubSkill(hubId, skill, { version, wait })InstallHubSkill(ctx, hubID, skill, version, options)install_hub_skill(hub_id, skill, version, options)
    Mettre à jour une compétence du hubupdate_hub_skill(hub_id, skill, version=, wait=)updateHubSkill(hubId, skill, { version, wait })UpdateHubSkill(ctx, hubID, skill, version, options)update_hub_skill(hub_id, skill, version, options)
    Retirer une compétence du hubremove_hub_skill(hub_id, skill, wait=)removeHubSkill(hubId, skill, { wait })RemoveHubSkill(ctx, hubID, skill, options)remove_hub_skill(hub_id, skill, options)

    Les appels de compétences de hub et leur historique sont offerts dans les sept SDK gérés, aux versions actuelles. Les appels de provisionnement ont leur propre tableau de noms à la page Provisionner des hubs.

    TâchePythonNode.jsGoRust
    Charger l’identité depuis la configurationThalovantIdentity.from_config(...)ThalovantIdentity.fromConfig(...)IdentityFromConfig(path, profile)Identity::from_config(profile)
    Charger un fichier d’identitéThalovantIdentity.from_file(path)ThalovantIdentity.fromFile(path)IdentityFromFile(path)Identity::from_file(path)
    Charger le client depuis un fichierThalovantClient.from_identity_file(path)ThalovantClient.fromIdentityFile(path)NewClientFromFile(path)Client::from_file(path)
    Charger le client depuis la configurationThalovantClient.from_config(...)ThalovantClient.fromConfig(...)NewClientFromConfig(path, profile)Client::from_config(profile)
    Charger le client depuis l’environnementThalovantClient.from_env()ThalovantClient.fromEnv()NewClientFromEnv()Client::from_env()
    Protocoles activésenabled_protocols()enabledProtocols()EnabledProtocols()enabled_protocols()
    Point de terminaison d’un protocoleendpoint_for(protocol)endpointFor(protocol)EndpointFor(protocol)endpoint_for(protocol)
    Vérifier un protocolesupports_protocol(protocol)supportsProtocol(protocol)SupportsProtocol(protocol)supports_protocol(protocol)
    Identifiants MQTTidentity.mqttidentity.mqttIdentity.MQTTidentity.mqtt
    TâchePythonNode.jsGoRust
    Créer un client pour un protocoleThalovantClient(identity, protocol="wss")new ThalovantClient(identity, { protocol })NewClientWithOptions(identity, ClientOptions{Protocol: ...})Client::with_protocol(identity, protocol)
    Se connecterconnect()connect()Connect(ctx)connect()
    Fermerclose()close()Close(ctx)close()
    État de santéhealthcheck()healthcheck()Healthcheck()healthcheck()
    Poser une questionask(text, ...)ask(text, options)Ask(ctx, text, options)ask(text, options)
    Émettre un événement brutemit(event, data, context)emit(event, data, context)Emit(ctx, event, data, context)emit(event, data, context)
    Envoyer un énoncésend_utterance(text, ...)sendUtterance(text, options)SendUtterance(ctx, text, options)send_utterance(text, options)
    Envoyer une actionsend_action(payload, ...)sendAction(payload, options)SendAction(ctx, payload, options)send_action(payload, options)
    Envoyer un codesend_code(value, ...)sendCode(value, options)SendCode(ctx, value, options)send_code(value, options)
    Conversationconversation(...)conversation(options)Conversation(options)conversation(options)
    Inventaire des intentionsintents(languages, ...)intents(languages)Intents(ctx, languages, options)intents(languages, options)
    Lister les intentionslist_intents(lang, ...)listIntents(lang)ListIntents(ctx, lang, options)list_intents(lang, options)
    Décrire une intentiondescribe_intent(skill_id, intent_name, lang, ...)describeIntent(skillId, intentName, lang)DescribeIntent(ctx, skillID, intentName, lang, options)describe_intent(skill_id, intent_name, lang, options)
    Refus de politiqueThalovantPolicyDeniedErrorThalovantPolicyDeniedErrorPolicyDeniedErrorThalovantError::PolicyDenied

    Les rangées sur les intentions sont publiées dans chaque SDK. La page des SDK indique la version dans laquelle chacun les a livrées, et les graphies Kotlin, Swift, .NET et C embarqué se trouvent sur leurs propres pages de SDK.

    TâchePythonNode.jsGoRust
    Attendre un événementwait_for_event(name, ...)waitForEvent(name, options)WaitForEvent(ctx, name, options)wait_for_event(name, options)
    Diffuser des événements en fluxlisten(name, ...)on(name, handler, options)Listen(ctx, name, options)listen(name, options)
    Diagnosticsdoctor()healthcheck()Healthcheck()healthcheck()
    Construire le contextebuild_client_context(...)buildClientContext(...)BuildClientContext(...)build_client_context(...)
    Texte de la réponsereply.textreply.textreply.Textreply.text
    Éléments d’affichagereply.display_items(...)reply.displayItems(...)reply.DisplayItems(...)reply.display_items(...)
    Texte de l’événementevent.textevent.textevent.Text()event.text()

    Les fonctions d’aide pour les compétences adressées à un hub sont maintenant offertes dans les sept SDK gérés, y compris l’historique et l’attente facultative des opérations. Elles agissent sur le groupe de runtime rattaché : chaque hub qui le partage est touché. Consultez la référence de chaque SDK pour les noms de ses méthodes. Le C embarqué n’a pas de client HTTP de provisionnement.