Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Arize-ai/openinference/llms.txt
Use this file to discover all available pages before exploring further.
This module provides automatic instrumentation for the OpenAI Node.js SDK which may be used in conjunction with OpenTelemetry.
Installation
Install the instrumentation package:
npm install --save @arizeai/openinference-instrumentation-openai
Usage
To load the OpenAI instrumentation, specify it in the registerInstrumentations call along with any additional instrumentation you wish to enable.
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
const { OpenAIInstrumentation } = require("@arizeai/openinference-instrumentation-openai");
const { registerInstrumentations } = require("@opentelemetry/instrumentation");
const provider = new NodeTracerProvider();
provider.register();
registerInstrumentations({
instrumentations: [new OpenAIInstrumentation()],
});
TypeScript Example
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { Resource } from "@opentelemetry/resources";
import { SEMRESATTRS_PROJECT_NAME } from "@arizeai/openinference-semantic-conventions";
import { OpenAIInstrumentation } from "@arizeai/openinference-instrumentation-openai";
import { registerInstrumentations } from "@opentelemetry/instrumentation";
// Create a custom tracer provider
const customTracerProvider = new NodeTracerProvider({
resource: new Resource({
[SEMRESATTRS_PROJECT_NAME]: "my-openai-project",
}),
});
// Pass the custom tracer provider to the instrumentation
const openaiInstrumentation = new OpenAIInstrumentation({
tracerProvider: customTracerProvider,
});
// Register the instrumentation with the custom tracer provider
registerInstrumentations({
instrumentations: [openaiInstrumentation],
tracerProvider: customTracerProvider,
});
Alternatively, you can set the tracer provider after creating the instrumentation:
const openaiInstrumentation = new OpenAIInstrumentation();
openaiInstrumentation.setTracerProvider(customTracerProvider);
Compatibility
@arizeai/openinference-instrumentation-openai is compatible with the following versions of the openai package:
| OpenAI Version | OpenInference Instrumentation Version |
|---|
| ^6.0.0 | ^4.0.0 |
| ^5.0.0 | ^3.0.0 |
| ^4.0.0 | ^2.0.0 |
Resources