Langfuseの統合¶
Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
Langfuseとは¶
Langfuseは、チームがアプリケーションのデバッグ、分析、反復作業を協力して行うことができる、オープンソースの大規模言語モデル(LLM)エンジニアリングプラットフォームです。
Info:
Langfuseの紹介: https://langfuse.com/
Langfuseの設定方法¶
- 公式ウェブサイトでLangfuseに登録し、ログインします。
- Langfuseでプロジェクトを作成します。ログイン後、ホームページで新規をクリックして自身のプロジェクトを作成します。このプロジェクトは、FlexAIのアプリケーションと関連付けてデータを監視するために使用されます。

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

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

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

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

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

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

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

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


監視データの一覧¶
ワークフローとチャットフローの情報をトレースする¶
ワークフローとチャットフローのトレース
| ワークフロー | LangFuse Trace |
|---|---|
| workflow\_app\_log\_id/workflow\_run\_id | id |
| user\_session\_id | user\_id |
| {"workflow_{id}"} | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| モデルトークン消費量 | usage |
| 元データ | metadata |
| error | level |
| error | status\_message |
| \[workflow] | tags |
| \["message", conversation\_mode] | session\_id |
| conversion\_id | parent\_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\_id | id |
| user\_session\_id | user\_id |
| {"message_{id}"} | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| モデルトークン消費量 | usage |
| 元データ | metadata |
| error | level |
| error | status\_message |
| \["message", conversation\_mode] | tags |
| conversation\_id | session\_id |
| conversion\_id | parent\_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\_id | user\_id |
| moderation | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| 元データ | metadata |
| \[moderation] | tags |
| message\_id | parent\_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\_id | user\_id |
| suggested\_question | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| 元データ | metadata |
| \[suggested\_question] | tags |
| message\_id | parent\_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\_id | user\_id |
| dataset\_retrieval | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| 元データ | metadata |
| \[dataset\_retrieval] | tags |
| message\_id | parent\_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\_id | user\_id |
| tool\_name | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| 元データ | metadata |
| \["tool", tool\_name] | tags |
| message\_id | parent\_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\_id | user\_id |
| generate\_name | name |
| start\_time | start\_time |
| end\_time | end\_time |
| inputs | input |
| outputs | output |
| 元データ | 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プロンプト管理プラグイン(コミュニティによって維持されている)は、FlexAIアプリケーションでLangfuseで管理およびバージョン管理されているプロンプトを使用できるようにし、大規模言語モデル(LLM)アプリケーション開発のワークフローを向上させます。主な機能は以下の通りです:
- プロンプトを取得する: Langfuseで管理されている特定のプロンプトを取得します。
- プロンプトを検索する: Langfuseでさまざまなフィルターを使用してプロンプトを検索します。
- プロンプトを更新する: Langfuseでプロンプトの新しいバージョンを作成し、タグ/ラベルを設定します。
この統合により、プロンプトの管理およびバージョン管理のプロセスが合理化され、より効率的な開発と反復サイクルに寄与します。プラグインとインストール手順はこちらで見つけることができます。