メインコンテンツへスキップ
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

Langfuseとは

Langfuseは、チームがアプリケーションのデバッグ、分析、反復作業を協力して行うことができる、オープンソースの大規模言語モデル(LLM)エンジニアリングプラットフォームです。
Langfuseの紹介: https://langfuse.com/

Langfuseの設定方法

  1. 公式ウェブサイトでLangfuseに登録し、ログインします。
  2. Langfuseでプロジェクトを作成します。ログイン後、ホームページで新規をクリックして自身のプロジェクトを作成します。このプロジェクトは、Difyのアプリケーションと関連付けてデータを監視するために使用されます。
プロジェクトの名前を編集してください。 Create a project in Langfuse
  1. プロジェクトAPI資格情報を作成します。プロジェクトの左サイドバーで設定をクリックし、設定を開きます。
Create project API credentials 設定でAPIキーを作成をクリックして、プロジェクトのAPI資格情報を作成します。 Create project API credentials シークレットキーパブリックキーホストをコピーして保存します。 Get API Key configuration
  1. DifyでLangfuseを設定します。監視が必要なアプリケーションを開き、サイドメニューでモニタリングを開き、ページ上でアプリパフォーマンスのトレースを選択します。
Configure Langfuse 設定をクリックした後、Langfuseで作成したシークレットキー、パブリックキー、ホストを構成に貼り付けて保存します。 Configure Langfuse 正常に保存されると、現在のページで状態を確認できます。開始と表示されている場合、監視が行われています。 View configuration status

Langfuseでの監視データの閲覧

設定後、DifyのアプリケーションのデバッグまたはプロダクションデータをLangfuseで見ることができます。

監視データの一覧

ワークフローとチャットフローの情報をトレースする

ワークフローとチャットフローのトレース
ワークフローLangFuse Trace
workflow_app_log_id/workflow_run_idid
user_session_iduser_id
workflow_name
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
モデルトークン消費量usage
元データmetadata
errorlevel
errorstatus_message
[workflow]tags
[“message”, conversation_mode]session_id
conversion_idparent_observation_id
ワークフロートレース情報
  • workflow_id - ワークフローのユニークID
  • conversation_id - 会話ID
  • workflow_run_id - このランタイムのワークフローID
  • tenant_id - テナントID
  • elapsed_time - このランタイムの経過時間
  • status - ランタイムのステータス
  • version - ワークフローのバージョン
  • total_tokens - このランタイムで使用されたトークンの総数
  • file_list - 処理されたファイルのリスト
  • triggered_from - このランタイムをトリガーしたソース
  • workflow_run_inputs - このワークフローの入力
  • workflow_run_outputs - このワークフローの出力
  • error - エラーメッセージ
  • query - ランタイムで使用されたクエリ
  • workflow_app_log_id - ワークフローアプリケーションログID
  • message_id - 関連するメッセージID
  • start_time - このランタイムの開始時間
  • end_time - このランタイムの終了時間
  • ワークフローノード実行 - ワークフローノードのランタイム情報
  • 元データ(Metadata)
    • workflow_id - ワークフローのユニークID
    • conversation_id - 会話ID
    • workflow_run_id - このランタイムのワークフローID
    • tenant_id - テナントID
    • elapsed_time - このランタイムの経過時間
    • status - オペレーション状態
    • version - ワークフローのバージョン
    • total_tokens - このランタイムで使用されたトークンの総数
    • file_list - 処理されたファイルのリスト
    • triggered_from - このランタイムをトリガーしたソース

メッセージトレース情報

LLM会話をトレースするために
メッセージLangFuse Generation/Trace
message_idid
user_session_iduser_id
message_name
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
モデルトークン消費量usage
元データmetadata
errorlevel
errorstatus_message
[“message”, conversation_mode]tags
conversation_idsession_id
conversion_idparent_observation_id
メッセージトレース情報
  • message_id - メッセージID
  • message_data - メッセージデータ
  • user_session_id - ユーザーのセッションID
  • conversation_model - 会話モデル
  • message_tokens - メッセージトークン
  • answer_tokens - 回答トークン
  • total_tokens - メッセージと回答からの総トークン
  • error - エラーメッセージ
  • inputs - 入力データ
  • outputs - 出力データ
  • file_list - 処理されたファイルのリスト
  • start_time - 開始時間
  • end_time - 終了時間
  • message_file_data - 関連するファイルデータのメッセージ
  • conversation_mode - 会話モード
  • 元データ(Metadata)
    • conversation_id - 会話ID
    • ls_provider - モデルプロバイダー
    • ls_model_name - モデルID
    • status - メッセージのステータス
    • from_end_user_id - 送信ユーザーのID
    • from_account_id - 送信アカウントのID
    • agent_based - エージェントベースかどうか
    • workflow_run_id - このランタイムのワークフローID
    • from_source - メッセージソース

モデレーショントレース情報

