LLMock : Serveur de simulation basé sur HTTP pour des tests déterministes de LLM entre processus

✍️ OpenClawRadar📅 Publié: March 14, 2026🔗 Source
LLMock : Serveur de simulation basé sur HTTP pour des tests déterministes de LLM entre processus
Ad

LLMock est un serveur de simulation qui intercepte les appels d'API LLM en s'exécutant comme un véritable serveur HTTP sur un port spécifié, permettant des tests déterministes sur plusieurs processus sans solliciter les API payantes.

Ad

Détails clés

L'outil a été découvert après qu'un développeur ait dépensé 12 $ en exécutant des tests Playwright sur les véritables API OpenAI. Le problème est survenu lors de l'utilisation de MSW (Mock Service Worker), qui modifie le module HTTP à l'intérieur du processus Node.js qui appelle server.listen(), mais laisse les processus séparés (comme un agent Python) complètement aveugles à la simulation.

Avec LLMock, vous pointez la variable d'environnement OPENAI_BASE_URL vers le serveur de simulation depuis chaque processus, qu'il s'agisse de Node.js, Python ou tout autre langage :

const mock = new LLMock({ port: 5555 });
await mock.start();
process.env.OPENAI_BASE_URL = "http://localhost:5555/v1";

Les fixtures sont de simples fichiers JSON qui correspondent à des sous-chaînes de messages utilisateur ou à des motifs regex, éliminant le code passe-partout des gestionnaires :

{
  "fixtures": [
    {
      "match": { "userMessage": "stock price of AAPL" },
      "response": { "content": "The current stock price of Apple Inc. (AAPL) is $150.25." }
    }
  ]
}

Fonctionnalités clés de la source :

  • Utilise correctement le format SSE réel d'OpenAI/Claude/Gemini (se tromper sur les types d'événements perturbe subtilement le streaming)
  • Prise en charge complète des appels d'outils - les frameworks d'agents les exécutent normalement
  • Routage par prédicat pour inspecter l'état de l'invite système ou l'historique des messages pour les flux multi-agents
  • Journal des requêtes pour vérifier ce qui a réellement été appelé, pas seulement si le test a réussi
  • Zéro dépendance

Le développeur a fini avec 9 appels LLM sur 3 tests Playwright, coûtant 0 $ et produisant des résultats déterministes à chaque exécution.

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also