Langfuseとは

LangfuseはLLMアプリケーションの開発者がデバッグ、分析、イテレーション等を使用してアプリケーションのパフォーマンスを向上させるためのツールです。
Langfuseの公式サイト:https://langfuse.com/

Langfuseの設定方法

  1. まず、公式サイト に登録し、Langfuseにログインします。
  2. ログイン後、Langfuseでプロジェクトを作成します。ホームページで New をクリックして、自分のプロジェクトを作成します。この プロジェクト はDify内の アプリケーション とデータ監視に関連付けられます。
Langfuse 内でプロジェクトを作成する

Langfuse 内でプロジェクトを作成する

プロジェクトの名前を付けます。
Langfuse 内でプロジェクトを作成する

Langfuse 内でプロジェクトを作成する

  1. プロジェクト認証情報の作成のために、左のサイドバーでプロジェクト 設定 をクリックする。
Langfuse 内でプロジェクトを作成する

Langfuse 内でプロジェクトを作成する

Create API Keyをクリックし,新たな認証情報を作ります。
Langfuse 内でプロジェクトを作成する

Langfuse 内でプロジェクトを作成する

Secret KeyPublic Key,Host をコピーし、保存します。
Langfuse API Key 配置

Langfuse API Key 配置

  1. Dify アプリの中に Langfuse を設定するために、監視用のアプリのサイトメニューの監視ボタンをクリックし,設定をクリックします。
Dify 監視設定

Langfuseを設定します

そして、Langfuse から作った Secret Key, Public KeyHost設定の中に貼り付け、保存します。
Dify Langfuse 設定画面

Langfuseを設定します

保存に成功すると、現在のページで監視状態を見ることができます。
Dify Langfuse 設定状況画面

監視状態を見る


Langfuse ページで監視データをチェックします

設定後, DifyのアプリやLLMの応答データは Langfuse で確認できるようになります。
Dify アプリデバッグ画面

Difyでのアプリの調整

Langfuse アプリデータ監視画面 1

Langfuseでアプリデータを見る

Langfuse アプリデータ監視画面 2

Langfuseでアプリデータを見る

監視データのリスト

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

ワークフローとチャットフローをトレースする
WorkflowLangFuse Trace
workflow_app_log_id/workflow_run_idid
user_session_iduser_id
workflow_name
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
Model token consumptionusage
metadatametadata
errorlevel
errorstatus_message
[workflow]tags
[“message”, conversation_mode]session_id
conversion_idparent_observation_id
Workflow Trace Info
  • 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 - このランタイムの終了時刻
  • workflow node executions - ワークフローノードのランタイム情報
  • Metadata
    • workflow_id - ワークフローのユニークID
    • conversation_id - 会話ID
    • workflow_run_id - このランタイムのワークフローID
    • tenant_id - テナントID
    • elapsed_time - このランタイムの経過時間
    • status - 運用状態
    • version - ワークフローのバージョン
    • total_tokens - このランタイムで使用されたトークンの合計
    • file_list - 処理されたファイルのリスト
    • triggered_from - このランタイムをトリガーしたソース

Message Trace 情報

LLMの会話内容をトレースする
MessageLangFuse Generation/Trace
message_idid
user_session_iduser_id
message_name
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
Model token consumptionusage
metadatametadata
errorlevel
errorstatus_message
[“message”, conversation_mode]tags
conversation_idsession_id
conversion_idparent_observation_id
Message Trace Info
  • 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 - メッセージのソース
    • message_id - メッセージID

Moderation Trace 情報

会話モデレーションをトレースする
ModerationLangFuse Generation/Trace
user_iduser_id
moderationname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[moderation]tags
message_idparent_observation_id
Message Trace Info
  • message_id - メッセージID
  • user_id - ユーザーID
  • workflow_app_log_id - ワークフローアプリケーションログID
  • inputs - レビュー用の入力データ
  • message_data - メッセージデータ
  • flagged - 注目対象としてフラグが立てられているか
  • action - 実行すべき具体的なアクション
  • preset_response - 事前設定の応答
  • start_time - レビューの開始時刻
  • end_time - レビューの終了時刻
  • Metadata
    • message_id - メッセージID
    • action - 実行すべき具体的なアクション
    • preset_response - 事前設定の応答

提案された質問トレース情報

提案された質問をトレースする
Suggested QuestionLangFuse Generation/Trace
user_iduser_id
suggested_questionname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[suggested_question]tags
message_idparent_observation_id
Message Trace Info
  • 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 - モデルの名前
    • status - メッセージの状態
    • from_end_user_id - 送信元ユーザーのID
    • from_account_id - 送信元アカウントのID
    • workflow_run_id - このランタイムにおけるワークフローのID
    • from_source - メッセージの発信元

Dataset Retrieval Trace 情報

ナレッジベースの取得をトレースする
データセットの取得LangFuse生成/トレース
user_iduser_id
dataset_retrievalname
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[dataset_retrieval]tags
message_idparent_observation_id
Dataset Retrieval Trace Info
  • message_id - メッセージのID
  • inputs - 入力メッセージ
  • documents - ドキュメントデータ
  • start_time - 開始時間
  • end_time - 終了時間
  • message_data - 消息数据
  • Metadata
    • message_id - メッセージのID
    • ls_provider - モデルのプロバイダー
    • ls_model_name - モデルの名前
    • status - モデルの状態
    • from_end_user_id - 送信元ユーザーのID
    • from_account_id - 送信元アカウントのID
    • agent_based - エージェントベースであるかどうか
    • workflow_run_id - このランタイムにおけるワークフローのID
    • from_source - メッセージの発信元

Tool Trace 情報

ツールの呼び出しをトレースする
ツールLangFuse生成/トレース
user_iduser_id
tool_namename
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[“tool”, tool_name]tags
message_idparent_observation_id
Tool Trace Info
  • message_id - メッセージのID
  • tool_name - ツール名
  • start_time - 開始時間
  • end_time - 終了時間
  • tool_inputs - ツールの入力
  • tool_outputs - ツールの出力
  • error - エラーメッセージ(存在する場合)
  • inputs - メッセージの入力
  • outputs - メッセージの出力
  • tool_config - ツールの構成
  • tool_parameters - ツールのパラメータ
  • file_url - 関連ファイルのURL
  • Metadata
    • message_id - メッセージのID
    • tool_name - ツール名
    • tool_inputs - ツールの入力
    • tool_outputs - ツールの出力
    • tool_config - ツールの構成
    • error - エラーメッセージ
    • tool_parameters - ツールのパラメータ
    • message_file_id - メッセージファイルのID
    • created_by_role - 作成者の役割
    • created_user_id - 作成ユーザーのID

Generate Name Trace 情報

会話のタイトル生成をトレースする
Generate NameLangFuse Generation/Trace
user_iduser_id
generate_namename
start_timestart_time
end_timeend_time
inputsinput
outputsoutput
metadatametadata
[generate_name]tags
Generate Name Trace Info
  • conversation_id - 会話のID
  • inputs - 入力データ
  • outputs - 生成されたセッション名
  • start_time - 開始時間
  • end_time - 終了時間
  • tenant_id - テナントID
  • Metadata
    • conversation_id - 会話のID
    • tenant_id - テナントID