Langfuse
Langfuse とは何ですか?
Langfuse は、チームが協力して LLM アプリケーションをデバッグ、分析、および反復的に改善できるようにする、オープンソースの LLM エンジニアリングプラットフォームです。ClickHouse エコシステムの一部であり、その中核として ClickHouse に依存することで、スケーラブルで高性能なオブザーバビリティ向けバックエンドを提供します。
ClickHouse の列指向ストレージと高速な分析機能を活用することで、Langfuse は数十億件規模のトレースやイベントを低レイテンシで処理でき、高スループットな本番ワークロードにも適しています。
なぜ Langfuse なのか?
- オープンソース: カスタム連携用の公開 API を備えた完全にオープンソース
- 本番環境向けに最適化: パフォーマンスのオーバーヘッドを最小限に抑えるように設計
- 最高クラスの SDKS: Python と JavaScript 向けのネイティブな SDK
- フレームワーク対応: OpenAI SDK、LangChain、LlamaIndex などの主要フレームワークと統合
- マルチモーダル: テキストや画像など、さまざまなモダリティのトレースをサポート
- フルプラットフォーム: LLM アプリケーション開発ライフサイクル全体をカバーするツール群
デプロイメントオプション
Langfuse は、さまざまなセキュリティおよびインフラストラクチャ要件に対応する柔軟なデプロイメントオプションを提供します。
Langfuse Cloud は、最適なパフォーマンスのためにマネージドな ClickHouse クラスターによって動作するフルマネージドサービスです。SOC 2 Type II および ISO 27001 の認証を取得しており、GDPR に準拠し、米国 (AWS us-west-2) と EU (AWS eu-west-1) のデータリージョンで利用可能です。
セルフホスト 版 Langfuse は完全なオープンソース (MIT ライセンス) であり、Docker または Kubernetes を使用して自前のインフラストラクチャ上に無料でデプロイできます。オブザーバビリティデータを保存するために、自分で ClickHouse インスタンスを運用する(または ClickHouse Cloud を使用する)ことで、データを完全に管理できます。
アーキテクチャ
Langfuse はオープンソースコンポーネントのみに依存しており、ローカル環境、クラウドインフラストラクチャ、オンプレミス環境のいずれにもデプロイできます。
- ClickHouse: 大量のオブザーバビリティデータ(トレース、スパン、ジェネレーション、スコア)を保存します。ダッシュボード向けの高速な集計と分析を可能にします。
- Postgres: ユーザーアカウント、プロジェクト設定、プロンプト定義などのトランザクションデータを保存します。
- Redis: イベントのキュー処理とキャッシュを担います。
- S3/Blob Storage: 大きなペイロードと生のイベントデータを保存します。
機能
オブザーバビリティ
オブザーバビリティ は、LLM アプリケーションを理解・デバッグするうえで不可欠です。従来のソフトウェアとは異なり、LLM アプリケーションは複雑で非決定的なやり取りを伴うため、監視やデバッグが難しい場合があります。Langfuse は包括的なトレース機能を提供し、アプリケーション内で何が起きているかを正確に把握できるようにします。
📹 さらに詳しく知りたい場合は、Langfuse Observability とアプリケーションへの統合方法についての エンドツーエンドのウォークスルーを視聴 してください。
- Trace Details
- Sessions
- Timeline
- Users
- Agent Graphs
- Dashboard
トレースにより、アプリ内のすべての LLM 呼び出しおよび関連するロジックを追跡できます。
セッションにより、複数ステップの会話やエージェントベースのワークフローを追跡できます。
タイムラインビューを確認してレイテンシの問題をデバッグします。
各ユーザーのコストと使用状況を監視するために userId を追加します。必要に応じて、システム内からこのビューへのディープリンクを作成できます。
LLM エージェントは、複雑なエージェントワークフローのフローを表すグラフとして可視化できます。
ダッシュボードで品質・コスト・レイテンシのメトリクスを確認し、LLM アプリケーションを監視します。
プロンプト管理
プロンプト管理 は、効果的な LLM アプリケーションを構築するうえで極めて重要です。Langfuse は、開発ライフサイクル全体を通じてプロンプトを管理・バージョン管理・最適化するためのツールを提供します。
📹 さらに詳しく知りたい場合は、Langfuse の Prompt Management とそれをアプリケーションに統合する方法について解説した エンドツーエンドのウォークスルー動画をご覧ください。
- 作成
- バージョン管理
- デプロイ
- メトリクス
- Playground でテスト
- トレースとリンク
- 変更の追跡
UI、SDKs、または API を使用して新しいプロンプトを作成します。
UI、API、または SDKs を通じて、プロンプトを共同でバージョン管理および編集します。
コードを一切変更することなく、ラベルを使ってプロンプトを本番環境または任意の環境にデプロイします。
プロンプトの異なるバージョン間で、レイテンシ、コスト、および評価メトリクスを比較します。
Playground ですぐにプロンプトをテストできます。
プロンプトをトレースと関連付け、LLM アプリケーションのコンテキストでどのように動作するかを把握します。
プロンプトへの変更を追跡し、時間の経過とともにどのように進化しているかを確認します。
評価とデータセット
Evaluation は、LLM アプリケーションの品質と信頼性を確保するうえで不可欠です。Langfuse は、開発環境でのテストでも本番環境でのパフォーマンス監視でも、ニーズに応じて柔軟に適応できる評価ツールを提供します。
📹 さらに詳しく知りたい方は、Langfuse Evaluation の エンドツーエンドのウォークスルー動画 をご覧いただき、LLM アプリケーションの改善方法を学んでください。
- Analytics
- User Feedback
- LLM-as-a-Judge
- Experiments
- Annotation Queue
- Custom Evals
Langfuse Dashboard で評価結果を可視化できます。
ユーザーからのフィードバックを収集します。フロントエンドでは Browser SDK を、サーバーサイドでは SDKs または API を通じて取得できます。動画ではサンプルアプリケーションを用いた例を紹介します。
本番または開発環境のトレースに対して、フルマネージドな LLM-as-a-judge 評価を実行します。アプリケーション内の任意のステップに適用でき、ステップ単位の評価が可能です。
データセット上でプロンプトとモデルを評価し、ユーザーインターフェースから直接操作できます。カスタムコードは不要です。
Annotation Queues を使った人手アノテーションにより、評価ワークフローのベースラインを定義します。
カスタム評価結果を追加できます。数値、真偽値、カテゴリ値をサポートします。
Python または JS SDK 経由でスコアを追加します。
クイックスタート
数分で Langfuse を使い始められます。現在のニーズに最も適した方法を選択してください: