LangSmith Exporter
LangSmith is LangChain's platform for monitoring and evaluating LLM applications. The LangSmith exporter sends your AI traces to LangSmith, providing insights into model performance, debugging capabilities, and evaluation workflows.
When to Use LangSmithDirect link to When to Use LangSmith
LangSmith is ideal when you need:
- LangChain ecosystem integration - Native support for LangChain applications
- Debugging and testing - Detailed trace visualization and replay
- Evaluation pipelines - Built-in evaluation and dataset management
- Prompt versioning - Track and compare prompt variations
- Collaboration features - Team workspaces and shared projects
InstallationDirect link to Installation
npm install @mastra/langsmith
ConfigurationDirect link to Configuration
PrerequisitesDirect link to Prerequisites
- LangSmith Account: Sign up at smith.langchain.com
- API Key: Generate an API key in LangSmith Settings → API Keys
- Environment Variables: Set your credentials
.env
LANGSMITH_API_KEY=ls-xxxxxxxxxxxx
LANGSMITH_BASE_URL=https://api.smith.langchain.com # Optional for self-hosted
Basic SetupDirect link to Basic Setup
src/mastra/index.ts
import { Mastra } from "@mastra/core";
import { LangSmithExporter } from "@mastra/langsmith";
export const mastra = new Mastra({
observability: {
configs: {
langsmith: {
serviceName: "my-service",
exporters: [
new LangSmithExporter({
apiKey: process.env.LANGSMITH_API_KEY,
}),
],
},
},
},
});
Configuration OptionsDirect link to Configuration Options
Complete ConfigurationDirect link to Complete Configuration
new LangSmithExporter({
// Required credentials
apiKey: process.env.LANGSMITH_API_KEY!,
// Optional settings
apiUrl: process.env.LANGSMITH_BASE_URL, // Default: https://api.smith.langchain.com
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
});