LangSmithとの統合
LangSmithとは
LangSmithはLLMアプリケーションの開発、コラボレーション、テスト、デプロイ、監視などのツールを提供するプラットフォームです。
LangSmithの公式サイト
LangSmithの設定方法
この章では、LangSmithの登録方法とDifyプラットフォームへの統合方法について説明します。
1. LangSmithから登録し、ログインする。
2. プロジェクトの作成
LangSmith内でプロジェクトを作成します。ログイン後、ホームページでNew Projectをクリックして、新しいプロジェクトを作成します。このプロジェクトはDify内のアプリとデータ監視を関連付けるために使用されます。
LangSmith内でプロジェクトを作成します
プロジェクトの作成が完了すると、Projects内でそのプロジェクトを確認できます。
Projects内でそのプロジェクトを確認できます
3. プロジェクト認証情報の作成
プロジェクト認証情報を作成します。左側のサイドバーでプロジェクト設定Settingsを見つけてクリックします。
プロジェクトを設定する
Create API Keyをクリックして、プロジェクト認証情報を作成します。
プロジェクトのAPIキーを作る
Personal Access Tokenを選択し、APIの認証に使用します。
APIキーを作る
作成したAPIキーをコピーして保存します。
コピーAPIキー
4. LangSmithをDifyプラットフォームに設定
Difyアプリ内でLangSmithを設定します。監視するアプリを開き、左側のメニューで監視を選択し、設定をクリックします。
LangSmithを設定する
設定画面で、LangSmith内で作成したAPI Keyとプロジェクト名を貼り付けて保存します。
LangSmithを設定する
プロジェクト名はLangSmith内で設定したプロジェクト名と一致する必要があります。プロジェクト名が一致しない場合、LangSmithは自動的に新しいプロジェクトを作成します。
保存が成功すると、設定状態を現在のページで確認できます。
設定状態をチェックする
LangSmith内でデータを監視する
設定が完了すると、Difyアプリ内のデバッグまたは本番データをLangSmithで監視できます。
Dify内でアプリをデバッグする
LangSmith内でデータを監視する
LangSmith内でデータを監視する
モニタリングデータリスト
ワークフロー/チャットフローのトレース情報
ワークフローやチャットフローを追跡するために使用されます。
ワークフロー | LangSmith Chain |
---|---|
workflow_app_log_id/workflow_run_id | ID |
user_session_id | - メタデータに配置 |
workflow_ | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 出力 |
Model token consumption | 使用メタデータ |
metadata | 追加情報 |
error | エラー |
[workflow] | タグ |
”conversation_id/none for workflow” | メタデータ内のconversation_id |
conversion_id | 親実行ID |
ワークフロートレース情報
- 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:ワークフローノード実行に関する情報
- Metadata
- workflow_id:ワークフローの固有識別子
- conversation_id:会話ID
- workflow_run_id:現在の実行ID
- tenant_id:テナントID
- elapsed_time:現在の実行にかかった時間
- status:実行ステータス
- version:ワークフローのバージョン
- total_tokens:現在の実行で使用されるトークンの合計数
- file_list:処理されたファイルのリスト
- triggered_from:現在の実行を引き起こしたソース
メッセージトレース情報
大規模言語モデル(LLM)関連の会話を追跡するために使用されます。
チャット | LangSmith LLM |
---|---|
message_id | ID |
user_session_id | - メタデータに配置 |
“message_“ | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 出力 |
Model token consumption | 使用メタデータ |
metadata | 追加情報 |
error | エラー |
[“message”, conversation_mode] | タグ |
conversation_id | メタデータ内のconversation_id |
conversion_id | 親実行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:メッセージのソース
モデレーショントレース情報
会話のモデレーションを追跡するために使用されます。
Moderation | LangSmith Tool |
---|---|
user_id | -メタデータに配置 |
“moderation” | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 出力 |
metadata | 追加情報 |
[moderation] | タグ |
message_id | 親実行ID |
モデレーショントレース情報
- 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 Question | LangSmith LLM |
---|---|
user_id | -使用メタデータ |
suggested_question | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 出力 |
metadata | 追加情報 |
[suggested_question] | タグ |
message_id | parent_run_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 - モデルID
- status - メッセージの状態
- from_end_user_id - 送信ユーザーのID
- from_account_id - 送信アカウントのID
- workflow_run_id - ワークフロー実行ID
- from_source - メッセージのソース
データセット検索トレース情報
ナレッジベース検索のトレースに使用
データセット検索 | LangSmith リトリーバー |
---|---|
user_id | -メタデータに配置 |
dataset_retrieval | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 出力 |
metadata | 追加情報 |
[dataset_retrieval] | タグ |
message_id | 親ラン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 - メッセージのソース
ツールトレース情報
ツール呼び出しのトレースに使用
ツール | LangSmith ツール |
---|---|
user_id | -メタデータに配置 |
tool_name | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 出力 |
metadata | 追加情報 |
[“tool”, tool_name] | タグ |
message_id | 親ラン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
会話タイトル生成トレース情報
会話タイトル生成のトレースに使用
会話タイトル生成 | LangSmith ツール |
---|---|
user_id | -メタデータに配置 |
generate_name | 名前 |
start_time | 開始時間 |
end_time | 終了時間 |
inputs | 入力 |
outputs | 生成された会話名 |
metadata | 追加情報 |
[generate_name] | タグ |
会話タイトル生成トレース情報
- conversation_id - 会話ID
- inputs - 入力データ
- outputs - 生成された会話名
- start_time - 開始時間
- end_time - 終了時間
- tenant_id - テナントID
- Metadata
- conversation_id - 会話ID
- tenant_id - テナントID