LangSmith exporter
LangSmith は、LLM アプリケーションを監視・評価するための LangChain のプラットフォームです。LangSmith exporter はトレースを LangSmith へ送信し、モデルのパフォーマンスに関するインサイト、デバッグ機能、評価 Workflow を提供します。
インストールインストールへの直接リンク
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/langsmith@latest
pnpm add @mastra/langsmith@latest
yarn add @mastra/langsmith@latest
bun add @mastra/langsmith@latest
設定設定への直接リンク
前提条件前提条件への直接リンク
- LangSmith アカウント: smith.langchain.com で登録します
- API キー: LangSmith の Settings → API Keys で API キーを生成します
- 環境変数: 認証情報を設定します
.env
# Required
LANGSMITH_API_KEY=ls-xxxxxxxxxxxx
# Optional
LANGCHAIN_PROJECT=my-project # Default project for traces
LANGSMITH_BASE_URL=https://api.smith.langchain.com # For self-hosted
設定不要でのセットアップ設定不要でのセットアップへの直接リンク
環境変数を設定したら、設定を渡さずに exporter を使用できます。
src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { LangSmithExporter } from '@mastra/langsmith'
export const mastra = new Mastra({
observability: new Observability({
configs: {
langsmith: {
serviceName: 'my-service',
exporters: [new LangSmithExporter()],
},
},
}),
})
明示的な設定明示的な設定への直接リンク
認証情報を直接渡すこともできます。この値は環境変数より優先されます。
src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { Observability } from '@mastra/observability'
import { LangSmithExporter } from '@mastra/langsmith'
export const mastra = new Mastra({
observability: new Observability({
configs: {
langsmith: {
serviceName: 'my-service',
exporters: [
new LangSmithExporter({
apiKey: process.env.LANGSMITH_API_KEY,
}),
],
},
},
}),
})
設定オプション設定オプションへの直接リンク
完全な設定完全な設定への直接リンク
new LangSmithExporter({
// Required credentials
apiKey: process.env.LANGSMITH_API_KEY!,
// Optional settings
apiUrl: process.env.LANGSMITH_BASE_URL, // Default: https://api.smith.langchain.com
projectName: 'my-project', // Project to send traces to (overrides LANGCHAIN_PROJECT env var)
callerOptions: {
// HTTP client options
timeout: 30000, // Request timeout in ms
maxRetries: 3, // Retry attempts
},
logLevel: 'info', // Diagnostic logging: debug | info | warn | error
// LangSmith-specific options
hideInputs: false, // Hide input data in UI
hideOutputs: false, // Hide output data in UI
})
環境変数環境変数への直接リンク
| 変数 | 説明 |
|---|---|
LANGSMITH_API_KEY | LangSmith API キー(必須) |
LANGCHAIN_PROJECT | トレースのデフォルトプロジェクト名(任意、デフォルトは "default") |
LANGSMITH_BASE_URL | セルフホストインスタンスの API URL(任意) |
projectName 設定オプションは LANGCHAIN_PROJECT 環境変数より優先されるため、トレースをプログラムから別のプロジェクトへ振り分けられます。
動的な設定動的な設定への直接リンク
withLangsmithMetadata を使用すると、span ごとに LangSmith の設定を実行時に上書きできます。これは、実行時の条件(顧客、環境、機能など)に基づいてトレースを別のプロジェクトへ振り分ける場合に便利です。
Helper の使用Helper の使用への直接リンク
withLangsmithMetadata と buildTracingOptions を使用して、LangSmith 固有のオプションを設定します。
src/agents/support-agent.ts
import { Agent } from '@mastra/core/agent'
import { buildTracingOptions } from '@mastra/observability'
import { withLangsmithMetadata } from '@mastra/langsmith'
export const supportAgent = new Agent({
id: 'support-agent',
name: 'support-agent',
instructions: 'You are a helpful support agent.',
model: 'openai/gpt-5.6-sol',
defaultOptions: {
tracingOptions: buildTracingOptions(withLangsmithMetadata({ projectName: 'customer-support' })),
},
})
動的なプロジェクトの振り分け動的なプロジェクトの振り分けへの直接リンク
requestContext を使用して、実行時の条件に基づきトレースを別のプロジェクトへ振り分けます。
src/mastra/agents/support-agent.ts
import { Agent } from '@mastra/core/agent'
import { buildTracingOptions } from '@mastra/observability'
import { withLangsmithMetadata } from '@mastra/langsmith'
export const supportAgent = new Agent({
id: 'support-agent',
name: 'support-agent',
instructions: 'You are a helpful support agent.',
model: 'openai/gpt-5.6-sol',
defaultOptions: ({ requestContext }) => {
const userTier = requestContext?.get('user-tier') as string
const userId = requestContext?.get('user-id') as string
return {
tracingOptions: buildTracingOptions(
withLangsmithMetadata({
projectName: userTier === 'enterprise' ? 'enterprise-traces' : 'standard-traces',
sessionId: userId,
}),
),
}
},
})
使用可能なフィールド使用可能なフィールドへの直接リンク
withLangsmithMetadata helper は次のフィールドを受け取ります。
| フィールド | 型 | 説明 |
|---|---|---|
projectName | string | このトレースのプロジェクトを上書きします |
sessionId | string | 関連するトレースをセッション単位でグループ化します |
sessionName | string | セッションの表示名です |
すべてのフィールドは任意です。helper は既存の metadata とマージされるため、複数回呼び出したり、ほかのトレースオプションと組み合わせたりできます。