Chatbot

Résumé

Apprenez à développer votre chatbot d’entreprise en s’appuyant sur la nouvelle Stack GenAI de Docker modulaire permettant une solution 100% libre et auto-hébergée mais aussi l’utilisation d’API propriétaires (openAI / Azure/..)

  • Durée : 3 jours

  • Prérequis :

    • Conaissances basiques de git, docker, ligne de commande
    • Notions de base de python
    • Notions théoriques de : espace vectoriel, algèbre linéaire, complexité des algorithmes, bases de données, langage de requête
  • Public: développeur / chef de projet informatique / datascientist

  • Concepts:

    • LLM, Embedding
    • Base de données vectorielle
    • Architecture RAG (Retrieval Augmented Generation / Génération à partir de données de recherche)
  • Technologies

    • Neo4J, Ollama, Docker, Streamlit, LangChain

Contexte

Les chatbots d’entreprise sont en train de révolutionner la manière dont les entreprises interagissent avec leurs données : le requêtage ne se fait plus uniquement par mot clé, mais en langage naturel.

Le monde du libre met à disposition une stack logicielle permettant le développement de chatbot. L’objectif de cette formation est de comprendre le fonctionnement des chatbots “RAG” (Retrieval augmented generation) et de savoir en développer avec les outils libres du marché.

Objectifs

  • Connaitre et comprendre les technologies en jeu. Pouvoir mettre en place un chatbot “QA RAG” (Question Answer Retrieval Augmented Genration) en utilisant vos propres données pour l’élaboration de réponses personnalisées et citant ses sources.
  • Avoir pratiqué sur un exemple concret développé de A à Z.

Programme

  • Jour 1 - Concepts et bases
    • Matin - Cours / TD
      • Démonstration
      • Architecture d’un chatbot RAG
      • Concepts sous-jacents (HNSW, Embedding, LLM)
      • Découverte de LangChain
    • Après midi - TP - Mise en place d’un notebook chatbot QA (non RAG) en s’appuyant sur l’API OpenAI
  • Jour 2 - Incorporation des données d’entreprises
    • Matin - Création BD et ingestion de données PDF
      • Vectorisation
      • Ingestion de données PDF
        • Bibliothèques de lecture PDF
        • Algorithmes de chunking
        • Stockage dans une bd lightweight (ChromaDB)
      • Prompt à la main
    • Après-midi - Pratique : mise en place de A à Z
      • Développement d’une interface
      • Mise en place de la chaine entière.
  • Jour 3 - Chatbot en production & Modèles libres
    • Matin - TP
      • Docker, Git : rappels des principes et commandes de base
      • Mise en place d’une BD Neo4J
      • Cas d’usage
    • Après-midi
      • Utilisation de LLMs libres
      • Discussion selon demande des participants
        • Prompt engineering
        • Scoring de qualité de chatbot
        • Lecture de PDF scannés
        • Problématiques d’éthique / écologie / …
        • Base de données structurées graphe ++
        • Chat au delà du QA
        • Fine tuning
Julien Robert
Julien Robert
Indépendant en ingénierie informatique

Docteur en informatique, agrégé de mathématiques, passionné de sciences et d’informatique, j’ai à coeur de mettre en oeuvre et faire évoluer et transmettre mes conpétences sur tout type de projet “stimulant” conceptuellement et / ou techniquement.