@langfuse/openai
v5.11.1
Published
Langfuse integration for OpenAI SDK
Keywords
Readme
@langfuse/openai
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.
[!IMPORTANT] This is the current SDK generation (
@langfuse/*scoped packages). The unscopedlangfusenpm package is the legacy v3 SDK — for new integrations use the@langfuse/*packages. Migration guides: v3 → v4, v4 → v5.
Install
npm install @langfuse/openai @langfuse/otel openai @opentelemetry/sdk-trace-nodeEnvironment variables
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_BASE_URL="https://cloud.langfuse.com" # 🇪🇺 EU region. 🇺🇸 US: https://us.cloud.langfuse.comQuickstart
// 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?" }],
});Packages
| 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 |
Documentation
- OpenAI integration guide: https://langfuse.com/integrations/model-providers/openai-js
- Docs: https://langfuse.com/docs/observability/sdk/overview
- Reference: https://js.reference.langfuse.com
- LLM/agent-readable docs index: https://langfuse.com/llms.txt
