Cas d’usage métier · Accès libre

VoiceFlow et Flowise : Chatbot Maintenance

Guide complet · Sans compte ni mot de passe

Tutoriel publié le 26/08/2024. Les outils et leurs interfaces peuvent avoir évolué. Cet exemple pédagogique ne constitue pas une réalisation client ni une garantie de résultat.

Introduction :

Dans un monde en constante évolution, l'automatisation et l'intelligence artificielle jouent un rôle de plus en plus important dans la création d'expériences utilisateurs intuitives et engageantes. Les chatbots sont devenus des outils essentiels dans ce contexte, offrant des solutions efficaces pour améliorer l'interaction entre les entreprises et leurs clients. Ce tutoriel explore en détail la maintenance d'un chatbot en utilisant les plateformes VoiceFlow et Flowise. VoiceFlow permet la création d'un flux conversationnel intuitif et personnalisable, tandis que Flowise, basé sur la bibliothèque LangChain, apporte des fonctionnalités avancées de traitement de langage naturel pour des réponses plus précises et contextuelles. En suivant ce guide, vous apprendrez comment intégrer ces deux outils pour créer un chatbot performant capable de comprendre les demandes des utilisateurs, d'interagir avec eux et de fournir des réponses précises en boucle et même partager avec l’utilisateur des images.

Technologies Utilisées

Dans ce tutoriel, Nous utilisons : VoiceFlow pour créer un flux conversationnel personnalisé Flowise (basé sur LangChain) pour des fonctionnalités avancées de traitement de langage naturel Le tout intégré via une API pour créer un chatbot performant et interactif.

Comment ça marche ?

Partie accueil

Dans cette partie, on se trouve face au premier bloc (bloc Welcome), composé de deux sous-blocs : Text pour accueillir l’utilisateur et Caption.

Sous-bloc Text :

Pour ce faire dans la barre des choix des étapes on choisit “Talk” puis “Text” Nous avons ajouté des phrases variantes que nous allons utiliser pour accueil l’utilisateur , l’une de ces phrases sera la première phrase que l’utilisateur va voir.

Sous-bloc Caption :

Pour ce faire dans la barre des choix des étapes on choisit “Listen” puis “Capture” , ensuite nous allons créer une variable appelé : input , qui aura pour rôle de récupérer le message qui sera envoyé par l’utilisateur

Bloc des conditions :

Dans cet exemple nous allons voir que 3 type de conditions

Condition 1 :

  La condition 1 est tout simplement une condition de type if composé de sous-conditions : IF : La variable input contient le terme “image” AND : La variable input contient le terme “tableau de bord ” Dès que les deux conditions suivantes sont respecté image apparait , par la suite l’utilisateur est renvoyé vers le bloc d’accueil (bloc Welcome )

Condition 2 :

Même chose que condition 1

Condition 3 :

1-Cette partie sera actionnée dès que la variable input contient quelque chose

2-Ensuite pour utiliser un bloc call API nous allons vers barre étape Dev

3-Par la suite nous allons passer à Flowise (hébergé sur Render) ou nous allons demander

Détails sur Flowise : Cette image représente le flux de données d'une chaîne de questions-réponses avec récupération conversationnelle (Conversational Retrieval QA Chain) en utilisant les composants LangChain. Voici une explication détaillée de chaque étape : 1. Pdf File (Fichier PDF)
  • But : Ce composant est responsable de la lecture et de la division d'un fichier PDF en morceaux de texte qui peuvent être utilisés pour un traitement ultérieur.
  • Entrées :
    • Pdf File : Le chemin vers le fichier PDF téléchargé (par exemple, Maintenance SY412-inks.pdf).
    • Text Splitter : La méthode utilisée pour diviser le contenu PDF en morceaux.
    • Usage : Définit comment les documents sont divisés (par exemple, "Un document par page").
  • Sorties :
    • Document : Les morceaux de texte divisés.
2. Recursive Character Text Splitter (Diviseur de Texte Récursif par Caractère)
  • But : Divise les données textuelles en morceaux plus petits pour une récupération efficace.
  • Entrées :
    • Chunk Size : La taille maximale de chaque morceau de texte (par exemple, 1000 caractères).
    • Chunk Overlap : Le nombre de caractères qui se chevauchent entre les morceaux consécutifs.
  • Sorties :
    • RecursiveCharacterTextSplitter : Divise et produit les morceaux de texte.
  • Utilisation :
    • Ce diviseur est connecté au composant Pdf File pour traiter le contenu PDF.
