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.
L'ensemble des articles publiés, du plus récent au plus ancien.
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.
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.
Un serveur Model Context Protocol fonctionnel en moins de 100 lignes de PHP natif. JSON-RPC, transport stdio, un tool exposé. De quoi comprendre la mécanique sans librairie.
Un wrapper PHP minimaliste pour logger chaque appel LLM (prompt, réponse, tokens, latence, coût) dans une table SQL. Compatible PSR-3, lisible, debuggable.
Comment tester du code qui appelle un LLM sans payer des tokens à chaque run ni dépendre d'une réponse non déterministe. Doublures, golden tests, et ce qu'on teste vraiment.
Mettre les appels LLM dans une queue Symfony Messenger pour découpler l'API utilisateur des temps de réponse imprévisibles. Setup minimal et patterns testés en production.
Obtenir du JSON structuré et valide d'un LLM de façon fiable : schéma dans le prompt, validation stricte, retry ciblé. Le pattern qui tient en prod.
Streamer les tokens d'un LLM vers le navigateur en Server-Sent Events, sans framework ni librairie. Le pattern, les pièges de buffering, et le code complet.