Objectif : Au sein de Gedeon, j’ai travaillé sur la mise en place d’un chabot pour répondre aux
questions autour de la retraite en France, principalement sur le Plan d’Épargne Retraite Obligatoire
(PERO) et ses domaines connexes. Pour y parvenir, j’ai effectué des tâches suivantes :
- Constitution de Corpus: Scraping de sites web, extraction de texte de documents PDF et PPT
- Création de données synthétiques (FAQ) via des Prompts avec l’API d’OpenAI et les données
scrappées
- Affinage ( Finetuning) de petits LLM (Llama 7B, Zephyr 7B, Phi 3) sur AWS Sagemaker avec
les données synthétiques et les modules de training de HuggingFace
- Évaluation des modèles via des feedbacks experts de la retraite chez Gedeon qui ont annoté
les données synthétiques et les réponses produites par les modèles finetunés.
- Réduction des hallucinations en calculant des scores (via le LLM) de pertinences entre les
questions et les contextes extraits.
- Mise en place de l’approche RAG (Retrieval Augmented Generation) avec trois approches
différentes :
o Code Python avec Langchain, Chroma DB pour l’indexation des données et
exposition du service Chatbot avec Fast API
o Utilisation de Vertex AI Serach & Conversation (GCP) avec Gemini Pro et DialogFlow
CX pour un POC chatbot
o Utilisation de Promptflow (Azure ) en local avec les connexions d’Azure Open AI et
Azure Cognitive
- Containerisation du Chatbot conçu avec PromptFlow pour le déploiement
- Utilisation de Github Action pour l'intégration continue et le déploiement continu (CI/CD) du
Chatbot
- Création sur Azure Portal d’un compte Service Principal pour le déploiement du Chatbot
- Connexion du Chatbot via API par l’implémentation d’un module Nodejs dans la partie
Backend du SaaS de Gedeon qui lui communique avec un BD Mongo pour la sauvegrade
des conversations du Chatbot
Environnement technique: AWS Sagemaker, Notebook, FastAPI, Azure AI Studio, LangChain,
LlamaIndex, GitHub actions, Pytorch, HugginfgFace, Vertex AI, MongoDB, VsCode
L’objectif de ma thèse chez Orange (Encadré par l’équipe ALMAnaCH d’INRIA) était : La Constitution
de sous-fils de discussion cohérents à partir de conversations issues d’outils professionnels de
communication et de collaboration.
- Edition d’un état de l’art sur les problématiques autour des conversations d’emails
- Conception d’une sonde en C# pour l’extraction des emails Outlook sur les PC des
collaborateurs chez Orange. Cette sonde a permis de collecter les courriels en respectant le
RGPD
- Mise en place d’un pipeline pour la pseudo-anonymisation des données via la
reconnaissance d’entités nommées (NER), ceci toujours dans le respect du RGPD et du
secret de la correspondance.
- Finetuning de modèles BERT pour la tâche NSP (Next Sentence Prediction) afin de
segmenter des contenus d’emails
- Constitution de corpus et analyses des données textuels de conversations hétérogènes
provenant de fora, d’emails, de wikipédia,etc
- J’ai décomposé ma problématique en deux sous-problèmes : l’identification d’actes
(classification multi labels de segments d’emails) de dialogues et l’appariement des énoncés.
- Pour ces deux sous-tâches, j’ai finetuné des modèles BERT avec des librairies de
HuggingFace
- Identification et intégration de bonnes fonctions de pertes dans les modèles finetunés
- J’ai rédigé deux articles scientifiques que j’ai présenté à des conférences internationales et
nationales
- Exploration d’une approche de plongement de mots (embeddings) fortement couplés aux
arbres syntaxiques : pour l’identification des actes de dialogues
- Utilisation de LangChain et Open AI pour l’identification des actes de dialogue et la création
de données synthétiques, ceci pour l’évaluation des modèles
Proojet1 : Conception du Standardization Survival Kit - SSK qui est une plateforme dédiée au support
de modélisation et de gestion des données de recherche pour les chercheurs en humanités
numériques, dans le cadre d’un projet Européen H2020
- Mise en place de l'architecture de la plateforme
- Requêtes sur l’API Github pour récupérer des contenus TEI ( XML)
- Parsing de document XML et transformation en JSON
- Indexation de document avec Elasticsearch 6.2.4
- Intégration des interfaces Web à partir de maquettes produites avec Sketch par un Designer
- Développement du Front-End (Angular & Bootstrap) et du Back-End (Spring Boot)
- Développement d'un moteur de recherche
- Mise en place de web services afin de fournir des données à des applications tierces
- Mise en place d'environnement d'intégration continue (Travis & Jenkins)
Analyse et développement de modules d'une application de gestion de micro-finance compatible
avec les exigences de la COBAC.
- Gestion des signataires sur chèques et comptes courants
- Gestion des chèques
- Module de collecte quotidienne
- Rapport sur les modules précédents
- Outil pour importer des données d'un autre système de microfinance à un autre
Gestion du parc informatique pour une trentaine d'utilisateurs
- Configuration et maintenance des répéteurs Nano wifi, pare-feu pfsense et hyperviseur
Xenserver.
Conception et développement d'une solution de paiement mobile
- Analyse et spécifications de l'application
- Développement côté serveur avec ZendFramework PHP
- Conception d'un plugin de paiement pour le site E-commerce VirtueMart
- Développement de module externe en Java EE
- Utilisation de la mêlée de glace pour la méthode agile
- Utiliser HTML5 et CSS3 pour développer le côté front-end de l'application
Projet2 : LECTAUREP, LECTure Automatique de REpertoires : Ce projet vise à révolutionner l'usage
qui est actuellement fait des répertoires d'actes notariés par les chercheurs et utilisateurs des fonds
d'archives notariales en développant une plateforme équivalente à un véritable outil de transcription,
de lecture et d'analyse informatique des écrits organisés dans l'annuaire du notaire
- Définir les spécifications d'une plateforme de crowdsourcing de transcription.
- Entraînements de modèles de segmentation et de transcription pour la reconnaissance des
actes notariés avec l'outil Kraken