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: 大きなペイロードと生のイベントデータを保存します。
機能
オブザーバビリティ
Observability は、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 を通じて、サーバーサイドでは SDK または API を通じて取得できます。動画にはサンプルアプリケーションが含まれています。
本番または開発環境のトレースに対して、フルマネージドの LLM-as-a-judge 評価を実行します。アプリケーション内の任意のステップに適用できるため、ステップごとの評価が可能です。
ユーザーインターフェース上で、データセットに対するプロンプトとモデルの評価を直接実行できます。カスタムコードは不要です。
Annotation Queues を介した人手アノテーションにより、評価ワークフローのベースラインを構築します。
カスタム評価結果を追加できます。数値、真偽値、カテゴリ値をサポートします。
Python または JS SDK を使ってスコアを追加します。
クイックスタート
数分で Langfuse を使い始められます。現在のニーズに最も適した方法を選択してください: