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_idID
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_idID
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:メッセージのソース

モデレーショントレース情報

会話のモデレーションを追跡するために使用されます。

ModerationLangSmith 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 QuestionLangSmith LLM
user_id-使用メタデータ
suggested_question名前
start_time開始時間
end_time終了時間
inputs入力
outputs出力
metadata追加情報
[suggested_question]タグ
message_idparent_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