3. OpenAI Embeddings (Embarquements OpenAI)
  • But : Génère des vecteurs d'embarquement pour chaque morceau de texte.
  • Entrées :
    • Connect Credential : Les identifiants d'API pour accéder aux services OpenAI.
    • Embeddings : Le modèle OpenAI pour générer des embarquements (par exemple, text-embedding-ada-002).
  • Sorties :
    • OpenAIEmbeddings : Les vecteurs d'embarquement générés.
4. In-Memory Vector Store (Stockage de Vecteurs en Mémoire)
  • But : Stocke les embarquements générés pour un accès rapide lors du processus de questions-réponses.
  • Entrées :
    • Document : Les morceaux de texte.
    • Embeddings : Les embarquements générés par le composant OpenAI Embeddings.
    • Top K : Le nombre de morceaux similaires à renvoyer pour chaque requête (par exemple, 4).
  • Sorties :
    • Memory Retriever : Un récupérateur qui trouve les documents pertinents en fonction des embarquements de requête.
5. ChatOpenAI
  • But : Fournit un accès au modèle de langage OpenAI pour la conversation.
  • Entrées :
    • Cache : Met en cache les réponses pour un accès plus rapide.
    • Connect Credential : Les identifiants d'API pour accéder aux services OpenAI.
    • Model Name : Le modèle à utiliser (par exemple, gpt-3.5-turbo).
    • Temperature : Contrôle la créativité des réponses du modèle.
  • Sorties :
    • ChatOpenAI : Une instance du modèle de conversation.
6. Conversational Retrieval QA Chain (Chaîne de QA avec Récupération Conversationnelle)
  • But : Fournit une solution de questions-réponses avec récupération conversationnelle de bout en bout.
  • Entrées :
    • Chat Model : L'instance du modèle de conversation (à partir de ChatOpenAI).
    • Retriever : L'instance de récupérateur (à partir de In-Memory Vector Store).
    • Return Source Documents : Indique si les documents sources doivent être inclus dans les réponses.
  • Sorties :
    • ConversationalRetrievalQAChain : La chaîne de questions-réponses complète capable de répondre aux question

    4-Récupérer la syntaxe API utilisation de chatbot que nous avons créer sur Flowise

    5- Connecter Flowise à VoiceFlow

    Nous allons copier-coller les éléments de la syntaxe API de Flowise sur le bloc API de Voiceflow   Par la suite nous allons tester si le call API a bien bel est bien était fait sur Voiceflow en cliquant sur “ Send Request” Résultat : On reçoit un résultat sous forme de Json L’objectif est de récupérer juste ce que contient la valeur “text” Nous allons donc créer une variable appelé “Answer” qui va recevoir cette valeur via le champs “Capture Response “ du blow API  

    5- Afficher ce que contient la variable Answer sur un bloc text , puis le connecter au bloc d’accueil pour créer un effet de questions réponse sous forme de boucle

    .   
   

Conclusion :

En combinant les puissantes fonctionnalités de VoiceFlow et Flowise, nous avons montré comment créer et maintenir un chatbot capable de traiter efficacement les demandes des utilisateurs en exploitant des modèles de langage avancés. Grâce à VoiceFlow, nous avons pu configurer un flux conversationnel clair et organiser les conditions pour répondre à différents scénarios. Flowise a ajouté une dimension d'intelligence en permettant d'accéder à une chaîne de questions-réponses conversationnelle basée sur LangChain. L'utilisation d'une API entre les deux plateformes garantit une intégration fluide et une communication rapide, offrant ainsi une expérience utilisateur optimale. Ce tutoriel démontre qu'avec les bons outils et une architecture soigneusement conçue, il est possible de créer des chatbots sophistiqués qui améliorent significativement l'interaction entre une entreprise et ses clients.

Intégrer des agents IA à vos données et à vos systèmes

Appliquer ce cas à votre entreprise.

Parlons de votre projet →