Aller au contenu principal

Votre premier stage LLM

Intermédiaire ⏱ 12 min llm · ia · anthropic · ollama

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.

webhook → rule-based:triage → llm:reason → (topic de sortie)

Prérequis

  • Un provider de modèle — au choix : une ANTHROPIC_API_KEY dans votre environnement, ou un Ollama local pour une inférence entièrement on-prem.
Contrainte honnête

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.

Ensuite