💬

【LLMOps】LangSmithでLLM実行ログをトレースする方法

はじめまして、まつのです!

機械学習や生成AIの受託開発・AI学習サービス「aipass」の運営をしている株式会社dotConfという会社で、代表をしております!

この記事では、LLM開発・運用を効率化するLangSmithでLLM実行ログをトレースする方法を紹介します。

LangSmithとは?

LangSmithは、LangChain社が開発したLLMアプリケーションに特化した運用・管理ツールです。具体的には、アプリケーションの実行ログの追跡、データセットの構築、モデルの評価、プロンプトの最適化などを通じて、LLM(大規模言語モデル)の振る舞いを可視化・検証しながら、継続的な改善が行えるのが特徴です。また、LangChainとの親和性も高く、LangChainで構築したアプリの監視・分析基盤として、そのまま組み込むことが可能です。

機能項目 説明
実行ログの収集 アプリの各ステップを詳細に追跡・可視化し、問題の発見や再現が容易に
データセットの構築 収集した入出力ログから簡単にデータセットを生成し、プロンプトやモデルの継続的学習に活用
モデルの評価と比較 作成したデータセットを用いて、異なるプロンプトやモデル出力を比較・定量評価することが可能

LangSmithのセットアップ手順

アカウント作成

  1. LangSmithのWebサイトにアクセスし、「Sign Up for free」をクリックします

  2. 任意のアカウントでサインアップします

  3. アンケートに回答すると、LangSmithのホーム画面にログインできます。

APIキーの発行

  1. 続けてLangSmithのAPIキーを取得します。左側サイドバーの歯車マークをクリックします。

  2. 「API Keys」の画面で「+ API Key」をクリックします。

  3. 各項目を入力して「Create API Key」をクリックします。Key Type は「Personal Access Token」を選択します。

プログラム側での設定

  1. プログラムからLangSmithを設定するために環境変数を設定します。
import os

# OpenAIキーとLangSmith関連キーを環境変数にセット
os.environ["OPENAI_API_KEY"] = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
os.environ["LANGCHAIN_API_KEY"] = "lsv2_xxxxxxxxxxxxxxxxxxxxxxxxxxx"
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_PROJECT"] = "WorkSpace1"
環境変数名 説明 設定値の例
OPENAI_API_KEY OpenAIのAPIキー。OpenAIのモデルを利用するために必要。 sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
LANGCHAIN_API_KEY LangSmithのAPIキー。トレース送信に使用。 lsv2_xxxxxxxxxxxxxxxxxxxxxxxxxxx
LANGCHAIN_TRACING_V2 LangSmithのトレース機能を有効化するフラグ。 true
LANGCHAIN_PROJECT LangSmith上で表示されるプロジェクト名。任意で設定可能。 WorkSpace1

動作確認

  1. 以下のコードを実行します。
from langchain_openai import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema import StrOutputParser

# === LangChain設定 ===
chat = ChatOpenAI(
    model="gpt-4o-mini",
    temperature=0
)

prompt = ChatPromptTemplate.from_messages([
    ("system", "あなたは役立つアシスタントです。"),
    ("human", "ChatGPTとは何ですか?")
])

parser = StrOutputParser()

# LCEL構文でチェーンを構築
chain = prompt | chat | parser

# 実行してLangSmithにトレース送信
response = chain.invoke({})

print(response)
出力結果例はこちら👇

ChatGPTは、OpenAIが開発した自然言語処理モデルの一つです。このモデルは、大規模なデータセットを用いてトレーニングされ、
人間のように自然な対話を行うことができます。ChatGPTは、チャットボットや仮想アシスタントなどの
さまざまなアプリケーションで使用されており、ユーザーとのコミュニケーションを通じて情報を提供したり、
質問に答えたりすることができます。

  1. LangSmithのホーム画面戻り、ログがトレースされているか確認します。

  2. トレースログをクリックすると、詳細のトレースしたログが確認できます。

    主な情報として以下の項目を確認できます。

  • 入力
  • 出力
  • データセット
  • 消費トークン数
  • 開始時刻
  • レイテンシー
  • 実行にかかるコスト

生成AIプログラミングを学習したい方へ

Pythonを体系的に学び、プロの指導のもとで実践的なAIスキルを習得したい方、
キャリアの幅を広げたい方や複業を目指す方は、ぜひこちらからお問い合わせください。
https://b2c.aipass.tech
https://lin.ee/pbd6SZJ

Zenn以外の情報発信媒体はこちら👇
dotConf, Inc

Discussion