Tutoriel

Agent async multi-outils

Exécuter plusieurs tool calls Python en parallèle avec asyncio.gather() : handlers async, gestion des exceptions par coroutine, et pourquoi le client API doit lui aussi devenir async.

Tutoriel

Mémoire multi-tour en Python

Persister l'historique d'une conversation multi-tour et gérer sa croissance : fenêtre glissante, résumé périodique, et l'impact sur le cache de contexte.

Tutoriel

Tester un agent IA en Python

Séparer ce qui est testable de ce qui ne l'est pas dans un agent : tools purs en unitaire, boucle multi-tours avec un client factice, jamais d'appel API réel en CI.

Tutoriel

Exposer une vraie DB via MCP

Après le serveur minimal et les principes de sécurité, le dernier maillon du parcours MCP : brancher un tool sur une vraie base MySQL sans transformer le LLM en accès SQL arbitraire.

Tutoriel

Agent IA minimal en Python

Coder la boucle d'un agent IA en Python sans framework : dataclasses pour les tools, dispatch, appels à l'API Claude, garde-fous contre eval() et les boucles infinies. Code complet et exécutable.

Tutoriel

QLoRA en pratique

Finetuner un modèle 7B en QLoRA sur un seul GPU grand public : quantification 4 bits, configuration de l'adapter LoRA, entraînement avec trl, fusion et test — code Python complet, du chargement du modèle à l'inférence.

Tutoriel

Claude Code en pratique

Claude Code est un agent IA en ligne de commande qui lit, édite et exécute du code directement dans le terminal. Ce que ça change concrètement au quotidien, et où ça bute encore.

Tutoriel

Embeddings sans vector DB

Pinecone ou Qdrant pour 5 000 documents, c'est de l'over-engineering. Stocker les vecteurs en MySQL et faire la similarité cosinus en SQL ou PHP : quand ça suffit, et le code.

Tutoriel

Rate limiting d'une API LLM

Rester sous les quotas d'un provider LLM sans tout casser : token bucket en PHP, gestion du 429, et la différence entre limite de requêtes et limite de tokens.