Votre premier stage LLM
Vous allez construire : un pipeline où des stages déterministes bon marché filtrent le flux et où un modèle ne raisonne que sur ce qui reste — la façon économiquement saine de mettre un LLM sur des événements.
Prérequis
- Un provider de modèle — au choix : une
ANTHROPIC_API_KEYdans votre environnement, ou un Ollama local pour une inférence entièrement on-prem.
Sans provider, le stage llm se déclare unhealthy — visiblement, par conception. Un stage cassé n'est jamais invisible.
1 · Générez règle → llm
pulse new oncall --source webhook --stage rule-based:triage --stage llm:reason
2 · Filtrez le flux avant le modèle
stages:
- name: triage
engine: rule-based
rules:
- { condition: "severity == 'error'", action: flag }
C'est le pattern qui garde les pipelines LLM abordables : le modèle ne voit que les événements que les règles n'ont pas su trancher. Le bruit de niveau info ne coûte jamais un token.
3 · Écrivez le prompt
- name: reason
engine: llm
systemPrompt: |
Tu reçois un événement d'erreur de production en JSON.
Classe sa cause probable en un mot
(code | infra | config | unknown) et rédige un
résumé d'une ligne pour l'ingénieur d'astreinte.
4 · Donnez-lui un provider et déployez
export ANTHROPIC_API_KEY=sk-ant-… # ou configurez Ollama
pulse secret set PULSE_WEBHOOK_SECRET dev-secret # la source webhook générée l'exige
pulse deploy .
5 · Envoyez une erreur et lisez le raisonnement
pulse events publish --topic oncall.in --value '{"severity":"error","msg":"OOMKilled in payments pod"}'
pulse events tail --topic oncall.reason.out
La réponse structurée du modèle arrive comme un événement — classification + résumé — prête pour le stage suivant ou un sink.
Ce qui vient de se passer
Le LLM est un stage, pas l'architecture. Il consomme un topic, émet vers un topic, et tout ce qui l'entoure — filtrage avant, routage après, retries, observabilité — est la même machinerie que pour tous les autres stages. Remplacer Anthropic par un Ollama local est un changement de config, pas une réécriture ; avec Ollama, les données d'événements ne quittent jamais votre machine.
Dépannage
Le stage s'affiche unhealthy
Aucun provider n'est joignable. Vérifiez que la clé est exportée dans l'environnement où tourne Pulse, ou qu'Ollama est démarré. Le stage reste visiblement unhealthy plutôt que de laisser passer les événements en silence — c'est voulu.
Rien n'atteint le stage llm
Votre règle de triage a tout filtré. Envoyez un événement qui matche (severity == 'error') ou assouplissez la règle.