00 Setup
Workshop source
Workshop material is maintained in the public langfuse/langfuse-workshop repository. Use the repository for the runnable app, checkpoint branches, and local setup.
Learner guide: 00 Setup
Instructor notes
- Use
checkpoint/00-setupas the stable base-app checkout. It should be equivalent tocheckpoint/01-base-app, not the complete reference app. maincontains the complete reference implementation, but learners should use the checkpoint so setup and base-app orientation share the same starting state.- Make learners confirm both local services: Vite on
127.0.0.1:3333, and the Express API on127.0.0.1:8787/api/healthor127.0.0.1:8787/api/support-context. - Emphasize the EU Langfuse host value:
LANGFUSE_BASE_URL=https://cloud.langfuse.com. - The Node server and helper scripts load the repository
.envwith override enabled, so stale exportedLANGFUSE_*,OPENAI_*, orDATASET_NAMEvalues from another local project should not win. Have learners edit.envwhen they need to switch keys or projects. - Do not frontload Project Settings → LLM Connections here. Learners configure the default evaluator model in
04-monitoring, when LLM-as-a-judge evaluators first become relevant. - Keep key handling explicit: real API keys go only into
.envor Langfuse secret fields, never into shared transcripts, notes, or chat. - After one successful chat turn, have learners switch to
checkpoint/02-tracingfor the first build step.
Watch for
- Missing
.envvalues. The app may render while model calls fail. - Node older than
^20.19.0 || >=22.12.0. Worth anode -vcheck in the room before anyone runsnpm install, because npm skips Vite's optional native binary silently and the failure only surfaces later insidenpm run dev. Learners who upgrade afterwards neednpm ci, not just a restart. - People checking
127.0.0.1:8787/in dev. The API server runs on that port, but the browser app is served by Vite on127.0.0.1:3333, so use an API route for the server check. It also hides a crashed Vite:concurrentlykeeps the API server up, and8787/answers withENOENT ... dist/index.html. - Learners editing shell exports instead of
.env. The workshop intentionally treats.envas the Node-side source of truth. - People expecting evaluator setup during initial setup. The app can run and trace correctly before the Langfuse-side LLM connection exists.
- People expecting traces on
checkpoint/00-setuporcheckpoint/01-base-app. Both are intentionally untraced; tracing starts only after the02-tracingedits. - People staying on
mainfor tracing.mainis already the finished reference implementation.
Was this page helpful?