Analyse et mise en place d'un chatbot

Lors de mon stage de deuxième année j'ai pu prendre part à un projet de recherche ayant pour objectif d'analyser différents outils de chatbots et d'en sélectionner un afin de développer une preuve de concept. L'objectif de l'étude vise à mettre en place un chatbot au sein d'un processus de recrutement pour assister les RH et les Managers. Ce stage s'est déroulé au sein du Laboratoire d'Informatique de Grenoble dans l'équipe IIHM.

Dans un premier temps j'ai dû analyser les chatbots : comprendre leur fonctionnement, quelles technologies existaient, qu'est-il possible de faire. Ensuite, j'ai comparé différents outils (au total 50) selon des caractéristiques choisies dans le cadre de cette thèse. Enfin, j'ai dû réaliser un peu de développement comme preuve de concept pour montrer que l'outil choisi répondait à nos attentes et qu'il était possible de le personnaliser en ayant accès au code source. L'outil en question était OpenWebUI qui utilisait les modèles fournis par Ollama.
Je tiens à préciser que les langages cités ci-dessous ne sont pas seulement ceux avec lesquels j'ai développé mais aussi que j'ai étudié en me documentant sur les outils. La preuve de concept utilisait Svelte, HTML et Tailwind.
L'objectif était d'avoir une interface de chatbot qui a accès à un formulaire (ici assez simpliste) que l'utilisateur rempli. En ayant accès à ce formulaire en temps réel, le chatbot pouvait aider l'utilisateur dans sa rédaction de fiche de poste. Nous cherchions également à avoir un chatbot multimodal d'où la présence des icônes de micro (nous pouvons dicter notre message), du casque (on peut appeler le chatbot, littéralement nous parlons et il nous parle), et du petit plus qui permet d'exporter des documents comme des PDF par exemple.

Ci-dessous, un aperçu de l'interface développée :

Interface Chatbot
Javascript Python HTML Tailwind Svelte
Overleaf Docker Ollama HuggingFace

Compétences requises

  • Effectuer une documentation scientifique avec citation de sources dans la littérature
  • Organiser un projet sur une longue durée
  • Apprendre de nouveaux outils dans le cadre d'un projet

Compétences acquises

  • Rédiger un document qui suit des normes scientifiques
  • Connaissances sur les outils d'IA , leur utilisation et fonctionnement
  • Organiser un planning pour remplir des tâches demandées à temps
  • Prendre en main des langages que je connaissais peu

Vous pouvez cliquer ici pour télécharger mon mémoire de stage : Mémoire de stage