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.