LangChain.js 的 OpenInformation 仪器
本模块为下列人员提供自动仪器: 兰钱.js. 可结合 @ opleteometry/ sdk- trace- 节点。 。 。 .
安装
npm install --save @arizeai/openinference-instrumentation-langchain
使用量
要装入 Langchain 仪表,手动仪表 @langchain/core/callbacks/manager 模块。 由于其中的非传统模块结构,召回管理器必须手动设置仪器 @langchain/core. 补充仪器可按惯例使用 registerInstrumentations 函数.
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { LangChainInstrumentation } from "@arizeai/openinference-instrumentation-langchain";
import * as CallbackManagerModule from "@langchain/core/callbacks/manager";
const provider = new NodeTracerProvider();
provider.register();
const lcInstrumentation = new LangChainInstrumentation();
// LangChain must be manually instrumented as it doesn't have a traditional module structure
lcInstrumentation.manuallyInstrument(CallbackManagerModule);
关于OpenTeleometry Node.js SDK的更多信息,请参见: OpenTeleometry 节点.js SDK 文档。 。 。 .
使用自定义追踪提供者
您可以在创建 LangChain 仪器时指定自定义的跟踪器提供者 。 当您想要使用非全局追踪器提供者或对追踪配置有更强的控制时,此功能是有用的.
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { Resource } from "@opentelemetry/resources";
import { SEMRESATTRS_PROJECT_NAME } from "@arizeai/openinference-semantic-conventions";
import { LangChainInstrumentation } from "@arizeai/openinference-instrumentation-langchain";
import * as CallbackManagerModule from "@langchain/core/callbacks/manager";
// Create a custom tracer provider
const customTracerProvider = new NodeTracerProvider({
resource: new Resource({
[SEMRESATTRS_PROJECT_NAME]: "my-langchain-project",
}),
});
// Pass the custom tracer provider to the instrumentation
const lcInstrumentation = new LangChainInstrumentation({
tracerProvider: customTracerProvider,
});
// Manually instrument the LangChain module
lcInstrumentation.manuallyInstrument(CallbackManagerModule);
或者,您可以在创建仪器后设置跟踪提供者:
const lcInstrumentation = new LangChainInstrumentation();
lcInstrumentation.setTracerProvider(customTracerProvider);
兼容性
| @ langchain/ 核心版本 | @arizeai/ openinference-instrument-langchain 版本 |
|---|---|
| ^ 1. 0 | ^ 4.0.0 (中文(简体) ) |
| ^0.3.0 (单位:千美元) | ^ 4.0.0 (中文(简体) ) |
此软件包仅测试于 1. X 版本 @langchain/core。旧版本可能有效,但没有得到官方支持。 对于LangChain.js的0.X版本的完全相容性,一个专用软件包叫做 openinference-instrumentation-langchain-v0 已提供.
折旧
LangChain v0.1于2025-03-02年被贬值,原因是核心套装的安全漏洞.