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
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