見出し画像

DifyとLangSmithを連携させてみよう!


LLMOpsをより効率的に効果的に

Difyのv0.6.12でLangSmithとの連携ができるようになりました(今はv0.6.15なので今更感)。
LangSmithは、LLM(大規模言語モデル)アプリケーションの開発と運用を支援するプラットフォームで主に以下の機能を提供しています(by Perplexity)
・LLMの実行ログ収集(モニタリング、デバッグ)
・LLMの出力結果のデータセット化
・登録したデータセットによるモデルの評価

LangSmith

Difyでは既にLLMOpsの機能を提供していますが、より生成AIアプリの監視が強化できるのは嬉しいですね。
ということで、今回はLangSmithと連携する手順をご紹介します。

LangSmithの準備をしよう!

LangSmithのアカウント作成

まずはLangSmithのアカウントを作成します。LangSmithのHPにアクセスし、「Sign up」からアカウントを作成しましょう。

「Sign up」の画面から、アカウントを作成します。アカウントを作成したらログインしましょう。

アカウント作成画面

APIキープロジェクトIDを取得

Difyとの連携にはAPIキーとプロジェクトIDが必要になります。まずはAPIキーから取得します。
ホーム画面の左側のメニューから歯車アイコンを選択してください。

メニュー画面

APIキーの作成画面が表示されるので画面右上の「Create API Key」を選択します。

APIキー作成画面

Key Typeで「Personal Access Token」を選択して、「Create API Key」を選択してください。

Key Typeの選択

APIキーが作成されるので、忘れずに保存しておきましょう。

APIが作成された画面

次にプロジェクトIDを取得します。メニュー画面から「Projects」を選択してください。

再びのメニュー画面

今回はデフォルトのプロジェクトを使用します。Nameの「default」をメモして保存しましょう。

プロジェクトの画面

ここまでで、LangSmithの準備は完了です。

DifyにLangSmithを設定しよう!

LangSmithの準備が完了したので、Difyで作業に移ります。
今回のDifyの環境は以下の通りです。

実行環境

Windows11(RAM 32GB)
WSL2 ubuntu
Dify v0.6.15(OSS)
cursor

LangSmithのAPIキーとプロジェクトIDを設定

Difyを起動して適当にチャットボットを作成しましょう。(作成されたことないからはこちらを参照ください。)
チャットボットを作成したら、画面左のメニューから「概要」を選択します。

チャットボットの作成画面

「概要」の画面が表示されたら、画面右上の「Tracing app performance」から、LangSmithの「config」を選択します。

概要画面

「Config LangSmith」画面がポップアップされるので、LangSmithのAPIキーとプロジェクトIDを設定して「保存」しましょう。

Config LangSmith画面

「Config LangSmith」画面のポップアップが閉じて「Tracing app performance」が「IN SERVICE」となっていれば設定完了です!

IN SERVICEとなって緑色のランプが点灯

動作確認をしてみよう!

DifyにLangSmithの設定が完了したので動作確認をしてみます。

チャットボットに質問を投げかける

Difyで作ったチャットボットに質問文を投げかけてみましょう。

例によって例のごとくカレーの作り方を聞いてみる

LangSmithで出力をチェックしてみる

LangSmithのプロジェクト画面から、「default」projectを選択してください。

プロジェクト画面から「default」を選択

LangSmithとの接続が成功していると、実行結果(Run)が表示されていますので、実行結果を選択します。

実行結果の一覧

実行結果を選択すると、Difyからの入力と出力の結果が表示されます。
これで動作確認は完了です。

実行結果

おわりに

今回はDifyとLangSmithを連携し、簡単なケースでの動作確認を行いました。シンプルなチャットボットではあまり恩恵を感じませんが、複雑なチャットフローやAgentで利用すると強力な支援になりそうですね!
Difyをフル活用されている方は是非ともお試しください!