Créer un chatbot IA sans hallucinations et sans fuites d'informations (facilement)

Pour créer, rédiger et optimiser le SEO de vos pages web --> Contactez-nous


Pour l'instant, l’utilisation de l'intelligence artificielle en entreprises (Si ce sujet vous intéresse, nous vous conseillons l'excellllllllent groupe Linkedin IA et Entreprises :-))  https://www.linkedin.com/groups/12878644/ ) tourne autour de quelques sujets bien précis dont les chatbots.

Remarque et légère digression : il y a très peu de gens qui réfléchissent dans le domaine de l'intelligence au service des entreprises, en commençant par le début à savoir:

1) Dans quels secteurs ou processus VOTRE entreprise peut-elle, grâce à l'IA, économiser des coûts (En général les tâches de BESOGNE, sans valeur ajoutée HUMAINE

2) Dans quels secteurs ou processus VOTRE entreprise peut-elle, grâce à l'IA, augmenter sa valeur ajoutée HUMAINE ?  (Ce n'est pas l'IA qui va "gagner" mais les gens qui sauront l'utiliser intelligemment)

3) Que font VOS CONCURRENTS avec l'IA (Inutile d'être parfaits ou super bons s'ils sont nuls --> en matière de concurrence, il suffit de faire "un peu mieux que les autres" (Comme dit le proverbe: "le mieux est l'ennemi du bien").

 Fin de la remarque et légère digression = "PUB" :-))  --> N'hésitez pas à nous contacter ( mail: ia arobase tubbydev.net ) si vous voulez concrètement voir si l'IA peut vous êtes utile dans votre entreprise.

Revenons-en donc à la création d'un chatbot, sans hallucinations (ce mot n'étant pas juste et le mot "erreurs" étant + adapté mais que faire contre la "popularisation" :-)) et sans fuites d'informations et à un coût très réduit.

En effet, tout un tas de SSII ou d'agences web se sont engouffrées dans les créations de chatbot en surfacturant quelque chose qui est TRES SIMPLE.

