@mutagent/langchain
v0.1.2
Published
MutagenT integration for LangChain - callback handler for tracing LLM calls
Maintainers
Readme
MutagenT LangChain
╔════════════════════════════════════════════════════════════════════════════════════════════╗
║ ║
║ ███╗ ███╗██╗ ██╗████████╗ █████╗ ██████╗ ███████╗███╗ ██╗████████╗ ║
║ ████╗ ████║██║ ██║╚══██╔══╝██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝ ║
║ ██╔████╔██║██║ ██║ ██║ ███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ ║
║ ██║╚██╔╝██║██║ ██║ ██║ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ║
║ ██║ ╚═╝ ██║╚██████╔╝ ██║ ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ║
║ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ║
║ ║
║ ██╗ █████╗ ███╗ ██╗ ██████╗ ██████╗██╗ ██╗ █████╗ ██╗███╗ ██╗ ║
║ ██║ ██╔══██╗████╗ ██║██╔════╝ ██╔════╝██║ ██║██╔══██╗██║████╗ ██║ ║
║ ██║ ███████║██╔██╗ ██║██║ ███╗██║ ███████║███████║██║██╔██╗ ██║ ║
║ ██║ ██╔══██║██║╚██╗██║██║ ██║██║ ██╔══██║██╔══██║██║██║╚██╗██║ ║
║ ███████╗██║ ██║██║ ╚████║╚██████╔╝╚██████╗██║ ██║██║ ██║██║██║ ╚████║ ║
║ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ║
║ ║
║ LangChain Integration for AI-Native Observability. ║
║ ║
╚════════════════════════════════════════════════════════════════════════════════════════════╝LangChain callback handler for tracing LLM calls, chains, tools, and retrievers to MutagenT.
Installation
npm install @mutagent/langchain @mutagent/sdkPeer Dependencies
| Package | Version |
|---------|---------|
| @langchain/core | >=0.1.0 |
| @mutagent/sdk | ^0.1.0 |
Quick Start
import { MutagentCallbackHandler } from '@mutagent/langchain';
import { initTracing } from '@mutagent/sdk/tracing';
import { ChatOpenAI } from '@langchain/openai';
// Initialize tracing once at app startup
initTracing({ apiKey: process.env.MUTAGENT_API_KEY! });
// Create the callback handler
const handler = new MutagentCallbackHandler();
// Use with any LangChain component
const model = new ChatOpenAI({ model: 'gpt-4' });
const result = await model.invoke('Hello!', { callbacks: [handler] });
// Works with chains too
const result2 = await chain.invoke(input, { callbacks: [handler] });API Reference
MutagentCallbackHandler
Extends BaseCallbackHandler from @langchain/core. Automatically traces:
- LLM calls --
handleLLMStart,handleChatModelStart,handleLLMEnd,handleLLMError - Chains --
handleChainStart,handleChainEnd,handleChainError - Tools --
handleToolStart,handleToolEnd,handleToolError - Retrievers --
handleRetrieverStart,handleRetrieverEnd,handleRetrieverError
Parent-child span relationships are maintained automatically via LangChain's runId / parentRunId mechanism. Token usage metrics are extracted when available.
License
MIT
