Retour et impressions sur les IA (LLM)

je me penche depuis plusieurs jours sur leur cas pour un projet pro et je commence à comprendre vraiment comment ça fonctionne sous le capot.
je fait ça avec ollama et openweb-ui.
Je réalise qu’ils fonctionnent comme une colonie de fourmis en fait. c’est un concept bien connu, c’est juste impressionnant par l’échelle à laquelle on l’applique maintenant.

Donc même avec un modèle bien entraîné et un prompt très précis on est jamais totalement à l’abris d’une hallucination.

donc ça élimine pour le moment mon intention de l’interfacer avec un ERP pour aider la créaion de contacts, factures etc…

enfin je commence à regarder le tableau de bord des modèles, les modèles RAG, le prompt système et la template. je pense qu’on peut les circonscrire à certaines taches bien définit et leur interdire d’aller plus loin.

si vous avez des experiences et conseils à m’indiquer à ce sujet, je prends.

Pour mon ERP j’ai deux projets distincts, je pense utiliser un modèle léger comme tinyllama pour interroger l’api REST d’abord en consultation pour faire des recherches parmi les clients par exemple.

je m’interesse au RAG aussi pour écrire un chatbot d’assistance pour mes clients qui piocherait ses réponses dans ma FAQ, sinon ouvrirait automatiquement un ticket de support pour eux (un technicien N1 quoi)

petit retour d’expérience :
Je tente de créer un chatbot d’assistance à mes clients pour mon site web.
Il doit répondre aux demandes basiques de mes clients et fournir mes coordonnées pour les questions qu’il ne peux pas gérer.
Je lui fournit un ficher FAQ et quelques pages web dans le RAG.
J’ai essayé plusieurs modèles légers (1B à 3B).
Llama 3.2 1B est celui qui s’en sort le mieux. il « raisonne » assez bien, hallucine assez peu tant que les questions restent simple et la discussion pas trop longue et son français est plutôt correcte.

Coté interface c’est ollama sous le capot. En frontend, LocalAI est trop basique, open-webui parait bien mais trop complexe et je n’arrive pas à avoir de résultats corrects avec le RAG,
j’essaie AnythingLLM depuis hier : son moteur de RAG est assez efficace, j’obtiens des résultats satisfaisant, on peut contraindre le LLM à ne répondre que sur ls données qu’il a dans le RAG, l’empechant d’utiliser ses « connaissances générales » pour répondre. ça lui évite de se disperser, de répondre à coté de la plaque et d’halluciner.

pour l’instant je suis toujours en train de l’éprouver avec des questions bateaux, mal formulées, avec fautes de frappes et fautes de français. il s’en sort plutôt bien.

Coté prompt système c’est plus compliqué. j’ai essayé de lui donner une « personnalité », mais il se trompe souvent, se faisant passer pour moi ou parfois pour le client s’il lui donne son nom.
J’ai essayé des prompts très riches mais je crois que plus il a d’instructions, plus il prends de libertés en fait.
ce qui marche le mieux pour le moment tiens qu’en 5 petites lignes :

you are an answering bot.
you never ask questions.
You take your informations only from the embedded context.
the only professional you recommend is jerome.
you give all the means to contact him.

(je pourrais l’écrire en français mais je trouve l’anglais plus directif, moins ambigu.)

Malgré l’ordre de ne pas poser de questions, il en pose quand même si le message du client n’est pas assez clair pour lui. mais ça semble quand même le forcer à rester sur le sujet et à fournir des réponses courtes et centrées.
(si je le reprend, il semble être désolé et se justifie, c’est amusant)

Dans le RAG j’ai écrit un fichier markdown façon liste d’instructions :

Nature du problème

  • Réponse 1
  • Réponse 2

Seul petit bémol : j’aimerais qu’il interprete les questions en « logique floue » mais qu’il récite bêtement les réponses en « dur ».
là il utilise les réponses que je lui donne comme matière pour formuler les siennes, donc il se trompe encore parfois (genre donner un faux numéro, m’attribuer un autre titre, dire que je travaille pour Micosoft …) selon le contexte du chat