Nous avons déjà décrit ici la manière de créer facilement un chatbot avec wordpress et un plugin comme AiPower (--> https://aipower.org/ ).

Nous allons regarder + en détails ici la configuration d'AiPower qui est un bon exemple et permet de comprendre les défis essentiels d'un chatbot:

  • quelles sources pour les données utilisées ?
  • comment réduire le risque d'erreurs ?
  • quelle "sécurité" ?

Sources et données utilisées par un chatbot (cas d'AiPower)

Avec la solution AIPower, tout est expliqué dans la documentation sur   https://docs.aipower.org/docs/Chatbot/knowledge

Partons du principe que le chatbot doit avoir des sources "internes" et non être utilisé comme un vulgaire chatgpt qui tire ses informations de ce qu'il a appris (car dans ce cas, vraiment, à quoi ça sert de coller un chatbot sur un site ??).

On a donc besoin d'une base de connaissance.

Knowledge (Connaissance)

En activant la fonctionnalité "Knowledge", le chatbot peut générer des réponses basées sur la source de données que vous choisissez.

La fonctionnalité "Knowledge" a les options suivantes :

  • User Aware (Connaissance de l'utilisateur) : A activer ou pas pour permettre au chatbot de reconnaître les utilisateurs connectés.
  • Source de données : Choisir entre "Extraits" ou "Embeddings" pour la base de connaissances du chatbot.

L'option "User Aware", activée par défaut, permet au chatbot de récupérer le nom de l'utilisateur actuel (s'il est connecté) et de fournir des réponses personnalisées.

Si cette fonctionnalité est désactivée, le chatbot n'aura pas accès aux informations spécifiques à l'utilisateur.

Extrait

Par défaut, le chatbot utilise l'extrait (des articles du wordpress comme source de données). Il extrait le résumé de l'article WordPress de la page sur laquelle il se trouve et l'utilise pour comprendre le sujet et fournir des réponses pertinentes. Si aucun extrait personnalisé n'est fourni, WordPress utilise automatiquement les 55 premiers mots de l'article.

Embeddings (Embarqués)

Pour utiliser les embeddings, vous devez configurer soit Pinecone, soit Qdrant et ajouter leurs détails API dans l'onglet "AI Trainings - Paramètres". 

(Pinecone --> https://app.pinecone.io ; Qdrant --> https://qdrant.tech/)

Si vous sélectionnez par exemple  "Pinecone" 3 champs supplémentaires apparaîtront :

  • Index Pinecone : Tous vos index Pinecone seront répertoriés. Sélectionnez celui que vous souhaitez utiliser.
  • Limite de requête : Choisissez combien de correspondances les plus proches (de 1 à 5) doivent être fournies au bot. La valeur par défaut est 1, ce qui signifie que seule la meilleure correspondance sera utilisée comme contexte.
  • Comportement du bot : Choisissez entre les modes "Conversationnel" et "Non conversationnel". Le mode par défaut est "Conversationnel", où le bot interagit normalement. En mode "Non conversationnel", le bot se comporte davantage comme un moteur de recherche sémantique, affichant des résultats sans interaction.

Avec Qdrant :

  • Collection Qdrant : Toutes vos collections Qdrant seront répertoriées. Sélectionnez celle que vous souhaitez utiliser.
  • Limite de requête : Choisissez combien de correspondances les plus proches (de 1 à 5) doivent être fournies au bot. La valeur

L'utilisation des embeddings nécessite également la sélection d'un "modèle d'embedding" en plus de la base de données vectorielle. Notre plugin prend actuellement en charge certains modèles d'OpenAI, Google, Azure.

Quelle confiance accorder aux réponses du chatbot ? 

Bien sûr, ça dépend du prompt qu'on ajoute par dessus la couche des données, des sources pour répondre. Mais on peut aussi configurer le "score de confiance".

Le seuil du "confidence score" permet de définir un niveau minimum de confiance pour les réponses récupérées. Vous pouvez choisir un seuil compris entre 1 et 100, avec une valeur par défaut fixée à 20.

Quand un utilisateur pose une question, le plugin envoie la requête à l'API d'embedding pour générer un vecteur. Ce vecteur est ensuite transmis à Pinecone ou Qdrant afin de récupérer les résultats les plus proches depuis la base de données vectorielle.

- Le nombre de résultats récupérés dépend du paramètre *Limite de requête*. Si la limite est définie sur 1, seul le résultat le plus proche est récupéré. Si elle est définie sur 5, les 5 résultats les plus proches sont récupérés.
- Chaque résultat est accompagné d'un score compris entre 0 et 1, qui indique à quel point il correspond à la requête.

 Le seuil de score de confiance détermine alors  quels résultats sont utilisés comme contexte pour le bot :

- Si le seuil est fixé à 50, seuls les résultats ayant un score supérieur à 0,5 seront utilisés. Les résultats avec un score inférieur sont ignorés.

En réglant un seuil de confiance plus élevé, vous garantissez que seules les données hautement pertinentes sont utilisées dans les réponses du chatbot.

Et par dessus, on ajoute un prompt et d'autres configurations

Une fois qu'on a donc indiqué les sources de données, on doit indiquer au chatbot plus ou moins COMMENT on veut qu'il réponde.

Il y a une partie configuration (par exemple les mots à éviter, etc, etc..).

Il y a une partie prompt (Encore une fois, dans l'IA, TOUT est dans le prompt: Principes pour faire des bons prompts) où on va par exemple suivre le modèle RCT, à savoir donner au chatbot:

  • un Rôle (Exemple: Tu es un spécialiste software en France qui travaille depuis 10 ans au département R&D de Samsung. Chaque jour tu répares ou donnes ton avis, etc..  blablabla)
  • un Contexte (Exemple: Tu assures le SAV de clients qui ont des problèmes techniques avec les appareils truc, bidule, etc.. et qui te demandent des informations via le site web)
  • une Tâche (Exemple: quand tu reçois une demande, tu t'assures de bien la comprendre sans hésiter à poser 1 ou 2 questions au maximum si quelque chose ne te semble pas clair; une fois que tu as bien compris tu donnes ta réponse avec des phrases courtes, compréhensibles par un enfant de 10 ans)

Chatbot avec d'autres systèmes IA

Nous avons détaillé quelques fonctionnalités du système Power AI sur Wordpress pour montrer un exemple de ce qu'on peut faire facilement, sans être ou sans avoir recours à un développeur spécialisé --> il suffit de LIRE LA NOTICE ! L' utilisation de l'intelligence artificielle est faite pour être SIMPLE ! Ne laissez pas les marchands du temple transformer ça en truc compliqué !

Dans les autres solutions pour fabriquer un chatbot FACILEMENT, il existe des tas d'applications déjà prêtes (et dont certaines s'intègrent en 2 minutes, sans connaissances spécifiques, sur un site web), comme:

https://www.1hero.ai/

http://wotnot.io/

https://botsify.com/

https://kodif.ai/

https://helpix.ai/

https://www.supportagent.ai/

https://www.growparabolic.com/

https://www.supportlogic.com/

https://helpbell.ai/

https://www.revo-chat.com/

https://ticketai.app/

https://desku.io/

landbot.io

https://chatbit.co

https://juji.io/no-code-ai-chatbot-builder/

https://www.chatbase.co/

https://writesonic.com/botsonic NB: Botsonic est vraiment top !

http://tidio.com/

https://poe.com/ --> variété de chatbots à utiliser gratuitement --> https://poe.com/about

Si vous ne voulez pas dépendre d'une application tierce et avoir VOTRE propre truc, notamment par crainte de voir vos données utilisées par les modèles IA, alors, il existe différentes solutions donc certaines ne nécessitent pas de coder (mais juste de CONFIGURER  sans faire un refus de saut sur ça :-)):

 

Sécurité des données ?

Très souvent, la sécurité des données est LE problème des entreprises quand elles utilisent l'IA.

Remarquons tout d'abord que c'est un peu paradoxal pour un chatbot. D'un côté on veut que le chatbot utilise une base de données spécifique pour répondre mais d'un autre côté on ne veut pas que les données fuitent.

En gros, on veut donc la puissance du LLM mais sans qu'il ne se serve des données..

Notons que vous pouvez déjà éviter, quand vous vous servez d'un truc comme chatgpt, que vos données servent à l'éducation du modèle. Par exemple, dans Chatgpt, ça se fait ici:

Confidentialite chatgpt

Par ailleurs, si vous utilisez OpenAI's API ou ChatGPT Entreprise, les conditions générales d' OpenAI leur interdisent d'utiliser VOS données pour entrainer leurs modèles (Ceci dit, les promesses n'engagent que ceux qui y croient et COMMENT vérifier ?).

Bien évidemment, des "attaques" peuvent déclencher des fuites de données. Dans https://developer.nvidia.com/blog/best-practices-for-securing-llm-enabled-applications/  , vous trouverez un bon aperçu de ce qu'il faut savoir et mettre en oeuvre à ce sujet.

A propos de la sécurité, lisez:

https://www.lakera.ai/blog/chatbot-security

https://shelf.io/blog/preventing-data-leakage-in-machine-learning-models/

et surtout, ayez du bon sens, en ne confiant à votre base de données QUE des données (y compris dans leur mise en forme) sans risque. Très souvent, le risque de fuite est le fait que des données qui seules ne représentent rien, soient avec d'autres car ensemble, elles signifient quelque chose.

Si vous êtes vraiment paranoïaque, vous pouvez aussi utiliser 2 IA. L'une va être éduquer pour fournir la réponse à la deuxième qui la fournira à l'utilisateur (et servira aussi à celui-ci pour poser sa question). Entre les 2, il faudra avoir le bon prompt pour qu'elles communiquent.

C'est un peu compliqué mais ça peut rassurer les patrons ou le service juridique qui n'y comprennent rien :-)))

Sinon, avez-vous pensé à ne pas utiliser l'IA pour créer votre chatbot ?  Dans certains cas, ça fonctionne très bien (les chatbots ne sont pas nés avec l'IA) et ça suffit ...

Et les erreurs de réponses ?  (Les hallucinations selon le terme en vogue)

Les erreurs de réponse sont causées par les données et/ou les prompts.

Si l'on revient à l'exemple Power AI, les réponses se font dans un des exemples décrits + haut, sur l'extrait ou les 55 premiers mots de l'article. Si l'élément intéressant pour la question posée n'est pas au début ou dans l'extrait ....  il est évident qu'il y aura un risque d'erreur.

Autre exemple, dans beaucoup de cas, la "base de données" des connaissances est faite de pdfs. Si chaque pdf est découpé, page par page, il est aussi évident que la réponse sera beaucoup plus pertinente que si chaque pdf est fourgué en vrac, y compris quand il fait + de 100 pages.

Essayez à ce sujet d'interroger chatgpt ou claude ou n'importe quel système IA PDF en uploadant un pdf de 50 pages puis en découpant celui-ci en 5 blocs de 10 pages puis en 50 blocs de 1 page..  A prompt égal, vous verrez tout de suite la différence de pertinence des réponses..

A propos des documents que vous pouvez mettre dans les "données" et typiquement pour les pdfs, n'oubliez pas que ce qui compte n'est pas tellement la taille du document que le nombre de tokens que l'IA va devoir utiliser pour "lire" le document.

Commentaires sur: Créer un chatbot IA sans hallucinations et sans fuites d'informations (facilement)

Poster un commentaire sur: Créer un chatbot IA sans hallucinations et sans fuites d'informations (facilement)







« Comment certaines agences web compliquent Wordpress pour rendre leurs clients dépendants | Accueil | NotebookLM excellent alternative à ChatGPT ou autre notamment pour apprendre ou rédiger »



Besoin de SEO, de développement, de rédaction de contenu web ? Besoin d'un blog, de Wordpress, de Prestashop ou autres nouvelles "choses web" ? Envie de travailler dans ces domaines ? --> Contactez-nous