LLMOps in a Box Workshop¶
Repository overview · Start workshop · Instructor guide · Docker validation
This English-only workshop is a self-guided tour of the AI engineering quality loop on open-source, self-hosted Langfuse v4. You will generate real model traffic, inspect traces, manage prompts, turn failures into a dataset, run repeatable experiments, add automated and human scores, and query the resulting quality signals directly in ClickHouse.
The course uses a fictional Acme Cloud Support Assistant. No proprietary customer data is required.
The quality loop¶
Observe production-like traffic
│
▼
Find a failure ──► version a prompt ──► build a golden dataset
▲ │
│ ▼
human review ◄── automated scores ◄── run an experiment
│ │
└──────────── compare, decide, deploy ◄────┘
All traces, generations, and scores are available for ClickHouse analysis.
Course map¶
| Module | Topic | Primary surface | Time | Outcome |
|---|---|---|---|---|
| 00 | Setup and LLM connection | Terminal + Langfuse UI | 15–25 min | Healthy stack and auto model connection |
| 01 | Tracing and observability | LibreChat + Langfuse UI | 15 min | Read a generation end to end |
| 02 | Prompt management | Langfuse UI | 15 min | Versioned chat prompt with a deployment label |
| 03 | Monitoring and deterministic scores | Langfuse UI | 15–20 min | Live evaluator and score-based filtering |
| 04 | Golden datasets | Langfuse UI | 15 min | Curated support dataset with expected outputs |
| 05 | Prompt experiments | Langfuse UI | 15–25 min | Baseline experiment with per-item scores |
| 06 | Evaluate a change | Langfuse UI | 15 min | Side-by-side evidence for a prompt decision |
| 07 | Human review and LLM-as-a-Judge | Langfuse UI | 20–30 min | Calibrated human and optional semantic scores |
| 08 | ClickHouse quality analytics | SQL | 15–20 min | Cross-cutting trace and score analysis |
| 09 | Production design and cleanup | Discussion + terminal | 10 min | An adoption plan and clean shutdown |
The core path takes about two hours. Modules can also be used independently after module 00.
Maintainers and instructors can use the Docker Validation Report as a reproducible pre-delivery runbook. It records the four-way deployment matrix, live model and evaluator checks, ClickHouse evidence, known validation boundaries, and customer-session sign-off checklist.
UI-first, with reproducible assets¶
The learner performs most work directly in Langfuse and LibreChat. The repository includes small assets for steps that are easier to reproduce than to retype:
assets/acme-support-dataset.csv— importable golden datasetassets/all-caps-signal.ts— live deterministic monitorassets/keyword-recall.ts— experiment evaluatorsql/quality-loop.sql— ClickHouse analysis workbook
These are not opaque setup scripts. Each module explains what the asset does and asks you to inspect the result in the UI.
Open-source scope¶
The workshop intentionally uses the open-source self-hosted product:
- tracing and token/cost metadata
- prompt versioning, labels, Playground, and prompt experiments
- datasets and experiment comparison
- scores, TypeScript code evaluators, LLM-as-a-Judge, and annotation queues
- dashboards and direct ClickHouse access
The local Compose stack enables Langfuse's insecure-local code-evaluator dispatcher. It executes evaluator code inside the Langfuse worker and is appropriate only for a trusted laptop workshop. It is not a security sandbox and is not the recommended production execution model.
Model-path expectations¶
The model alias is always auto, but there is no fallback:
- Anthropic setup:
auto → sonnet - Local setup:
auto → the Ollama model selected during setup
Basic Playground and prompt experiments work on either path. LLM-as-a-Judge requires reliable structured tool calling. Anthropic Sonnet is the recommended judge path; small local models may not satisfy that contract. The deterministic evaluator and human-review modules work without a judge model.
Workshop completion evidence¶
Keep a simple evidence log as you work. At the end you should have:
- A trace or generation showing input, output, model, latency, and usage.
- At least two versions of
workshop/acme-support-agent. - A
productionlabel pointing to the version you chose. - A
workshop/acme-support-goldendataset. - Two comparable experiment runs.
- At least one automated score and one human score.
- One ClickHouse query result that combines traces or observations with scores.
- A written ship/no-ship decision based on evidence.
Source material¶
This course adapts the structure of the official Langfuse workshop and the repository-local clickhouse-hols/usecase/langfuse-eval quality-loop lab. The implementation is tailored to this stack: LibreChat produces traffic, LiteLLM provides one OpenAI-compatible auto route, Langfuse is OSS/self-hosted, and ClickHouse can be local or Cloud.
Continue to 00 — Setup.