@langfuse/openai 5.9.0 → 5.10.0
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.
- package/README.md +55 -10
- package/package.json +11 -6
package/README.md
CHANGED
|
@@ -1,23 +1,68 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
# @langfuse/openai
|
|
4
4
|
|
|
5
|
-
|
|
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
|
|
10
|
-
|
|
|
11
|
-
| [@langfuse/
|
|
12
|
-
| [@langfuse/
|
|
13
|
-
| [@langfuse/
|
|
14
|
-
| [@langfuse/openai](
|
|
15
|
-
| [@langfuse/langchain](
|
|
49
|
+
| Package | NPM | Description | Environments |
|
|
50
|
+
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ------------ |
|
|
51
|
+
| [@langfuse/tracing](https://github.com/langfuse/langfuse-js/tree/main/packages/tracing) | [](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) | [](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) | [](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) | [](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) | [](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) | [](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) | [](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) | [](https://www.npmjs.com/package/@langfuse/core) | Shared core: generated API client, logger, utilities | Universal JS |
|
|
16
59
|
|
|
17
60
|
## Documentation
|
|
18
61
|
|
|
19
|
-
-
|
|
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.
|
|
3
|
+
"version": "5.10.0",
|
|
4
4
|
"description": "Langfuse integration for OpenAI SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -9,9 +9,14 @@
|
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
"import": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.mjs"
|
|
15
|
+
},
|
|
16
|
+
"require": {
|
|
17
|
+
"types": "./dist/index.d.cts",
|
|
18
|
+
"default": "./dist/index.cjs"
|
|
19
|
+
}
|
|
15
20
|
}
|
|
16
21
|
},
|
|
17
22
|
"author": "Langfuse",
|
|
@@ -25,8 +30,8 @@
|
|
|
25
30
|
"dist"
|
|
26
31
|
],
|
|
27
32
|
"dependencies": {
|
|
28
|
-
"@langfuse/core": "^5.
|
|
29
|
-
"@langfuse/tracing": "^5.
|
|
33
|
+
"@langfuse/core": "^5.10.0",
|
|
34
|
+
"@langfuse/tracing": "^5.10.0"
|
|
30
35
|
},
|
|
31
36
|
"devDependencies": {
|
|
32
37
|
"openai": "^5.0.0"
|