Use wrapAISDK from langsmith/experimental/vercel instead. OpenTelemetry trace exporter for Vercel AI SDK.
wrapAISDK
langsmith/experimental/vercel
import { AISDKExporter } from "langsmith/vercel";import { Client } from "langsmith";import { generateText } from "ai";import { openai } from "@ai-sdk/openai";import { NodeSDK } from "@opentelemetry/sdk-node";import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";const client = new Client();const sdk = new NodeSDK({ traceExporter: new AISDKExporter({ client }), instrumentations: [getNodeAutoInstrumentations()],});sdk.start();const res = await generateText({ model: openai("gpt-4o-mini"), messages: [ { role: "user", content: "What color is the sky?", }, ], experimental_telemetry: AISDKExporter.getSettings({ runName: "langsmith_traced_call", metadata: { userId: "123", language: "english" }, }),});await sdk.shutdown(); Copy
import { AISDKExporter } from "langsmith/vercel";import { Client } from "langsmith";import { generateText } from "ai";import { openai } from "@ai-sdk/openai";import { NodeSDK } from "@opentelemetry/sdk-node";import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";const client = new Client();const sdk = new NodeSDK({ traceExporter: new AISDKExporter({ client }), instrumentations: [getNodeAutoInstrumentations()],});sdk.start();const res = await generateText({ model: openai("gpt-4o-mini"), messages: [ { role: "user", content: "What color is the sky?", }, ], experimental_telemetry: AISDKExporter.getSettings({ runName: "langsmith_traced_call", metadata: { userId: "123", language: "english" }, }),});await sdk.shutdown();
Optional
Protected
Static
Deprecated
Use
wrapAISDK
fromlangsmith/experimental/vercel
instead. OpenTelemetry trace exporter for Vercel AI SDK.Example