Skip to main content

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

Langfuse とは#

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

Info

Langfuse の紹介: https://langfuse.com/

Langfuse の設定方法#

  1. 公式ウェブサイトで Langfuse に登録し、ログインします。
  2. Langfuse でプロジェクトを作成します。ログイン後、ホームページで 新規 をクリックして自身のプロジェクトを作成します。この プロジェクト は、Dify の アプリケーション と関連付けてデータを監視するために使用されます。

Langfuse でプロジェクトを作成します

プロジェクトの名前を編集してください。

Langfuse でプロジェクトを作成

  1. プロジェクト API 資格情報を作成します。プロジェクトの左サイドバーで 設定 をクリックし、設定を開きます。

プロジェクトの API 認証情報を作成

設定で API キーを作成 をクリックして、プロジェクトの API 資格情報を作成します。

プロジェクトの API 認証情報を作成

シークレットキー、パブリックキー、ホストをコピーして保存します。

API キー設定を取得

  1. Dify で Langfuse を設定します。監視が必要なアプリケーションを開き、サイドメニューで モニタリング を開き、ページ上で アプリパフォーマンスのトレース を選択します。

Langfuse を設定

設定をクリックした後、Langfuse で作成した シークレットキー、パブリックキー、ホスト を構成に貼り付けて保存します。

Langfuse を設定

正常に保存されると、現在のページで状態を確認できます。開始と表示されている場合、監視が行われています。

構成ステータスを表示

Langfuse での監視データの閲覧#

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

監視データの一覧#

Workflow と Chatflow の情報をトレースする#

Workflow と Chatflow のトレース

ワークフローLangFuse Trace
workflow_app_log_id/workflow_run_idid
user_session_iduser_id
workflow_{id}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 - Workflow アプリケーションログ 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_{id}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 でプロンプトの新しいバージョンを作成し、タグ/ラベルを設定します。

この統合により、プロンプトの管理およびバージョン管理のプロセスが合理化され、より効率的な開発と反復サイクルに寄与します。プラグインとインストール手順はこちらで見つけることができます。