Documentation Dydu
EnglishFrench
  • Un même logiciel, de multiples applications
  • Guide de première utilisation
    • Prise en main
    • Créer votre bot
    • Créer votre première connaissance
    • Créer et publier votre chatbot
    • Cas d'utilisation fréquents
    • Bonnes pratiques
    • Glossaire
  • Contenus
    • Connaissances
      • Gestion des connaissances
      • Gestion des thématiques
      • Types de connaissances
        • Réponse à une question
        • Réponse complémentaire
        • Réponse prédéfinie
        • Ciblage comportemental
        • Slot filling
      • Eléments de réponse
      • Accessibilité des réponses des bots
      • Arbre de décision
      • Commentaires
      • Tester le bot
      • Alertes qualité
    • Carte des connaissances
    • Groupes de formulations
    • Phrases générales
    • Langues / espaces
    • Conditions de contexte
    • Contenus externes
      • LLM : comment configurer chaque type de modèle ?
      • VertexAI Gemini
    • Galerie
    • Services Web
      • Exemples de configuration (REST)
      • Configurer l’OIDC sur keycloack pour un Service Web
      • Questions Fréquentes
    • Avancé
      • Scripts serveurs
      • Modèles de réponse prédéfinis
      • Variables
      • Déclencheurs de web services
      • Top connaissances
    • Outils
    • Import/Export de connaissances
  • Apprentissage
    • Conversations
    • Suggestions
    • Phrases incomprises
  • Statistiques
    • Exploitation
      • Important
      • Conversations
      • Visiteurs
      • Thématiques
      • Connaissances
      • Qualification
      • Avis des utilisateurs
      • Liens cliqués
      • Reformulations
      • Performance
      • Autres
    • Livechat
      • Conversations
      • Connaissances
      • Opérateurs
      • Satisfaction
      • Files d'attente
    • Base de connaissances
      • Formulations
      • Utilisateurs
      • Matches
    • Export
    • Configuration
  • Statistiques personnalisées
    • Rapports
    • Alertes
    • Configuration
      • Rapports
      • Exports
      • Sources prédéfinies
      • Alertes
      • Préférences
      • Annexe : liste des indicateurs
  • Livechat
    • Activer le livechat
    • Configuration de la base de connaissances
    • Livechat DYDU
      • Aperçu des interfaces
        • Interface opérateur
        • Interface manager
      • Configuration livechat DYDU
        • Configuration générale
        • Compétences
        • Files d'attente
          • Général
            • Mise en place de la file d'attente
          • Compétence
            • Mise en place de la file d'attente par compétence
            • Mise en place d'une connaissance avec la file d'attente par compétence
        • Capacité de l'opérateur
        • Paramètres de compte
    • Connecteur Livechat Genesys
  • Intégrations
    • FAQ
      • FAQ statique
      • FAQ dynamique
    • MetaBot
    • Actions javascript
    • Règles personnalisées du ciblage comportemental
    • Canaux
      • Chatbox
        • Intégration d'une chatbox dans une webview
      • Customisation avancée
        • Éditeur Css
          • Teaser
            • Modification CSS teaser
          • Header
            • Modification CSS header
          • Body
            • Modification CSS body
        • Éditeur JS Custom
        • Gestion des libellés
        • Intégrations possibles
      • Connecteurs
        • Teams
        • Meta
          • Messenger
          • Instagram
          • WhatsApp
          • Fonctionnalités et compatibilité META
          • Contrôle d'application Meta
    • LLM - IA générative
  • Préférences
    • SAML 2
    • OpenID Connect (OIDC)
    • Droits et utilisateurs
    • Bot
      • Général
      • Conversations
      • Questionnaires
      • URLs
      • Champ de recherche
  • Autres
    • Comment fonctionne votre bot?
    • Protection des données
      • Politique de gestion des cookies
    • Console des logs
    • Mots-clés spéciaux
    • Aspects techniques
      • Hébergement
      • Infrastructure
    • Sécurité
      • Informations générales
      • Usage des serveurs
      • Outils open source
      • Expiration session utilisateur
  • Développeurs
    • Référence API
      • Authentification
      • Boîte de dialogue API
      • Export des Conversations
      • Champ de recherche
      • Import/Export du bot
      • Import/Export Base de connaissances
      • API de statut du serveur
      • Accès aux APIS
      • Gestion des utilisateurs du BMS
    • Chatbox V5
      • Mise en place et intégration
  • Release Note
Propulsé par GitBook

Tous droits réservés @ 2023 dydu.

Sur cette page
  • En appui du NLU
  • NLU Dydu
  • NLU Dydu + LLM
  • Indexation sémantique
  • Identification des sources
  • Accès aux sources
  • Mise en place de la stratégie LLM
  • Modèles de connaissances suite à une incompréhension ou une reformulation
  • Génération d'une réponse
  • Architecture
  • Hébergement des LLMs par Dydu
  • Hébergement des LLMs par un tiers
  • Sécurité et confidentialité

