Langfuse is the open-source LLM engineering platform: tracing & evaluation for LLM and agent applications, prompt management, datasets & experiments, and evaluation (scores). This package provides the observeOpenAI wrapper, which traces every call made through the official OpenAI SDK (chat completions, responses, embeddings, streaming) as Langfuse generations β including token usage and cost. Spans are exported by the LangfuseSpanProcessor from @langfuse/otel; prompt management, datasets/experiments, and evals/scores live in @langfuse/client.
This is the current SDK generation (@langfuse/* scoped packages). The unscoped langfuse npm package is the legacy v3 SDK β for new integrations use the @langfuse/* packages. Migration guides: v3 β v4, v4 β v5.
npm install @langfuse/openai @langfuse/otel openai @opentelemetry/sdk-trace-node
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_BASE_URL="https://cloud.langfuse.com" # πͺπΊ EU region. πΊπΈ US: https://us.cloud.langfuse.com
// Register the span processor once at startup
import { LangfuseSpanProcessor } from "@langfuse/otel";
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
new NodeTracerProvider({
spanProcessors: [new LangfuseSpanProcessor()],
}).register();
// Wrap the OpenAI client
import OpenAI from "openai";
import { observeOpenAI } from "@langfuse/openai";
const openai = observeOpenAI(new OpenAI());
const completion = await openai.chat.completions.create({
model: "gpt-5.1",
messages: [{ role: "user", content: "What is Langfuse?" }],
});
| Package | NPM | Description | Environments |
|---|---|---|---|
| @langfuse/tracing | OpenTelemetry-based tracing instrumentation | Node.js 20+ | |
| @langfuse/otel | LangfuseSpanProcessor to export OpenTelemetry spans to Langfuse |
Node.js 20+ | |
| @langfuse/client | Prompt management, datasets, experiments, scores, full REST API | Universal JS | |
| @langfuse/openai | observeOpenAI wrapper for tracing the OpenAI SDK |
Universal JS | |
| @langfuse/langchain | CallbackHandler for LangChain / LangGraph tracing |
Universal JS | |
| @langfuse/vercel-ai-sdk | Telemetry integration for Vercel AI SDK v7 | Universal JS | |
| @langfuse/browser | Browser score ingestion with public-key auth | Browser | |
| @langfuse/core | Shared core: generated API client, logger, utilities | Universal JS |