Bienvenue sur Tock : une plateforme conversationnelle ouverte, avec ou sans IA générative
Tock (The Open Conversation Kit) est une plateforme complète et ouverte pour construire des assistants conversationnels : répondre à partir de vos documents avec le LLM de votre choix (RAG), dérouler des parcours maîtrisés écrits par vos équipes, ou combiner les deux.
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, y compris des LLM locaux, et peut ainsi conserver la maîtrise de ses modèles et données conversationnelles.
Tock est utilisé en production depuis 2016 par SNCF (assistant OUI.sncf, aujourd'hui SNCF Connect) (Web/mobile, réseaux sociaux, enceintes connectées) et de plus en plus d'organisations (ENEDIS, Orange, Crédit Mutuel Arkéa...).
L'ensemble du code source est disponible sur GitHub sous licence Apache 2.
Avec LLM, sans LLM, ou les deux
| Avec LLM | Sans LLM | Mixte | |
|---|---|---|---|
| Principe | Le RAG répond à partir de vos documents | Le modèle NLU détecte l'intention, des stories et des FAQ répondent | Le modèle NLU oriente chaque phrase vers une story ou vers le RAG |
| Réponses | Générées, avec leurs sources | Écrites et validées par vos équipes | Écrites pour les parcours sensibles, générées pour le reste |
| Adapté à | Bases documentaires larges, questions ouvertes | Parcours transactionnels, contextes réglementés, bots embarqués sans Internet, pas de coût d'inférence | La plupart des assistants en production |
| Pour commencer | Tutoriel RAG | Premier bot avec Tock Studio | Comment le bot répond |
L'IA générative est une brique optionnelle : l'orchestrateur Gen AI n'est déployé que si vous l'utilisez, et un bot existant peut activer le RAG depuis Tock Studio.
Aperçu
Des guides, supports et une video de démonstration (20 minutes, en Anglais) sont également disponibles :
Fonctionnalités
- IA générative (voir Gen AI) :
- Réponses RAG (Retrieval-Augmented Generation) à partir de vos documents, avec leurs sources, avec les bases vectorielles PGVector ou OpenSearch
- Fournisseurs de LLM et d'embeddings : OpenAI, Azure OpenAI, AWS Bedrock, Ollama pour les modèles locaux...
- Maîtrise des réponses : stories et FAQ combinées au RAG, thèmes couverts et exclus, prompt de réponse structuré
- Amélioration continue : diagnostic de recherche, playground, observabilité des LLM avec Langfuse, jeux de données et évaluation des réponses
- Interfaces Tock Studio :
- Configuration des fonctionnalités Gen AI, de la base de connaissances et des prompts
- Construction de parcours conversationnels, de FAQ et d'arbres de décision sans code
- Support de l'internationalisation (i18n) pour les bots multilingues
- Suivi des conversations, tendances / parcours utilisateurs (Analytics) et qualité des réponses
- Plateforme NLU complète (Natural Language Understanding
ou TAL en français),
qui oriente chaque phrase vers un parcours ou vers le RAG :
- Utilisant des briques open-source comme OpenNLP, Stanford CoreNLP, Duckling, Rasa, ou des modèles hébergés sur AWS SageMaker
- Déployable seule si besoin pour des usages comme l'Internet des objets
- Assistants autonomes ou intégrés à des sites Web, applications mobiles, réseaux sociaux, enceintes connectées etc. sans dépendre d'un canal particulier
- Frameworks pour développer des parcours complexes et intégrer des services tiers :
DSLs en Kotlin, Javascript/Nodejs, Python et API tous langages (voir Bot API) - Nombreux connecteurs texte et voix : Messenger, WhatsApp, Teams, Slack, Google Chat, Mattermost, iAdvize, Alcmeon, clients compatibles OpenAI, un connecteur Web avec des kits React et Vue... (voir canaux)
- Installation cloud ou on-premise, avec ou sans Docker, sur Kubernetes, même "embarqué" sans Internet

Technologies
L'ensemble de la plateforme peut fonctionner conteneurisée (implémentation Docker fournie).
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.
Côté serveur, Tock utilise Vert.x et MongoDB (alt. DocumentDB). Différentes briques NLU peuvent être utilisées, mais Tock n'a pas de dépendance forte envers l'une d'elles.
Les interfaces graphiques Tock Studio sont écrites avec Angular en Typescript.
L'orchestrateur Gen AI est un service Python construit avec FastAPI et LangChain, qui appelle les fournisseurs de LLM, d'embeddings et de bases vectorielles.
Des intégrations React et Vue sont fournies pour les interfaces Web.
Démarrer...
- Tutoriels, à commencer par le tutoriel RAG, et plateforme de démonstration
- Gen AI : RAG, base de connaissances, prompts, qualité des réponses
- Manuels utilisateur, développeur, administrateur
- Ressources (supports, video) et exemples de code
*NLU: Natural Language Understanding