Cet article vous a-t-il été utile ?

  1. Intégrations

LLM - IA générative

Intégration des LLMs (grands modèles de langage) dans la solution Dydu.

PrécédentContrôle d'application MetaSuivantPréférences

Dernière mise à jour il y a 3 mois

Cet article vous a-t-il été utile ?

La solution Dydu permet l'administration de bots (chatbots, callbots) en utilisant une stack totalement intégrée et propriétaire.

Le moteur sous jacent implémente une qui permet de comprendre de très nombreuses formulations d'une même intention. Celle-ci évite au maximum les erreurs de compréhension, mais nécessite un travail pointilleux sur la structure des connaissances et des groupes de formulations utilisés.

Pour maximiser le périmètre du bot en minimisant l'effort à fournir sur la base de connaissances, Dydu intègre dans sa solution de l'IA générative.

Toutes les intégrations LLM réalisées ou sur la feuille de route du produit Dydu viennent en complément et non pas en remplacement. La technologie Dydu et celle des LLMs ont des approches différentes et se complètent parfaitement.

En appui du NLU

Le NLU (Natural Language Understanding) est une partie du NLP (Natural Language Processing) qui correspond à la partie compréhension de la question de l'utilisateur.

NLU Dydu

Dans la base de connaissances Dydu, celle-ci se traduit par les bulles bleues qui définissent les intentions des utilisateurs :

NLU Dydu + LLM

Pour maximiser la compréhension du bot, le moteur Dydu va s'appuyer sur un LLM avec la logique suivante :

  • En utilisant le NLU de Dydu et si le matching est direct -> une réponse est fournie.

  • En cas de matching direct via le LLM -> une réponse est donnée; sinon, une reformulation Dydu sera tentée pour obtenir une réponse du NLU Dydu, si possible.

Le bloc NLU Dydu correspond donc à l'analyse de la question de l'utilisateur sur la base du calcul de distance qui s'appuie sur les formulations et groupes de formulations. Si le score obtenu est trop faible, le LLM va être sollicité pour qu'il essaie à son tour de trouver la réponse.

Alimentation du LLM

Dans cette logique, le LLM s'appuie sur un index de vecteurs (embeddings) qui est regénéré régulièrement à partir des contenus de la base de connaissances Dydu.

Il retourne l'id de la connaissance la plus proche, ou rien si aucune connaissance ne correspond.

Indexation sémantique

Un autre usage des IA génératives dans nos chatbots consiste à indexer des documents externes pour enrichir le périmètre des connaissances du bot.

Le principe général consiste à interroger un modèle de langage dans une situation donnée, typiquement lors d'une incompréhension du bot. Ce LLM s'appuie sur une base d'index générée à partir des documents sources.

Identification des sources

La première étape pour la mise en place de l'indexation sémantique est la détermination des sources. Nous devons définir ensemble quels sont les documents que vous souhaitez rendre accessibles au bot.

Les sources possibles sont :

  • fichiers : PDF, MS Word (doc, docx), MS PowerPoint (ppt, pptx)

  • pages HTML : site public, site intranet, site sharepoint, ...

Selon la nature des documents, une étude préalable peut être menée pour vérifier que l'outil d'indexation fonctionnera correctement sur vos documents.

En effet, un document PDF peut contenir du texte, mais également des images (ex: un contrat scanné), des images au format svg, ...

Une analyse préliminaire doit être effectuée pour ajuster éventuellement l'outil d'extraction des contenus sur les spécificités de vos documents.

Accès aux sources

Les documents peuvent être hébergés en différents endroits :

  • sites publics

  • sites intranets

  • sites sharepoint

  • ...

Selon le cas, des comptes de service peuvent être nécessaires et les autorisations nécessaires doivent éventuellement être vues avec votre équipe sécurité.

L'outil doit être en mesure d'accéder régulièrement aux documents pour mettre à jour l'index.

Mise en place de la stratégie LLM

L'objectif de l'indexation sémantique est d'enrichir la base de connaissances du bot Dydu.

  • les plus fréquentes

  • les plus sensibles

  • nécessitant une intégration avec votre SI

  • nécessitant une escalade vers un agent humain

Dès lors vous pouvez choisir d'utiliser les réponses issues de l'indexation sémantique dans les cas suivants :

  • en complément d'information sur une réponse Dydu suite à demande explicite de l'utilisateur

  • questions / thématiques spécifiques

  • selon le profil de l'utilisateur

  • ...

Modèles de connaissances suite à une incompréhension ou une reformulation

  • à la création d'un nouveau bot , il faut cocher la case "activer l'utilisation des contenus externes".

  • Des modèles de connaissances suite à une incomprehension/reformulation sont alors automatiquement créées.

