😊

LangChainのLangSmithを試してみた

2024/02/29に公開

はじめに

前回LangChainの記事を書きましたが、そのソースコードを使ってLangSmithで処理をトレースしてみました。初めて使ってみましたが簡単で便利だったので、その使い方をご紹介します。

前回の記事
https://zenn.dev/nari007/articles/900290ed31c7be

LangSmithとは

LangSmithとは、LLMアプリケーションの開発、コラボレーション、テスト、デプロイ、監視のための統合 DevOpsプラットフォーム、とのことです。
無料プランがあり、毎月3000トレースまで使えるようなので開発時に使えるかなと思いました。

https://www.langchain.com/langsmith
https://www.langchain.com/pricing

使い方

まずはこちらからSign Upします。
https://www.langchain.com/langsmith

すると、このようなページに遷移されます。

次に、左下のメニューからAPI KEYを生成してコピーします。

新しいProjectを作成します。Nameをtest_pyとしました。
(defaultというProjectは使わずにProjectを作成して進めました)

以上で準備ができました。

トレースさせたいプログラムに設定する方法は下記をご確認ください。
https://docs.smith.langchain.com/tracing/quick_start

今回は前回の記事の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をインストールしてコードを修正すれば使えるというのが良いですね。他の機能もいくつかあるので、そのうち実験してみたいと思います。

ちなみにトレースの説明がこちらにあります。
https://docs.smith.langchain.com/pricing
訳:
トレースとは、アプリケーションチェーン、エージェント、エバリュエータの実行、プレイグラウンドの実行を完全に1回実行することです。

Discussion