@langfuse/openai 5.9.1 → 5.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +55 -10
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,23 +1,68 @@
1
- ![GitHub Banner](https://github.com/langfuse/langfuse-js/assets/2834609/d1613347-445f-4e91-9e84-428fda9c3659)
1
+ ![GitHub Banner](https://github.com/user-attachments/assets/5810ae13-15d6-4b60-afd2-927adc501861)
2
2
 
3
3
  # @langfuse/openai
4
4
 
5
- This is the OpenAI integration package of the Langfuse JS SDK containing the `observeOpenAI` wrapper for the OpenAI client to trace generations.
5
+ [Langfuse](https://langfuse.com) 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`](https://www.npmjs.com/package/@langfuse/otel); prompt management, datasets/experiments, and evals/scores live in [`@langfuse/client`](https://www.npmjs.com/package/@langfuse/client).
6
+
7
+ > [!IMPORTANT]
8
+ > 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](https://langfuse.com/docs/observability/sdk/upgrade-path/js-v3-to-v4), [v4 → v5](https://langfuse.com/docs/observability/sdk/upgrade-path/js-v4-to-v5).
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ npm install @langfuse/openai @langfuse/otel openai @opentelemetry/sdk-trace-node
14
+ ```
15
+
16
+ ## Environment variables
17
+
18
+ ```bash
19
+ LANGFUSE_PUBLIC_KEY="pk-lf-..."
20
+ LANGFUSE_SECRET_KEY="sk-lf-..."
21
+ LANGFUSE_BASE_URL="https://cloud.langfuse.com" # 🇪🇺 EU region. 🇺🇸 US: https://us.cloud.langfuse.com
22
+ ```
23
+
24
+ ## Quickstart
25
+
26
+ ```typescript
27
+ // Register the span processor once at startup
28
+ import { LangfuseSpanProcessor } from "@langfuse/otel";
29
+ import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
30
+
31
+ new NodeTracerProvider({
32
+ spanProcessors: [new LangfuseSpanProcessor()],
33
+ }).register();
34
+
35
+ // Wrap the OpenAI client
36
+ import OpenAI from "openai";
37
+ import { observeOpenAI } from "@langfuse/openai";
38
+
39
+ const openai = observeOpenAI(new OpenAI());
40
+
41
+ const completion = await openai.chat.completions.create({
42
+ model: "gpt-5.1",
43
+ messages: [{ role: "user", content: "What is Langfuse?" }],
44
+ });
45
+ ```
6
46
 
7
47
  ## Packages
8
48
 
9
- | Package | NPM | Description | Environments |
10
- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------ |
11
- | [@langfuse/client](./packages/client) | [![NPM](https://img.shields.io/npm/v/@langfuse/client.svg)](https://www.npmjs.com/package/@langfuse/client) | Langfuse API client for universal JavaScript environments | Universal JS |
12
- | [@langfuse/tracing](./packages/tracing) | [![NPM](https://img.shields.io/npm/v/@langfuse/tracing.svg)](https://www.npmjs.com/package/@langfuse/tracing) | Langfuse instrumentation methods based on OpenTelemetry | Node.js 20+ |
13
- | [@langfuse/otel](./packages/otel) | [![NPM](https://img.shields.io/npm/v/@langfuse/otel.svg)](https://www.npmjs.com/package/@langfuse/otel) | Langfuse OpenTelemetry export helpers | Node.js 20+ |
14
- | [@langfuse/openai](./packages/openai) | [![NPM](https://img.shields.io/npm/v/@langfuse/openai.svg)](https://www.npmjs.com/package/@langfuse/openai) | Langfuse integration for OpenAI SDK | Universal JS |
15
- | [@langfuse/langchain](./packages/langchain) | [![NPM](https://img.shields.io/npm/v/@langfuse/langchain.svg)](https://www.npmjs.com/package/@langfuse/langchain) | Langfuse integration for LangChain | Universal JS |
49
+ | Package | NPM | Description | Environments |
50
+ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------ |
51
+ | [@langfuse/tracing](https://github.com/langfuse/langfuse-js/tree/main/packages/tracing) | [![NPM](https://img.shields.io/npm/v/@langfuse/tracing.svg)](https://www.npmjs.com/package/@langfuse/tracing) | OpenTelemetry-based tracing instrumentation | Node.js 20+ |
52
+ | [@langfuse/otel](https://github.com/langfuse/langfuse-js/tree/main/packages/otel) | [![NPM](https://img.shields.io/npm/v/@langfuse/otel.svg)](https://www.npmjs.com/package/@langfuse/otel) | `LangfuseSpanProcessor` to export OpenTelemetry spans to Langfuse | Node.js 20+ |
53
+ | [@langfuse/client](https://github.com/langfuse/langfuse-js/tree/main/packages/client) | [![NPM](https://img.shields.io/npm/v/@langfuse/client.svg)](https://www.npmjs.com/package/@langfuse/client) | Prompt management, datasets, experiments, scores, full REST API | Universal JS |
54
+ | [@langfuse/openai](https://github.com/langfuse/langfuse-js/tree/main/packages/openai) | [![NPM](https://img.shields.io/npm/v/@langfuse/openai.svg)](https://www.npmjs.com/package/@langfuse/openai) | `observeOpenAI` wrapper for tracing the OpenAI SDK | Universal JS |
55
+ | [@langfuse/langchain](https://github.com/langfuse/langfuse-js/tree/main/packages/langchain) | [![NPM](https://img.shields.io/npm/v/@langfuse/langchain.svg)](https://www.npmjs.com/package/@langfuse/langchain) | `CallbackHandler` for LangChain / LangGraph tracing | Universal JS |
56
+ | [@langfuse/vercel-ai-sdk](https://github.com/langfuse/langfuse-js/tree/main/packages/vercel-ai-sdk) | [![NPM](https://img.shields.io/npm/v/@langfuse/vercel-ai-sdk.svg)](https://www.npmjs.com/package/@langfuse/vercel-ai-sdk) | Telemetry integration for Vercel AI SDK v7 | Universal JS |
57
+ | [@langfuse/browser](https://github.com/langfuse/langfuse-js/tree/main/packages/browser) | [![NPM](https://img.shields.io/npm/v/@langfuse/browser.svg)](https://www.npmjs.com/package/@langfuse/browser) | Browser score ingestion with public-key auth | Browser |
58
+ | [@langfuse/core](https://github.com/langfuse/langfuse-js/tree/main/packages/core) | [![NPM](https://img.shields.io/npm/v/@langfuse/core.svg)](https://www.npmjs.com/package/@langfuse/core) | Shared core: generated API client, logger, utilities | Universal JS |
16
59
 
17
60
  ## Documentation
18
61
 
19
- - Docs: https://langfuse.com/docs/sdk/typescript
62
+ - OpenAI integration guide: https://langfuse.com/integrations/model-providers/openai-js
63
+ - Docs: https://langfuse.com/docs/observability/sdk/overview
20
64
  - Reference: https://js.reference.langfuse.com
65
+ - LLM/agent-readable docs index: https://langfuse.com/llms.txt
21
66
 
22
67
  ## License
23
68
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langfuse/openai",
3
- "version": "5.9.1",
3
+ "version": "5.10.1",
4
4
  "description": "Langfuse integration for OpenAI SDK",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -30,8 +30,8 @@
30
30
  "dist"
31
31
  ],
32
32
  "dependencies": {
33
- "@langfuse/core": "^5.9.1",
34
- "@langfuse/tracing": "^5.9.1"
33
+ "@langfuse/core": "^5.10.1",
34
+ "@langfuse/tracing": "^5.10.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "openai": "^5.0.0"