会話のモデレーションを追跡するために使用されます
モデレーションLangFuse Generation/Trace
user_iduser_id
moderationname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
元データmetadata
[moderation]tags
message_idparent_observation_id
メッセージトレース情報
  • message_id - メッセージID
  • user_id - ユーザーID
  • workflow_app_log_id workflow_app_log_id
  • inputs - レビューのための入力データ
  • message_data - メッセージデータ
  • flagged - 注目のためにフラグが立てられているかどうか
  • action - 実施すべき具体的なアクション
  • preset_response - プリセット応答
  • start_time - レビューの開始時間
  • end_time - レビューの終了時間
  • 元データ(Metadata)
    • message_id - メッセージID
    • action - 実施すべき具体的なアクション
    • preset_response - プリセット応答

推奨質問のトレース情報

推奨質問を追跡するために使用されます
推奨質問LangFuse Generation/Trace
user_iduser_id
suggested_questionname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
元データmetadata
[suggested_question]tags
message_idparent_observation_id
メッセージトレース情報
  • message_id - メッセージID
  • message_data - メッセージデータ
  • inputs - 入力データ
  • outputs - 出力データ
  • start_time - 開始時間
  • end_time - 終了時間
  • total_tokens - 総トークン数
  • status - メッセージのステータス
  • error - エラーメッセージ
  • from_account_id - 送信アカウントID
  • agent_based - エージェントベースかどうか
  • from_source - メッセージソース
  • model_provider - モデルプロバイダー
  • model_id - モデルID
  • suggested_question - 推奨質問
  • level - ステータスレベル
  • status_message - メッセージステータス
  • 元データ(Metadata)
    • message_id - メッセージID
    • ls_provider - モデルプロバイダー
    • ls_model_name - モデルID
    • status - メッセージのステータス
    • from_end_user_id - 送信ユーザーのID
    • from_account_id - 送信アカウントID
    • workflow_run_id - このランタイムのワークフローID
    • from_source - メッセージソース

データセットリトリーバルトレース情報

知識ベースの検索を追跡するために使用されます
データセットリトリーバルLangFuse Generation/Trace
user_iduser_id
dataset_retrievalname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
元データmetadata
[dataset_retrieval]tags
message_idparent_observation_id
データセットリトリーバルトレース情報
  • message_id - メッセージID
  • inputs - 入力メッセージ
  • documents - ドキュメントデータ
  • start_time - 開始時間
  • end_time - 終了時間
  • message_data - メッセージデータ
  • 元データ(Metadata)
    • message_id - メッセージID
    • ls_provider - モデルプロバイダー
    • ls_model_name - モデルID
    • status - モデルのステータス
    • from_end_user_id - 送信ユーザーのID
    • from_account_id - 送信アカウントのID
    • agent_based - エージェントベースかどうか
    • workflow_run_id - このランタイムのワークフローID
    • from_source - メッセージソース

ツールトレース情報

ツール呼び出しを追跡するために使用されます
ツールLangFuse Generation/Trace
user_iduser_id
tool_namename
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
元データmetadata
[“tool”, tool_name]tags
message_idparent_observation_id
ツールトレース情報
  • message_id - メッセージID
  • tool_name - ツール名
  • start_time - 開始時間
  • end_time - 終了時間
  • tool_inputs - ツール入力
  • tool_outputs - ツール出力
  • message_data - メッセージデータ
  • error - エラーメッセージが存在する場合
  • inputs - メッセージの入力
  • outputs - メッセージの出力
  • tool_config - ツール構成
  • time_cost - 時間コスト
  • tool_parameters - ツールパラメータ
  • file_url - 関連ファイルのURL
  • 元データ(Metadata)
    • message_id - メッセージID
    • tool_name - ツール名
    • tool_inputs - ツール入力
    • tool_outputs - ツール出力
    • tool_config - ツール構成
    • time_cost - 時間コスト
    • error - エラーメッセージ
    • tool_parameters - ツールパラメータ
    • message_file_id - メッセージファイルID
    • created_by_role - 作成者の役割
    • created_user_id - 作成したユーザーID

名前生成トレース

会話タイトルの生成を追跡するために使用されます
名前生成LangFuse Generation/Trace
user_iduser_id
generate_namename
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
元データmetadata
[generate_name]tags
名前生成トレース情報
  • conversation_id - 会話ID
  • inputs - 入力データ
  • outputs - 生成されたセッション名
  • start_time - 開始時間
  • end_time - 終了時間
  • tenant_id - テナントID
  • 元データ(Metadata)
    • conversation_id - 会話ID
    • tenant_id - テナントID

Langfuseプロンプト管理

Langfuseプロンプト管理プラグイン(コミュニティによって維持されている)は、DifyアプリケーションでLangfuseで管理およびバージョン管理されているプロンプトを使用できるようにし、大規模言語モデル(LLM)アプリケーション開発のワークフローを向上させます。主な機能は以下の通りです:
  • プロンプトを取得する: Langfuseで管理されている特定のプロンプトを取得します。
  • プロンプトを検索する: Langfuseでさまざまなフィルターを使用してプロンプトを検索します。
  • プロンプトを更新する: Langfuseでプロンプトの新しいバージョンを作成し、タグ/ラベルを設定します。
この統合により、プロンプトの管理およびバージョン管理のプロセスが合理化され、より効率的な開発と反復サイクルに寄与します。プラグインとインストール手順はこちらで見つけることができます。