LangSmithの導入と使い方

LangChainフレームワークにおけるLangSmithは、LLMアプリケーションのデバッグ・評価・監視を行うためのプラットフォームであり、LangChainと統合して使うことで、開発プロセスを可視化し、改善サイクルを迅速に回すことができます。以下に「LangSmithの導入と使い方」について詳しく説明します。


1. LangSmithとは

LangSmithは、以下のような機能を提供するクラウドサービスです。

  • LangChain実行トレースの可視化(Chain, Tool, LLMなど)

  • 入出力のログ管理と分析

  • ステップ単位でのエラー検出

  • テストケースの実行と評価

  • 人的または自動評価(human/LLM)による品質分析


2. LangSmithの導入手順

ステップ1:アカウント作成

ステップ2:APIキー取得

  • ログイン後、「Settings > API Keys」からLangSmithのAPIキーを取得します。

ステップ3:環境変数設定

LangChainプロジェクト内で、以下の環境変数を設定します。

bash
export LANGCHAIN_API_KEY="your-api-key" export LANGCHAIN_PROJECT="your-project-name"

Pythonスクリプト内で直接設定する場合は:

python
import os os.environ["LANGCHAIN_API_KEY"] = "your-api-key" os.environ["LANGCHAIN_PROJECT"] = "your-project-name"

ステップ4:LangSmithのトレーサーを有効化

LangChainコードに以下を追加します。

python
from langchain.callbacks import LangChainTracer tracer = LangChainTracer() # Chainのrunメソッドなどに渡す chain.invoke(input_data, config={"callbacks": [tracer]})

3. LangSmithを使ったトレースと可視化

LangSmithは、LangChainの実行中に発生したすべての呼び出し(LLM, Chain, Toolなど)を自動で記録し、ウェブダッシュボード上に以下のような情報を表示します。

  • 実行順序

  • 各ステップの入力と出力

  • 実行時間

  • エラー発生箇所

  • LLMのプロンプトとレスポンス

これにより、複雑なChainやAgentの挙動を視覚的にデバッグできます。


4. LangSmithによる評価の利用

LangSmithでは、スコアリングメカニズム(自動評価)や、人的評価(レビュー)を組み合わせることで、LLMアプリの出力品質を定量的に評価することが可能です。

評価手法

  • 正解と出力を比較する(例:文字列一致や語彙ベース)

  • LLMを使って出力品質を評価(採点用モデルを使う)

  • カスタム評価関数を定義して独自の指標を導入

LangSmith UIでは、出力ごとに「Accept」「Reject」などの手動ラベル付けも可能です。


5. LangSmithを活用するメリット

  • 実行履歴の保存と再現性の確保

  • ユーザ入力に対する挙動を迅速にトラブルシュート

  • リファクタリング前後の挙動の比較

  • デプロイ前の品質保証に役立つ評価基盤


6. LangSmithとLangChainの統合例

python
from langchain.chat_models import ChatOpenAI from langchain.chains import LLMChain from langchain.prompts import PromptTemplate from langchain.callbacks import LangChainTracer # LangSmithトレーサー tracer = LangChainTracer() llm = ChatOpenAI(model="gpt-4") prompt = PromptTemplate.from_template("質問: {question} 回答:") chain = LLMChain(llm=llm, prompt=prompt) result = chain.invoke({"question": "富士山の高さは?"}, config={"callbacks": [tracer]})

このようにすることで、LangSmith上に実行結果が可視化されます。


補足:LangSmithのローカルモード

開発初期段階では、ローカルでLangChainトレースを表示する設定も可能ですが、LangSmithを使用することで共有・分析・評価まで一気通貫で行える点が大きな利点です。

ChatGPT4o 生成日:2025/06/12