LangSmith Exporter
LangSmith is LangChain's platform for monitoring and evaluating LLM applications. The LangSmith exporter sends your traces to LangSmith, providing insights into model performance, debugging capabilities, and evaluation workflows.
InstallationDirect link to Installation
npm install @mastra/langsmith@beta
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
# 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
Zero-Config SetupDirect link to Zero-Config Setup
With environment variables set, use the exporter with no configuration:
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()],
},
},
}),
});
Explicit ConfigurationDirect link to Explicit Configuration
You can also pass credentials directly (takes precedence over environment variables):
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,
}),
],
},
},
}),
});
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
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
});
Environment VariablesDirect link to Environment Variables
| Variable | Description |
|---|---|
LANGSMITH_API_KEY | Your LangSmith API key (required) |
LANGCHAIN_PROJECT | Default project name for traces (optional, defaults to "default") |
LANGSMITH_BASE_URL | API URL for self-hosted instances (optional) |
The projectName config option takes precedence over the LANGCHAIN_PROJECT environment variable, allowing you to programmatically route traces to different projects.