Opikの概要

Opikは、大規模言語モデル(LLM)アプリケーションを評価、テスト、および監視するためのオープンソースプラットフォームです。LLMベースのアプリケーション開発において、直感的な評価・テスト・監視機能を提供し、開発効率の向上を支援します。

詳細については、Opikをご参照ください。


Opikの導入ガイド

1. Opik に登録/ログイン

2. Opik APIキーの取得

右上のユーザーメニューからAPI Keyを選択し、APIキーを取得・コピーしてください。

3. OpikとDifyを統合

DifyアプリケーションでOpikを設定します。監視するアプリケーションを開き、サイドメニューで監視を選択し、ページ上のアプリケーションパフォーマンスを追跡をクリックします。

設定後、Opikで作成したAPI Keyプロジェクト名を設定ページに貼り付けて保存します。

保存に成功すると、現在のページで監視ステータスを確認できます。

監視データの確認

設定が完了すると、Difyアプリケーションを通常通りデバッグまたは使用できます。すべての使用履歴はOpikで監視可能です。

Opikに切り替えると、ダッシュボードでDifyアプリケーションの詳細な操作ログを確認できます。

Opikの詳細なLLM操作ログにより、Difyアプリケーションのパフォーマンスを最適化できます。

モニタリングデータリスト

ワークフロー/会話フロートラッキング情報

ワークフローと会話フローの追跡に使用

ワークフローOpikトラッキング
workflow_app_log_id/workflow_run_idid
user_session_id- メタデータに配置
workflow_name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
モデルトークン消費usage_metadata
metadatametadata
errorerror
[workflow]tags
”conversation_id/none for workflow”conversation_id in metadata

ワークフロートラッキング情報

  • workflow_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 - ワークフローノードの実行情報
  • メタデータ
    • workflow_id - ワークフローの一意識別子
    • conversation_id - 会話ID
    • workflow_run_id - 現在の実行ID
    • tenant_id - テナントID
    • elapsed_time - 現在の実行にかかった時間
    • status - 実行ステータス
    • version - ワークフローバージョン
    • total_tokens - 現在の実行で使用されたトークン総数
    • file_list - 処理されたファイルのリスト
    • triggered_from - 実行をトリガーしたソース

メッセージトラッキング情報

LLM関連の会話を追跡するために使用

チャットOpik LLM
message_idid
user_session_id- メタデータに配置
”llm”name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
モデルトークン消費usage_metadata
metadatametadata
[“message”, conversation_mode]tags
conversation_idconversation_id in metadata

メッセージトラッキング情報

  • 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 - 会話モード
  • メタデータ
    • 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 - メッセージソース

レビュー追跡情報

会話のレビューを追跡するために使用

レビューOpik Tool
user_id- メタデータに配置
”moderation”name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadatametadata
[“moderation”]tags

レビュー追跡情報

  • message_id - メッセージID
  • user_id - ユーザーID
  • workflow_app_log_id - ワークフローアプリケーションログID
  • inputs - レビュー入力データ
  • message_data - メッセージデータ
  • flagged - 注意が必要とマークされたかどうか
  • action - 実施された具体的なアクション
  • preset_response - プリセットレスポンス
  • start_time - レビュー開始時間
  • end_time - レビュー終了時間
  • メタデータ
    • message_id - メッセージID
    • action - 実施されたアクション
    • preset_response - プリセットレスポンス

提案質問追跡情報

提案質問を追跡するために使用

提案質問Opik LLM
user_id- メタデータに配置
”suggested_question”name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadatametadata
[“suggested_question”]tags

提案質問追跡情報

  • 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 - ステータスメッセージ
  • メタデータ
    • 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 - メッセージの送信元

データセット検索追跡情報

ナレッジベース検索を追跡するために使用

データセット検索Opik Retriever
user_id- メタデータに配置
”dataset_retrieval”name
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadatametadata
[“dataset_retrieval”]tags
message_idparent_run_id

データセット検索追跡情報

  • message_id - メッセージID
  • inputs - 入力データ
  • documents - ドキュメントデータ
  • start_time - 開始時間
  • end_time - 終了時間
  • message_data - メッセージデータ
  • メタデータ
    • 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 - メッセージの送信元

ツール追跡情報

ツールの呼び出しを追跡するために使用

ツールOpik Tool
user_id- メタデータに配置
tool_namename
start_timestart_time
end_timeend_time
inputsinputs
outputsoutputs
metadatametadata
[“tool”, tool_name]tags

ツール追跡情報

  • 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
  • メタデータ
    • 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