batchCooking/services/tech-step-llm-worker/.env.example
Nicolas 53d415fddb feat(tech-steps): fiabilise la detection des tech steps (corpus + LLM + corrections utilisateur)
Une seule feature livree en une seule PR, en 5 phases :

- Phase 1 : enrichit le corpus NLP (tech-step-training-data.ts) et ajoute
  un harness d'evaluation (precision/rappel/F1) avec un jeu de test etiquete
  - la premiere metrique objective de qualite pour ce classifieur.
- Phase 2 : schema Prisma (StepTechStepCorrection, TechStepTrainingSuggestion)
  + endpoints utilisateur (POST/GET corrections, ouverts a tout viewer, pas
  seulement l'auteur) + endpoints internes /internal/tech-steps/* proteges
  par secret partage (requireInternalWorker).
- Phase 3 : UI de highlight/correction cote web (selection de texte ->
  association a une technique, ou clic sur un highlight existant pour le
  corriger/supprimer) - verifiee via Cypress (component + e2e, en Chrome
  reel).
- Phase 4 : worker LLM autonome (services/tech-step-llm-worker, hors du
  monorepo pnpm comme experiments/llm-tech-step-poc) qui audite les clauses
  a faible confiance et transforme les corrections utilisateur en
  suggestions d'entrainement, sans jamais toucher le chemin interactif.
- Phase 5 : script retrain-tech-steps.ts (gate de regression F1 + backfill)
  et list-pending-training-suggestions.ts pour la revue humaine avant
  application au corpus.

Verification effectuee cette session : tsc/biome sur l'ensemble du repo,
build complet (pnpm build), suite Cypress complete (component 39/39, e2e
75/76 - le seul echec est preexistant et sans rapport, cote
recipe-form.feature/ingredient-picker), tests unitaires du worker (6/6) et
son install/typecheck reels contre node-llama-cpp. Les tests Mocha
d'apps/api (Phases 1 et 2) n'ont pas pu etre executes dans cette session
(pas de Postgres local disponible) - a lancer avant merge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-22 09:48:02 +02:00

18 lines
827 B
Text

# Only needed running this worker outside docker-compose.yml (which sets
# API_BASE_URL/INTERNAL_WORKER_SECRET itself — see the root .env.example).
# Required, no default — must match apps/api's own INTERNAL_WORKER_SECRET
# (apps/api/.env / apps/api/.env.example).
INTERNAL_WORKER_SECRET=changeme-generate-a-real-random-secret-at-least-32-chars
# Defaults to the "app" service's compose hostname — override for a
# native `pnpm dev:api` API running on localhost instead.
# API_BASE_URL=http://localhost:3000
# Optional — see src/config.ts for every other variable and its default.
# TECH_STEP_WORKER_CRON=0 3 * * 0
# TECH_STEP_LLM_MODEL_URI=hf:Qwen/Qwen2.5-1.5B-Instruct-GGUF:Q4_K_M
# Set to run both jobs once and exit, instead of starting the cron loop —
# useful for a manual/CI-triggered run.
# RUN_ONCE=true