Documentation Index
Fetch the complete documentation index at: https://arize-ax.mintlify.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
This module provides automatic instrumentation for LangChain.js, more specifically, the @langchain/core module. which may be used in conjunction with @opentelemetry/sdk-trace-node.
Install
npm install --save @arizeai/openinference-instrumentation-langchain @arizeai/openinference-semantic-conventions @opentelemetry/exporter-trace-otlp-proto @opentelemetry/resources @opentelemetry/sdk-trace-node @opentelemetry/semantic-conventions
Setup
To load the LangChain instrumentation, manually instrument the @langchain/core/callbacks/manager module. The callbacks manager must be manually instrumented due to the non-traditional module structure in @langchain/core.
This instrumentation code must run before you create any LangChain clients.
import { SEMRESATTRS_PROJECT_NAME } from "@arizeai/openinference-semantic-conventions";
import { LangChainInstrumentation } from "@arizeai/openinference-instrumentation-langchain";
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
import { Resource } from "@opentelemetry/resources";
import { NodeTracerProvider, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-node";
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
import * as CallbackManagerModule from "@langchain/core/callbacks/manager";
const projectName = "your-langchain-project";
const provider = new NodeTracerProvider({
resource: new Resource({
[ATTR_SERVICE_NAME]: projectName,
[SEMRESATTRS_PROJECT_NAME]: projectName,
}),
spanProcessors: [
new SimpleSpanProcessor(
new OTLPTraceExporter({
url: "https://otlp.arize.com/v1/traces",
headers: {
space_id: process.env.ARIZE_SPACE_ID || "",
api_key: process.env.ARIZE_API_KEY || "",
},
})
),
],
});
provider.register();
const lcInstrumentation = new LangChainInstrumentation();
lcInstrumentation.manuallyInstrument(CallbackManagerModule);
Support
Instrumentation version >1.0.0 supports both attribute masking and context attribute propagation to spans.
| Instrumentation Version | LangChain ^0.3.0 | LangChain ^0.2.0 | LangChain ^0.1.0 |
|---|
>1.0.0 | ✅ | ✅ | ✅ |
>0.2.0 | ❌ | ✅ | ✅ |
>0.1.0 | ❌ | ❌ | ✅ |
Resources