LangChainのLangSmithを試してみた
はじめに
前回LangChainの記事を書きましたが、そのソースコードを使ってLangSmithで処理をトレースしてみました。初めて使ってみましたが簡単で便利だったので、その使い方をご紹介します。
前回の記事
LangSmithとは
LangSmithとは、LLMアプリケーションの開発、コラボレーション、テスト、デプロイ、監視のための統合 DevOpsプラットフォーム、とのことです。
無料プランがあり、毎月3000トレースまで使えるようなので開発時に使えるかなと思いました。
使い方
まずはこちらからSign Upします。
すると、このようなページに遷移されます。
次に、左下のメニューからAPI KEYを生成してコピーします。
新しいProjectを作成します。Nameをtest_pyとしました。
(defaultというProjectは使わずにProjectを作成して進めました)
以上で準備ができました。
トレースさせたいプログラムに設定する方法は下記をご確認ください。
今回は前回の記事のLangchainを使っているプログラムなので、LangSmithにトレースを記録するために追加のコードは必要なく、ただexportをするだけで設定は完了です。
下記の情報は、Projectを選択した詳細ページのタブメニューSetupに記載されています。
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
export LANGCHAIN_PROJECT="test_py"
確認
echo $LANGCHAIN_TRACING_V2
echo $LANGCHAIN_API_KEY
echo $LANGCHAIN_ENDPOINT
echo $LANGCHAIN_PROJECT
通常どおりにコードを実行してみます。
前回の記事のコードなので、
python test.py
と、1回だけ実行してみます。
さて、トレースできているか? Projectを選択してProjectページから確認します。
コストや実行時間など表示されていますね!
(defaultというProjectは削除しています)
クリックして詳細を確認してみます。処理ごとにリスト表示されています。
さらに任意のものをクリックして詳細を確認してみます。ちゃんとトレースされているようです!
まとめ
トレース機能だけを実験してみましたが、導入はとても簡単でした。
エージェントなどで処理が多いものでは開発時にトレース内容を確認したいので、今後は使っていこうかなと思いました。LangChainを使っていないコードでも、PythonやTypeScriptならlangsmithをインストールしてコードを修正すれば使えるというのが良いですね。他の機能もいくつかあるので、そのうち実験してみたいと思います。
ちなみにトレースの説明がこちらにあります。
トレースとは、アプリケーションチェーン、エージェント、エバリュエータの実行、プレイグラウンドの実行を完全に1回実行することです。
Discussion