LLM Ops Sandbox
Un banc local relie un moteur simulé, Ollama et vLLM à une API suivie par Prometheus et Grafana. En parallèle, un VPS auto-hébergé couvre HTTPS, Docker, Gitea, DNS, messagerie et supervision. vLLM a été validé sur GPU.
Voir le dépôtMémoire persistante, recherche hybride, voix, évaluation et infrastructure locale : je travaille sur le harness et les systèmes qui entourent les modèles, là où se jouent le contexte, la fiabilité et l'exploitation.
Mon projet phare, Evelynn, rassemble ces questions dans un compagnon cognitif local que je fais évoluer par contrats, tests et bancs d'évaluation.
Depuis 2022, mon usage quotidien des modèles d'IA me ramène au même problème : leur capacité brute ne suffit pas quand le contexte se perd entre deux échanges. Un agent durable doit savoir quoi retenir, quoi oublier, qui lui parle et ce qu'il peut révéler.
J'ai conçu Evelynn pour traiter ce problème comme un système complet : mémoire persistante, identité multicanal, rappel, consolidation, LLM local, voix, avatar et observabilité. J'emprunte à la mémoire cognitive certaines distinctions fonctionnelles, sans prétendre reproduire un cerveau.
Je pilote le projet avec des agents de code : je définis l'architecture, les contrats et l'instrumentation des chemins critiques, j'arbitre les choix, puis je valide le résultat par les tests et la mesure. Le filet de sécurité actuel repose sur 1 818 tests Python verts.
Une décision mesurée
Pour améliorer le rappel, j'ai comparé BM25, MiniLM, Qwen3 Embedding et deux modèles de reclassement sur 32 documents et 16 requêtes issus de données réelles. Avec BGE Reranker, la précision au premier rang progresse d'environ +0,3 par rapport aux configurations sans reclassement. Ce petit jeu maison guide Evelynn ; il ne constitue pas un benchmark universel.
Au cœur d'Evelynn, neuf composants spécialisés forment une seule mémoire. L'information reste sourcée, révisable et filtrée selon sa visibilité.
Les conversations persistées gardent leur source ; Twitch reste éphémère.
Un fait peut se renforcer, être révisé ou s'effacer.
Une session devient une trace datée, résumée et contextualisée.
Les relations forment un graphe dont la confiance évolue.
Les échanges peuvent produire des règles comportementales pondérées.
Les tendances évoluent dans le temps ; leur visibilité reste verrouillée.
Le contexte chaud suit son propre cycle de vie, puis expire.
Les alias connus sont réunis ; les rapprochements incertains restent à confirmer.
Le backend hybride fusionne BM25 et embeddings, puis peut reclasser les candidats.
État actuel
Evelynn est une alpha locale fonctionnelle. Le texte est diffusé en streaming et la voix est synthétisée par phrase, mais la latence du premier audio reste le chantier principal. Il reste à éprouver davantage la consolidation de la mémoire, à valider le module de vision en conditions réelles et à renforcer les tests du frontend.
Cinq projets, à des stades différents, explorent des besoins concrets : faire fonctionner un LLM local, livrer une application de données de bout en bout, retrouver une information reformulée, transformer une longue vidéo en clips et transmettre la voix en temps réel.
Un banc local relie un moteur simulé, Ollama et vLLM à une API suivie par Prometheus et Grafana. En parallèle, un VPS auto-hébergé couvre HTTPS, Docker, Gitea, DNS, messagerie et supervision. vLLM a été validé sur GPU.
Voir le dépôtUne application Java 21 importe en streaming un jeu de données cinéma dans MySQL via JPA/Hibernate, avec déduplication des référentiels. Le dépôt couvre toute la chaîne : modèles UML et physique, tests JUnit, CI GitHub Actions, Javadoc publiée et exécution avec Docker Compose.
Voir le dépôtUn composant extrait d'Evelynn qui retrouve les termes exacts et les idées reformulées en combinant SQLite FTS5/BM25 et recherche vectorielle, puis fusionne leurs classements par RRF. Il revient au mode lexical si le moteur sémantique échoue. La suite locale compte 32 tests.
Voir le dépôtUn pipeline local ingère et transcrit une VOD, distingue les intervenants, puis produit des clips horizontaux et verticaux. Détection, classement et rendu sont indépendants. Sur 52 minutes, 12 clips ont été générés, mais le classement ne trouve pas encore fiablement les meilleurs moments.
Voir le socle publicUn projet d'apprentissage guidé en Java 21 qui capture le microphone, découpe l'audio en trames, le compresse en µ-law (G.711), le sérialise dans un protocole binaire inspiré de RTP puis le transporte par TCP entre deux processus. Des tests JUnit couvrent codec, paquets et transport.
Voir le dépôtUn pipeline de captation et de reconstruction transforme des lieux réels en scènes 3D explorables directement dans le navigateur. Deux prototypes sont présentés ici. Hyperlens étudie l'étape suivante : intégrer ou remplacer des objets de marque après la captation. Le démonstrateur de sponsoring reste à produire.
La scène 3D est désactivée ici pour préserver la fluidité.
Ouvrir la scène 1La scène 3D est désactivée ici pour préserver la fluidité.
Ouvrir la scène 2Clique puis déplace-toi dans chaque scène.
Je travaille avec des agents de code et j'assume cette méthode. Ma responsabilité porte sur la formulation du problème, l'architecture, les contrats, les arbitrages, l'intégration et la validation. Une réponse générée n'est pas une preuve : un test, une mesure ou un comportement observable en est une.
Mon parcours combine un BTS SIO, une formation de concepteur développeur d'applications chez Diginamic, un parcours entrepreneurial avec Pépite LR et une pratique quotidienne des outils d'IA depuis 2022. Anglais C1.
Garder le fil
Ma capacité de mémoire de travail est réduite : maintenir plusieurs informations, les mettre en forme puis les retrouver me demande un effort important. Cette contrainte nourrit directement mes projets. Evelynn construit une mémoire persistante qui trie, relie et rappelle l'information ; mes méthodes de conception, de test et de documentation rendent le contexte, les étapes et les décisions faciles à reprendre.
Je veux construire des systèmes capables de conserver un contexte, d'agir avec continuité et de rester compréhensibles quand ils grandissent.
Une méthode encore en construction
Je maîtrise mieux l'intention, les contraintes et l'architecture globale de mes projets que chaque détail de leur implémentation. Avec des agents de code, la production peut parfois avancer plus vite que mon appropriation : un code lisible, documenté et vert localement peut encore révéler des bugs d'intégration ou de mauvaises hypothèses en conditions réelles.
Je n'ai pas encore trouvé la bonne méthode, alors je l'affine par itérations : changements plus petits, sources de vérité plus courtes, tests aux frontières, instrumentation et scénarios réels. Chaque projet me sert à mieux relier l'idée, le code et le comportement observé du système, sans accumuler du processus pour lui-même.