最近、LLM アプリケーションの開発で注目を集めているのが Dify と Langfuse の組み合わせです。
Dify は「ノーコード/ローコードで LLM アプリを構築できるプラットフォーム」、Langfuse は「LLMOpsを実現するLLMエンジニアリングプラットフォーム」であり、両者ともOSSで気軽に始めることができることが大きな特徴です。
この 2 つを連携させることで、
- LLM ワークフローのブラックボックスを可視化
- プロンプトのバージョン管理・改善を効率化
といった開発・運用の課題を大きく改善できます。
この記事では、これまで公開されてきた解説記事(全4本)を整理して「Dify × Langfuse 活用の全体像」をまとめました。
1. Langfuse での可視化(Dify編・前半)
Dify で構築した LLM ワークフロー(ファイルアップロード → テキスト抽出 → 翻訳 → レビュー → Markdown 変換)を Langfuse の Trace で可視化。
-
主なポイント
- API キーを設定するだけで簡単に Trace が取得可能
- Trace = 全体、Observations = 各処理ステップ、Generations = LLM 実行として表示
- Input/Output、トークン数、コスト、タイムラインを UI 上で確認可能
- デバッグに有効(例:document-extractor の出力チェック)
2. Langfuse での可視化(Dify編・後半)
前半に続き、RAG(Retrieval-Augmented Generation)を含むワークフローを Trace で可視化。
-
主なポイント
- ユーザー入力 → 知識検索 → テンプレート処理 → LLM 回答 → 出力
- Jina Reader でクロール、日本語クエリで検索、Embedding・Rerank を利用
- "Knowledge-retrieval" ステップでスコア付き参照ドキュメントを確認可能
- テンプレートや Metadata(Title など)も Trace に可視化
3. Dify のプロンプト管理を改善する Langfuse プラグイン
Langfuse のプロンプト管理(バージョン管理・変更履歴・比較)を Dify から利用できるカスタムプラグインの紹介。
-
主な機能
- Get Prompt:Langfuse からプロンプトを取得
- Search Prompts:条件に応じたプロンプト検索
-
Update Prompt:新バージョンとして更新
-
利点
- ワークフローからプロンプトを切り離し、管理をシンプル化
- プロンプト改善の高速なイテレーションが可能に
- GitHub で OSS 公開されており、拡張性あり
4. プラグイン v0.0.2 アップデート
「Get Prompt」ツールで変数を動的に置換できる機能を追加。
-
主な改善
-
{{variable_name}}
を JSON 形式で指定 → 自動で置換 - 出力に置換後のテキスト(processed_prompt)や元プロンプトを含める仕様に変更
-
-
メリット
- プロンプトをテンプレート化して再利用性・柔軟性を向上
- 実運用でのカスタマイズ性が大幅にアップ
まとめ
Dify と Langfuse を組み合わせることで、ブラックボックスの解消(可視化)、**効率的なプロンプト管理(改善・バージョン管理)という 大きなメリットが得られます。特にプラグインはOSSですぐに利用可能ですので、ぜひ試してみてください!