08 聊天与 Langfuse
运行应用内 AI 聊天,并在 Langfuse 中验证它的 trace、token 数、延迟和成本。
macOS terminal: Run workshop commands in Terminal using zsh or bash.
成果
在约 15 分钟 内,应用会回答一个数据问题,而 Langfuse 会展示完整的模型 trace。
只有在模块 07 已恢复、并且 git branch --show-current 返回 build-workshop-v1 之后
再开始。
第 1 步:验证密钥
确认 workshops/build_workshop/app/.env.workshop 中这些字段都已填写。
Langfuse 的 URL 必须与你项目所在的区域一致。
OPENAI_API_KEY=sk-...
LLM_MODEL=<model from the template>
LLM_BASE_URL=https://api.openai.com/v1
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_BASE_URL=https://us.cloud.langfuse.com只重启已埋点的后端:
cd "$(git rev-parse --show-toplevel)/workshops/build_workshop/app"
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build backend验证它是健康的:
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
ps backend第 2 步:提一个可验证的问题
打开 localhost:8080,选择 Ask AI,然后输入:
What are the top 10 pickup zones by trip count in July 2022?
Show the SQL and the result.预期结果:一段答案、一个结果表格或图表,以及一个 Show SQL 控件。在相信这个答案之前,
先阅读生成的 SQL,确认它查询的是 nyc_tlc_data。

第 3 步:找到对应的 Langfuse trace
打开你在模块 00 中创建的 Langfuse 项目,选择最新的 chat trace。通过时间戳或输入文本把它
与你的问题对上。
验证以下字段:
- 输入的问题和生成的输出;
- 模型和延迟;
- 输入/输出 token 数和成本;以及
- session 或 conversation ID。

如果没有出现 trace,先检查后端日志:
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
logs --tail=100 backend常见原因是 LANGFUSE_BASE_URL 与项目所在区域不匹配。
第 4 步:验证会话分组
在同一个聊天中追问一个后续问题:
For those zones, compare average fare and average tip.Langfuse 应该在同一个 conversation/session 下显示第二个被追踪的轮次。
完成检查
- 聊天返回了一个有据可依的答案,并可见 SQL。
- 两个轮次都出现在 Langfuse 中。
- 你能读到模型、延迟、token 数和成本。
- 两个轮次共享同一个 conversation/session。
继续前往 09 收尾。