08 チャットと Langfuse
アプリ内 AI チャットを動かし、そのトレース、トークン、レイテンシ、コストを Langfuse で検証します。
成果
約 15分 で、アプリがデータに関する質問に答え、Langfuse がモデル呼び出しの完全なトレースを
表示するようになります。モジュール 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 backendhealthy であることを確認します。
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
ps backendステップ 2 — テストできる質問を1つする
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 のトレースを見つける
モジュール 00 で作成した Langfuse のプロジェクトを開き、最新の chat トレースを選びます。
タイムスタンプまたは入力テキストで、自分の質問と対応づけてください。
次のフィールドを確認します。
- 入力した質問と生成された出力
- モデルとレイテンシ
- 入力/出力のトークン数とコスト
- セッションまたは会話の ID

トレースが表示されない場合は、まずバックエンドのログを確認します。
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
logs --tail=100 backendよくある原因は、プロジェクトのリージョンと一致していない LANGFUSE_BASE_URL です。
ステップ 4 — 会話のグループ化を確認する
同じチャットで追加の質問を1つします。
For those zones, compare average fare and average tip.Langfuse では、同じ会話/セッションの下に2つ目のトレース済みのやり取りが表示されるはずです。
完了チェック
- チャットが根拠のある回答と、目に見える SQL を返す。
- 両方のやり取りが Langfuse に表示される。
- モデル、レイテンシ、トークン、コストを読み取れる。
- 両方のやり取りが同じ会話/セッションを共有している。
09 まとめ に進んでください。