Des bibliothèques open source aux applications complètes, je travaille sur la confidentialité des données face aux LLM, la sécurité des API, les systèmes RAG et quelques expériences qui ont mal tourné dans le bon sens.
Bibliothèque Python qui empêche les données personnelles d'atteindre un modèle de langage, sans rien casser dans l'application. Les PII sont détectées (regex, NER ou un autre LLM) puis remplacées par des placeholders stables, si bien que john.doe@example.com devient <<EMAIL:1>>. Le modèle ne travaille que sur du texte dé-identifié, et les vraies valeurs sont réinjectées dans la réponse, sans que l'utilisateur voie jamais la dé-identification. Un outil appelé par l'agent reçoit la valeur réelle, quand le LLM qui décide de l'appeler ne voit que le placeholder. Autour de la bibliothèque gravitent une API d'inférence, un hub, une application de démonstration et un design system.
Système de clés d'API sécurisé et prêt pour la production, agnostique du framework. Stratégies de hachage interchangeables (Argon2, bcrypt ou la vôtre), persistance au choix (SQLAlchemy, en mémoire, dépôt sur mesure) et couche de cache optionnelle (aiocache, Redis). Intégrations fournies pour FastAPI, Litestar, Django et Quart, plus une CLI Typer pour la gestion des clés. Anciennement fastapi-api-key.
Bibliothèque qui fait jouer un LLM aux échecs, en exploitant le fait qu'un modèle sait reproduire le format PGN d'une partie. Elle fournit de quoi mener des expériences, modifier le PGN en cours d'inférence et instrumenter les parties. Le point de départ était de vérifier si ChatGPT tient réellement une partie de 80 coups sans coup illégal.
Chatbot pour dialoguer avec des PDF via un système RAG qui ne fournit au modèle que les extraits pertinents du document. Une mémoire de conversation est intégrée, ce qui permet de longues discussions avec un même document.
Bot de pêche pour World of Warcraft, entièrement automatique. Les clics et mouvements de souris se font dans le jeu, sans aucune intervention humaine. Une page web permet de suivre en direct ce que le bot est en train de faire.
Le jeu de la vie de Conway, rendu en temps réel avec Pygame. Une grille de cellules dont les règles de naissance et de mort font émerger planeurs, oscillateurs et structures stables en quelques lignes de code.