Bienvenue sur Tock : une plateforme conversationnelle ouverte

Logo Tock

Tock (The Open Conversation Kit) est une plateforme complète pour construire des agents conversationnels - souvent appelés bots.

Contrairement à la plupart des solutions conversationnelles, Tock ne dépend pas d'API tierces, bien qu'il soit possible d'en intégrer. L'utilisateur choisit les composants qu'il embarque et peut ainsi conserver la maîtrise de ses modèles et données conversationnelles.

Tock est utilisé en production depuis plusieurs années par OUI.sncf pour proposer des assistants sur des canaux propres (Web, mobile), réseaux sociaux et enceintes connectées.

L'ensemble du code source est disponible sur GitHub sous une licence Apache 2.

Tock est une solution soutenue par l'association TOSIT (The Open Source I Trust).

Fonctionnalités

  • Assitants embarqués ou intégrés à des sites Web, applications mobiles, réseaux sociaux, enceintes connectées etc.
  • Plateforme NLU complète (Natural Language Understanding - ou TALN en français (Traitement automatique du langage)), qui utilise différentes librairies open-source comme OpenNLP, Stanford CoreNLP, Duckling, (et demain Spacy, Rasa, ...) déployable seule si besoin (pour des usages comme l'Internet des objets)
  • Interfaces Tock Studio :
    • Gestion des modèles, entraînement du bot
    • Construction de parcours conversationnels sans code
    • Support de l'internationalisation (i18n) pour les bots multilingues
    • Suivi des conversations, performances et erreurs des modèles
    • Analyse interactive des tendances / parcours utilisateurs (Bot Flow)
  • Frameworks pour développer des parcours complexes et intégrer des services tiers :
    DSL en Kotlin ou Node et API tous langages
  • Nombreux connecteurs pour Messenger, WhatsApp, Google Assistant / Home, Twitter, Alexa, Business Chat / iMessage, Teams, Slack... (voir connecteurs)
  • Installation cloud ou on-premise, avec ou sans Docker, bot "embarqué" sans Internet

Interface d'admin NLU - qualification de phrase

Technologies

L'ensemble de la plateforme est containerisée avec Docker.

La plateforme applicative par défaut est la JVM.

Le langage de référence est Kotlin mais d'autres langages de programmation peuvent être utilisés via les API mises à disposition.

Tock utilise notamment Vert.x et MongoDB.

Les interfaces graphiques (Tock Studio) sont écrites avec Angular en Typescript.

Un widget React de base est disponible pour les interfaces Web.

Démarrer...