Modèle de réponse complémentaire en cas d'incompréhension

Modèle de réponse complémentaire en cas de reformulation

Génération d'une réponse

Le schéma ci-dessous décrit la logique générale :

Architecture

Hébergement des LLMs par Dydu

Le schéma d'architecture ci-dessous présente le cas où l'intégralité de la solution Dydu + LLM est hébergée par Dydu :

Le serveur solution Dydu contient toute la brique logicielle de bots Dydu. Nous pouvons fournir à la demande une documentation détaillée et technique de la manière dont est configurée un serveur de la solution Dydu.

L'objectif de cette architecture est de pouvoir proposer à nos clients une solution totalement hébergée en France et par nos soins et compatible avec la RGPD.

Pour les usages LLMs, nous avons besoin d'un autre serveur qui est en charge d'héberger plusieurs service :

  • Le moteur d'embeddings : c'est un modèle de langage qui se charge de vectoriser des phrases.

  • le Crawler : c'est un outil développé par Dydu qui permet d'aller parcourir des sites externes ou des bases de connaissances Dydu pour télécharger des données (fichiers, pages web, bases de connaissances Dydu, ...) Cet outil se paramètre avec des fichiers de configuration lui donnant les instructions des documents à télécharger et à indexer. (URLs, types de fichiers, credentials, fréquence de mise à jour de l'index, ...)

  • Le RAG : c'est une API ouverte uniquement au moteur Dydu qui permet de chercher dans l'index et de générer une réponse avec un appel au LLM.

L'ensemble des requêtes effectuées entre les 2 serveurs Dydu est en HTTPS.

Hébergement des LLMs par un tiers

Notre architecture n'est pas adhérente à un LLM en particulier, et il est tout à fait possible de l'utiliser avec des modèles hébergés par des tiers.

Ainsi, la même architecture que précédemment mais en utilisant le moteur d'embeddings d'OpenAI et GPT :

Cela est également possible avec Azure OpenAI, le tiers étant dans ce cas Microsoft, qui peut offrir des garanties sur la compatibilité avec la RGPD.

Sécurité et confidentialité

De nombreuses questions de sécurité doivent être adressées avant de démarrer un projet utilisant les modèles de langage sur vos bases documentaires :

  • le crawler doit pouvoir accéder à vos documents -> il faut ouvrir un flux entre notre serveur et vos sites hébergeant ces documents -> le crawler doit disposer d'un compte de service pour s'authentifier le cas échéant

  • la vectorisation des documents est stockée dans notre index -> un vecteur seul est inutlisable, mais en utilisant le moteur d'embeddings qui l'a créé on peut retrouver le texte d'origine, ceci implique que les textes de vos documents sont hébergés sur notre serveur. Il est important de s'interroger sur le niveau de confidentialité des données de ces documents et du caractère personnel des contenus.

  • dans le cas de l'utilisation d'un LLM hébergé par un tiers, tous les documents et toutes les questions sont transmises à ce tiers pour la vectorisation ainsi que pour l'interrogation du LLM.

Pour maximiser la compréhension, l'administrateur de la base de connaissances doit utiliser les :

La mécanique utilisée ici s'appelle qui consiste à trouver la ou les connaissances approchantes (avec leur id technique) à la question dans l'index.

Un est généré à partir des questions, réponses et id ainsi qu'une série d'instructions pour que le modèle ne s'appuie que sur les données fournies dans le prompt.

Ainsi, la réponse qui sera formulée par le moteur Dydu en fin de chaîne sera la réponse qui a été rédigée dans le BMS Dydu et non pas un texte généré par le LLM. L'intérêt étant de maximiser la compréhension et d'éviter toute dérive dans les réponses formulées telles que des .

Nous déconseillons fortement de créer un bot sans connaissances Dydu utilisant exclusivement les résultats d'indexation sémantique. En effet, les résultats seront moins maîtrisés et les coûts potentiellement plus élevés en fonction du modèle que vous utiliserez.

Une utilisation "hybride" est conseillée : la base de connaissances Dydu sera moins conséquente que si elle ne s'appuie pas sur l'indexation et elle pourra prendre en charge les questions :

Lorsque le LLM est sollicité pour trouver la réponse dans la base documentaire, celui-ci utilise la mécanique pour trouver tout d'abord zéro, un ou plusieurs paragraphes (ou chunks) en lien avec la question posée.

Un est généré à partir des chunks obtenus ainsi qu'une série d'instructions pour que le modèle ne s'appuie que sur les données fournies dans le prompt. La réponse sera formulée par le modèle de langage à partir de tous ces éléments.

Le LLM () : le modèle de langage utilisé à travers des prompts et qui génère des réponses

⚠️
✅
groupes de formulation
RAG (retrieval augmented generation)
prompt
hallucinations
RAG (retrieval augmented generation)
prompt
Llama2
mécanique