@fiddler-ai/langchain
v0.1.1
Published
LangChain JS instrumentation for Fiddler observability — auto-traces LangChain applications via OpenTelemetry
Maintainers
Readme
@fiddler-ai/langchain
LangChain JS instrumentation for Fiddler observability. Auto-traces LangChain applications via OpenTelemetry.
Note: If you're using LangGraph, see
@fiddler-ai/langgraphinstead. Both packages use the same callback handler under the hood — this package provides a clean import path for LangChain-only users.
Installation
npm install @fiddler-ai/langchain @fiddler-ai/otel @opentelemetry/api @langchain/coreQuick Start
import { FiddlerClient } from "@fiddler-ai/otel";
import { LangChainInstrumentor, setConversationId } from "@fiddler-ai/langchain";
// 1. Create a Fiddler client
const client = new FiddlerClient({
url: "https://app.fiddler.ai",
apiKey: process.env.FIDDLER_API_KEY!,
applicationId: "your-app-uuid",
});
// 2. Auto-instrument LangChain
const instrumentor = new LangChainInstrumentor(client);
await instrumentor.instrument();
// 3. Set conversation context
setConversationId("session-123");
// 4. Use LangChain normally — traces are auto-captured
const chain = prompt.pipe(model).pipe(outputParser);
const result = await chain.invoke({ input: "Hello" });
// 5. Flush before exit
await client.flush();Manual Callback Handler
import { FiddlerClient } from "@fiddler-ai/otel";
import { FiddlerCallbackHandler } from "@fiddler-ai/langchain";
const client = new FiddlerClient({ /* ... */ });
const handler = new FiddlerCallbackHandler(client);
const result = await chain.invoke(
{ input: "Hello" },
{ callbacks: [handler] },
);Context Utilities
import {
setConversationId,
addSessionAttributes,
setLlmContext,
} from "@fiddler-ai/langchain";
setConversationId("thread-abc");
addSessionAttributes({ userId: "user-123" });
setLlmContext(chatModel, "Retrieved context: ...");Requirements
- Node.js >= 20
@langchain/core>= 0.3.0@fiddler-ai/otel>= 0.1.0@opentelemetry/api>= 1.9.0
