> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise-docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# LangSmithとの統合

### LangSmithとは

LangSmithはLLMアプリケーションの開発、コラボレーション、テスト、デプロイ、監視などのツールを提供するプラットフォームです。

<Tip>
  LangSmithの[公式サイト](https://www.langchain.com/langsmith)
</Tip>

***

## LangSmithの設定方法

この章では、LangSmithの登録方法とDifyプラットフォームへの統合方法について説明します。

#### 1. [LangSmith](https://www.langchain.com/langsmith)から登録し、ログインする。

#### 2. プロジェクトの作成

LangSmith内でプロジェクトを作成します。ログイン後、ホームページで**New Project**をクリックして、新しいプロジェクトを作成します。この**プロジェクト**はDify内の**アプリ**とデータ監視を関連付けるために使用されます。

<Frame caption="LangSmith内でプロジェクトを作成します">
  <img src="https://mintcdn.com/dify-4171f9f9/hIywJrDH61w15c5F/images/image-3-1-1-1.png?fit=max&auto=format&n=hIywJrDH61w15c5F&q=85&s=58db1923a0516ec33eea28ba879b097b" alt="LangSmith プロジェクト作成画面" width="3838" height="1915" data-path="images/image-3-1-1-1.png" />
</Frame>

プロジェクトの作成が完了すると、Projects内でそのプロジェクトを確認できます。

<Frame caption="Projects内でそのプロジェクトを確認できます">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/image%20(7)%20(1)%20(2).png" alt="LangSmith プロジェクト一覧画面" />
</Frame>

#### 3. プロジェクト認証情報の作成

プロジェクト認証情報を作成します。左側のサイドバーでプロジェクト設定**Settings**を見つけてクリックします。

<Frame caption="プロジェクトを設定する">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/image%20(8)%20(1)%20(2).png" alt="LangSmith プロジェクト設定画面" />
</Frame>

**Create API Key**をクリックして、プロジェクト認証情報を作成します。

<Frame caption="プロジェクトのAPIキーを作る">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/image%20(3)%20(1)%20(1)%20(1)%20(2).png" alt="LangSmith API Key 作成画面" />
</Frame>

**Personal Access Token**を選択し、APIの認証に使用します。

<Frame caption="APIキーを作る">
  <img src="https://mintcdn.com/dify-4171f9f9/hIywJrDH61w15c5F/images/image-5-1-1-1.png?fit=max&auto=format&n=hIywJrDH61w15c5F&q=85&s=bad4cda1bab148418d8917b5f9a10666" alt="LangSmith API Key タイプ選択画面" width="3838" height="1915" data-path="images/image-5-1-1-1.png" />
</Frame>

作成したAPIキーをコピーして保存します。

<Frame caption="コピーAPIキー">
  <img src="https://mintcdn.com/dify-4171f9f9/hIywJrDH61w15c5F/images/image-9-2.png?fit=max&auto=format&n=hIywJrDH61w15c5F&q=85&s=2929a7036e372649f79f5c4465451a55" alt="LangSmith API Key コピー画面" width="1306" height="785" data-path="images/image-9-2.png" />
</Frame>

#### 4. LangSmithをDifyプラットフォームに設定

Difyアプリ内でLangSmithを設定します。監視するアプリを開き、左側のメニューで監視を選択し、設定をクリックします。

<Frame caption="LangSmithを設定する">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/tracing-app-performance.png" alt="Dify LangSmith設定画面" />
</Frame>

設定画面で、LangSmith内で作成した**API Key**と**プロジェクト名**を貼り付けて保存します。

<Frame caption="LangSmithを設定する">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/config-langsmith.png" alt="Dify LangSmith設定画面" />
</Frame>

<Tip>
  プロジェクト名はLangSmith内で設定したプロジェクト名と一致する必要があります。プロジェクト名が一致しない場合、LangSmithは自動的に新しいプロジェクトを作成します。
</Tip>

保存が成功すると、設定状態を現在のページで確認できます。

<Frame caption="設定状態をチェックする">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/integrate-with-langsmith.png" alt="Dify LangSmith設定画面" />
</Frame>

### LangSmith内でデータを監視する

設定が完了すると、Difyアプリ内のデバッグまたは本番データをLangSmithで監視できます。

<Frame caption="Dify内でアプリをデバッグする">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/debug-app-in-dify.png" alt="Dify アプリデバッグ画面" />
</Frame>

<Frame caption="LangSmith内でデータを監視する">
  <img src="https://mintcdn.com/dify-4171f9f9/hIywJrDH61w15c5F/images/image-2-1-1-1.png?fit=max&auto=format&n=hIywJrDH61w15c5F&q=85&s=73135f91c6e5505f7f2e885cd7e54e7e" alt="LangSmith アプリデータ監視画面1" width="3838" height="1915" data-path="images/image-2-1-1-1.png" />
</Frame>

<Frame caption="LangSmith内でデータを監視する">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/dify-4171f9f9/ja-jp/img/viewing-app-data-in-langsmith.png" alt="LangSmith アプリデータ監視画面2" />
</Frame>

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

#### ワークフロー/チャットフローのトレース情報

**ワークフローやチャットフローを追跡するために使用されます。**

| ワークフロー                                   | LangSmith Chain         |
| ---------------------------------------- | ----------------------- |
| workflow\_app\_log\_id/workflow\_run\_id | ID                      |
| user\_session\_id                        | - メタデータに配置              |
| workflow\_{id}                           | 名前                      |
| 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\_{id}"                  | 名前                      |
| 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
