Ce que SkillKit vous offre
Choisir un outil SkillKit selon votre objectif, de ce que la compétence doit faire à l'appel qui le fait et à la page qui l'explique.
SkillKit est une petite bibliothèque qui permet d’écrire des compétences Thalovant sans recopier la plomberie dont chaque compétence a besoin. OVOS reste responsable de l’acheminement des intentions, de la parole, des sessions et de la planification; SkillKit fournit à votre code les pièces qui les entourent. Cette page sert de carte. Choisissez ce que vous voulez faire : elle nomme l’outil et la page qui le montre en action.
Répondre
Section intitulée « Répondre »| Vous voulez | Utilisez | Montré dans |
|---|---|---|
| Répondre à une commande parlée | ThalovantSkill avec @intent_handler et un fichier .intent | Choisir la bonne classe de base |
| Répondre sur un sujet que rien d’autre n’a revendiqué | ThalovantFallbackSkill avec can_answer, reply et FALLBACK_PRIORITY | Choisir une priorité de repli |
| Poursuivre une conversation | ThalovantConversationalSkill avec can_converse et converse | Leçon 3 du quiz |
| Faire les deux, ou faire jouer des médias | ThalovantConversationalFallbackSkill, ThalovantCommonPlaySkill | Choisir la bonne classe de base |
| Parler à la pièce qui a demandé, dans sa langue | self.speak_to(message, text) | Leçon 2 du quiz |
| Afficher une réponse sans la prononcer | preview_reply | Leçon 1 du quiz |
Comprendre ce qui a été dit
Section intitulée « Comprendre ce qui a été dit »| Vous voulez | Utilisez | Montré dans |
|---|---|---|
| Lire les mots, la langue ou la localisation | self.utterance, self.lang_of, self.location_of | Ce que vous pouvez appeler |
| Reconnaître un mot-clé que les gens fléchissent (« logs », « logging ») | self.mentions, self.mentioned_term | Ce que vous pouvez appeler |
| Comparer une phrase entière à un fichier d’intention | locale_resources.matches_literal_intent | Leçon 2 du quiz |
| Lire les autres transcriptions | message.utterances | Lire les autres transcriptions |
| Écrire des phrases facultatives et des emplacements | Gabarits .intent et thalovant-skillkit check | Écrire des intentions |
| Comparer du texte comme on compare les fichiers de vocabulaire | fold, fold_words, strip_accents | Ce que vous pouvez appeler |
Le dire avec les bons mots
Section intitulée « Le dire avec les bons mots »| Vous voulez | Utilisez | Montré dans |
|---|---|---|
| Choisir une ligne traduite, avec des espaces réservés | self.dialog("name", lang, data) | Leçon 2 du quiz |
| Ajouter des pauses ou guider la prononciation | self.dialog, fichiers jumeaux .ssml, ssml.say, ssml.digits | Ajouter des pauses |
| Varier les réponses sans répétition | self.speak_varied_dialog | Trouver les sons une fois |
| Servir une variante régionale sans deuxième traduction | locale/regional.json et thalovant-skillkit locales --write | Prendre en charge les variantes régionales |
| Dire une date, une heure ou une durée pour l’oreille et pour un écran | moments.date_text, time_text, duration_text, speak_with_written | Dire une date ou une heure des deux façons |
| Lire un réglage de la compétence de façon sûre | self.setting("key", default) | Ce que vous pouvez appeler |
Mémoriser et récupérer
Section intitulée « Mémoriser et récupérer »| Vous voulez | Utilisez | Montré dans |
|---|---|---|
| Garder une partie ou un état par joueur | SessionStateStore | Garder une partie par joueur |
| Appeler un service Web avec un budget de temps | JsonServiceClient, RequestBudget | Donner un budget de temps au travail en ligne |
| Interroger le service de connaissances Thalovant | knowledge.knowledge_reply | Interroger le service de connaissances |
| Livrer de nombreux sons et choisir sans répétition | bundled_files, ShuffleBagPool | Trouver les sons une fois |
| Actualiser un catalogue en arrière-plan | PeriodicWorker | Actualiser loin de la réponse |
| Garder un état partagé facultatif dans Redis ou PostgreSQL | JsonStateStore | Sauvegarder l’état sans recopier le code du serveur de stockage |
| Récupérer votre propre réponse sur un sujet de bus partagé | bus.wait_for_response | Rendre les réponses du bus partagé à leur demandeur |
Tester et livrer
Section intitulée « Tester et livrer »| Vous voulez | Utilisez | Montré dans |
|---|---|---|
| Tester sans assistant en cours d’exécution | testing.message, testing.FakeBus, preview_reply | Le tester |
| Tester avec le vrai bus OVOS | skill_harness, managed_minicroft, capture_turn | Solliciter le vrai bus OVOS |
| Démarrer un projet | thalovant-skillkit new | Partir d’une compétence fonctionnelle |
| Vérifier les ressources, et qu’aucune autre compétence ne revendique vos phrases | thalovant-skillkit check | Le livrer |
| Vérifier que le paquet construit contient ses fichiers | thalovant-skillkit check-artifacts | Vérifier ce que vous avez construit |
Ce que SkillKit laisse à OVOS
Section intitulée « Ce que SkillKit laisse à OVOS »Reconnaître à quelle compétence appartient une phrase, transformer du texte en parole, maintenir une session active et exécuter les minuteries et les alarmes sont les tâches d’OVOS. self.speak, self.speak_dialog, self.play_audio, les décorateurs d’intentions et le planificateur continuent tous de fonctionner exactement comme dans n’importe quelle compétence OVOS.
La référence SkillKit donne chaque signature et chaque valeur de retour.