@traccia2/sdk 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/dist/integrations/auto-langchain.d.ts +4 -4
- package/dist/integrations/auto-langchain.d.ts.map +1 -1
- package/dist/integrations/auto-langchain.js +2 -2
- package/dist/integrations/auto-langchain.js.map +1 -1
- package/dist/integrations/index.d.ts +1 -1
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +2 -2
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/langchain-callback.d.ts +12 -5
- package/dist/integrations/langchain-callback.d.ts.map +1 -1
- package/dist/integrations/langchain-callback.js +58 -39
- package/dist/integrations/langchain-callback.js.map +1 -1
- package/package.json +6 -1
- package/src/__tests__/integrations-langchain.test.ts +28 -28
- package/src/integrations/auto-langchain.ts +6 -6
- package/src/integrations/index.ts +1 -1
- package/src/integrations/langchain-callback.ts +68 -35
package/README.md
CHANGED
|
@@ -332,11 +332,11 @@ await stopTracing();
|
|
|
332
332
|
|
|
333
333
|
#### LangChain with Callback Handler
|
|
334
334
|
|
|
335
|
-
The SDK provides a `
|
|
335
|
+
The SDK provides a `TracciaCallbackHandler` for seamless integration with LangChain. It extends LangChain's `BaseCallbackHandler` for proper type safety and interface compliance:
|
|
336
336
|
|
|
337
337
|
```typescript
|
|
338
338
|
import { startTracing, getTracerProvider } from '@traccia/sdk';
|
|
339
|
-
import {
|
|
339
|
+
import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
|
|
340
340
|
import { ChatOpenAI } from '@langchain/openai';
|
|
341
341
|
import { AgentExecutor, createOpenAIToolsAgent } from 'langchain/agents';
|
|
342
342
|
|
|
@@ -350,24 +350,24 @@ await startTracing({
|
|
|
350
350
|
});
|
|
351
351
|
|
|
352
352
|
// Create callback handler for tracing
|
|
353
|
-
const
|
|
353
|
+
const tracciaHandler = new TracciaCallbackHandler();
|
|
354
354
|
|
|
355
355
|
// Use with LangChain models and agents
|
|
356
356
|
const model = new ChatOpenAI({
|
|
357
357
|
modelName: 'gpt-4',
|
|
358
|
-
callbacks: [
|
|
358
|
+
callbacks: [tracciaHandler],
|
|
359
359
|
});
|
|
360
360
|
|
|
361
361
|
const agent = await createOpenAIToolsAgent({
|
|
362
362
|
llmWithTools: model,
|
|
363
363
|
tools: [yourTools],
|
|
364
|
-
callbacks: [
|
|
364
|
+
callbacks: [tracciaHandler],
|
|
365
365
|
});
|
|
366
366
|
|
|
367
367
|
const executor = new AgentExecutor({
|
|
368
368
|
agent,
|
|
369
369
|
tools: [yourTools],
|
|
370
|
-
callbacks: [
|
|
370
|
+
callbacks: [tracciaHandler],
|
|
371
371
|
});
|
|
372
372
|
|
|
373
373
|
// Run with automatic tracing
|
|
@@ -386,7 +386,7 @@ If you're using ChatOllama instead of ChatOpenAI for local LLM inference:
|
|
|
386
386
|
|
|
387
387
|
```typescript
|
|
388
388
|
import { startTracing, getTracerProvider } from '@traccia/sdk';
|
|
389
|
-
import {
|
|
389
|
+
import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
|
|
390
390
|
import { ChatOllama } from '@langchain/ollama';
|
|
391
391
|
|
|
392
392
|
// Initialize tracing
|
|
@@ -398,13 +398,13 @@ await startTracing({
|
|
|
398
398
|
});
|
|
399
399
|
|
|
400
400
|
// Create callback handler
|
|
401
|
-
const
|
|
401
|
+
const tracciaHandler = new TracciaCallbackHandler();
|
|
402
402
|
|
|
403
403
|
// Use with ChatOllama (local model)
|
|
404
404
|
const model = new ChatOllama({
|
|
405
405
|
model: 'mistral', // or 'llama2', 'neural-chat', etc.
|
|
406
406
|
baseUrl: 'http://localhost:11434', // Ollama server
|
|
407
|
-
callbacks: [
|
|
407
|
+
callbacks: [tracciaHandler], // Enable tracing
|
|
408
408
|
});
|
|
409
409
|
|
|
410
410
|
// Use the model - fully traced!
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
* Instead of manually passing callbacks to every component, use these
|
|
5
5
|
* convenience functions for automatic instrumentation with zero boilerplate.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { TracciaCallbackHandler } from './langchain-callback';
|
|
8
8
|
/**
|
|
9
9
|
* Get or create the global Traccia callback handler.
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* // Instead of:
|
|
13
|
-
* const handler = new
|
|
13
|
+
* const handler = new TracciaCallbackHandler();
|
|
14
14
|
* const model = new ChatOpenAI({ callbacks: [handler] });
|
|
15
15
|
*
|
|
16
16
|
* // Just do:
|
|
17
17
|
* const model = new ChatOpenAI({ callbacks: [getTraciaHandler()] });
|
|
18
18
|
*/
|
|
19
|
-
export declare function getTraciaHandler():
|
|
19
|
+
export declare function getTraciaHandler(): TracciaCallbackHandler;
|
|
20
20
|
/**
|
|
21
21
|
* Wrap any LangChain model/chain/agent with automatic tracing.
|
|
22
22
|
*
|
|
@@ -103,6 +103,6 @@ export declare function setupLangChainWithTracing(options: {
|
|
|
103
103
|
}): Promise<{
|
|
104
104
|
model: any;
|
|
105
105
|
executor: any;
|
|
106
|
-
handler:
|
|
106
|
+
handler: TracciaCallbackHandler;
|
|
107
107
|
}>;
|
|
108
108
|
//# sourceMappingURL=auto-langchain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auto-langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CAKzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAkB1D;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAWlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,GAAG,CAAC;CACb,GAAG,OAAO,CAAC,GAAG,CAAC,CAkBf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,IAEnC,SAAS,GAAG,EACZ,aAAa,MAAM,EACnB,YAAY,kBAAkB,wBA0BjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC,CA8DD"}
|
|
@@ -56,7 +56,7 @@ let globalTraciaHandler = null;
|
|
|
56
56
|
*
|
|
57
57
|
* @example
|
|
58
58
|
* // Instead of:
|
|
59
|
-
* const handler = new
|
|
59
|
+
* const handler = new TracciaCallbackHandler();
|
|
60
60
|
* const model = new ChatOpenAI({ callbacks: [handler] });
|
|
61
61
|
*
|
|
62
62
|
* // Just do:
|
|
@@ -64,7 +64,7 @@ let globalTraciaHandler = null;
|
|
|
64
64
|
*/
|
|
65
65
|
function getTraciaHandler() {
|
|
66
66
|
if (!globalTraciaHandler) {
|
|
67
|
-
globalTraciaHandler = new langchain_callback_1.
|
|
67
|
+
globalTraciaHandler = new langchain_callback_1.TracciaCallbackHandler();
|
|
68
68
|
}
|
|
69
69
|
return globalTraciaHandler;
|
|
70
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-langchain.js","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBH,4CAKC;AAYD,kCAkBC;AASD,gDAWC;AAcD,8DAuBC;AAaD,oDAqBC;AAgBD,wBA8BC;AAcD,8DAuEC;AAnRD,
|
|
1
|
+
{"version":3,"file":"auto-langchain.js","sourceRoot":"","sources":["../../src/integrations/auto-langchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module integrations
|
|
6
6
|
*/
|
|
7
|
-
export {
|
|
7
|
+
export { TracciaCallbackHandler } from './langchain-callback';
|
|
8
8
|
export { getTraciaHandler, withTracing, createTracedOpenAI, createTracedAgentExecutor, createTracedLLMChain, traced, setupLangChainWithTracing, } from './auto-langchain';
|
|
9
9
|
export { instrumentLangGraph, createTracedNode, createTracedConditional, } from './langgraph-instrumentation';
|
|
10
10
|
export { wrapGraphWithTracing, tracedNode, tracedConditional, createSimpleTracedGraph, traceableFunction, createAgentWorkflow, } from './auto-langgraph';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,MAAM,EACN,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* @module integrations
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.POPULAR_OLLAMA_MODELS = exports.getOllamaSetupInstructions = exports.createOllamaStreamingChatbot = exports.createOllamaChatbot = exports.setupOllamaWithTracing = exports.createOllamaWithTracing = exports.createAgentWorkflow = exports.traceableFunction = exports.createSimpleTracedGraph = exports.tracedConditional = exports.tracedNode = exports.wrapGraphWithTracing = exports.createTracedConditional = exports.createTracedNode = exports.instrumentLangGraph = exports.setupLangChainWithTracing = exports.traced = exports.createTracedLLMChain = exports.createTracedAgentExecutor = exports.createTracedOpenAI = exports.withTracing = exports.getTraciaHandler = exports.
|
|
9
|
+
exports.POPULAR_OLLAMA_MODELS = exports.getOllamaSetupInstructions = exports.createOllamaStreamingChatbot = exports.createOllamaChatbot = exports.setupOllamaWithTracing = exports.createOllamaWithTracing = exports.createAgentWorkflow = exports.traceableFunction = exports.createSimpleTracedGraph = exports.tracedConditional = exports.tracedNode = exports.wrapGraphWithTracing = exports.createTracedConditional = exports.createTracedNode = exports.instrumentLangGraph = exports.setupLangChainWithTracing = exports.traced = exports.createTracedLLMChain = exports.createTracedAgentExecutor = exports.createTracedOpenAI = exports.withTracing = exports.getTraciaHandler = exports.TracciaCallbackHandler = void 0;
|
|
10
10
|
// LangChain integrations
|
|
11
11
|
var langchain_callback_1 = require("./langchain-callback");
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "TracciaCallbackHandler", { enumerable: true, get: function () { return langchain_callback_1.TracciaCallbackHandler; } });
|
|
13
13
|
var auto_langchain_1 = require("./auto-langchain");
|
|
14
14
|
Object.defineProperty(exports, "getTraciaHandler", { enumerable: true, get: function () { return auto_langchain_1.getTraciaHandler; } });
|
|
15
15
|
Object.defineProperty(exports, "withTracing", { enumerable: true, get: function () { return auto_langchain_1.withTracing; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yBAAyB;AACzB,2DAA8D;AAArD,4HAAA,sBAAsB,OAAA;AAC/B,mDAQ0B;AAPxB,kHAAA,gBAAgB,OAAA;AAChB,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAClB,2HAAA,yBAAyB,OAAA;AACzB,sHAAA,oBAAoB,OAAA;AACpB,wGAAA,MAAM,OAAA;AACN,2HAAA,yBAAyB,OAAA;AAG3B,yBAAyB;AACzB,yEAIqC;AAHnC,gIAAA,mBAAmB,OAAA;AACnB,6HAAA,gBAAgB,OAAA;AAChB,oIAAA,uBAAuB,OAAA;AAEzB,mDAO0B;AANxB,sHAAA,oBAAoB,OAAA;AACpB,4GAAA,UAAU,OAAA;AACV,mHAAA,iBAAiB,OAAA;AACjB,yHAAA,uBAAuB,OAAA;AACvB,mHAAA,iBAAiB,OAAA;AACjB,qHAAA,mBAAmB,OAAA;AAGrB,sBAAsB;AACtB,2DAO8B;AAN5B,6HAAA,uBAAuB,OAAA;AACvB,4HAAA,sBAAsB,OAAA;AACtB,yHAAA,mBAAmB,OAAA;AACnB,kIAAA,4BAA4B,OAAA;AAC5B,gIAAA,0BAA0B,OAAA;AAC1B,2HAAA,qBAAqB,OAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Integrates with LangChain's callback system to automatically instrument
|
|
4
4
|
* LLM calls, chains, agents, and tools.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
|
|
7
7
|
/**
|
|
8
8
|
* LangChain Callback Handler for Traccia SDK.
|
|
9
9
|
* Automatically traces LLM calls, chains, agents, and tools.
|
|
@@ -13,17 +13,19 @@ declare let BaseCallbackHandler: any;
|
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* import { ChatOpenAI } from '@langchain/openai';
|
|
16
|
-
* import {
|
|
16
|
+
* import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
|
|
17
17
|
*
|
|
18
|
-
* const handler = new
|
|
18
|
+
* const handler = new TracciaCallbackHandler();
|
|
19
19
|
* const model = new ChatOpenAI({ callbacks: [handler] });
|
|
20
20
|
*
|
|
21
21
|
* const response = await model.invoke({ input: 'Hello!' });
|
|
22
22
|
* // Automatically traced with spans for LLM calls, tokens, latency, etc.
|
|
23
23
|
*/
|
|
24
|
-
export declare class
|
|
24
|
+
export declare class TracciaCallbackHandler extends BaseCallbackHandler {
|
|
25
|
+
name: string;
|
|
25
26
|
private tracer;
|
|
26
27
|
private spanStack;
|
|
28
|
+
private streamingStartTimes;
|
|
27
29
|
/**
|
|
28
30
|
* Extract model name from LLM instance, checking multiple property locations.
|
|
29
31
|
* Different LLM implementations store the model name in different properties.
|
|
@@ -41,6 +43,11 @@ export declare class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
41
43
|
* Handle LLM error.
|
|
42
44
|
*/
|
|
43
45
|
handleLLMError(error: Error, runId: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Handle LLM new token - called when a new token is generated during streaming.
|
|
48
|
+
* Tracks first token latency and token count for streaming scenarios.
|
|
49
|
+
*/
|
|
50
|
+
handleLLMNewToken(_token: string, _idx?: any, runId?: string): Promise<void>;
|
|
44
51
|
/**
|
|
45
52
|
* Handle chain start - called when a chain begins execution.
|
|
46
53
|
*/
|
|
@@ -76,6 +83,7 @@ export declare class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
76
83
|
onLLMStart(llm: any, prompts: string[], runId: string, parentRunId?: string): Promise<void>;
|
|
77
84
|
onLLMEnd(output: any, runId: string): Promise<void>;
|
|
78
85
|
onLLMError(error: Error, runId: string): Promise<void>;
|
|
86
|
+
onLLMNewToken(_token: string, idx?: any, runId?: string): Promise<void>;
|
|
79
87
|
onChainStart(chain: any, inputs: any, runId: string, parentRunId?: string): Promise<void>;
|
|
80
88
|
onChainEnd(output: any, runId: string): Promise<void>;
|
|
81
89
|
onChainError(error: Error, runId: string): Promise<void>;
|
|
@@ -85,5 +93,4 @@ export declare class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
85
93
|
onAgentAction(action: any, runId: string): Promise<void>;
|
|
86
94
|
onAgentFinish(finish: any, runId: string): Promise<void>;
|
|
87
95
|
}
|
|
88
|
-
export {};
|
|
89
96
|
//# sourceMappingURL=langchain-callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain-callback.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"langchain-callback.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,35 +5,9 @@
|
|
|
5
5
|
* LLM calls, chains, agents, and tools.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
8
|
+
exports.TracciaCallbackHandler = void 0;
|
|
9
9
|
const auto_1 = require("../auto");
|
|
10
|
-
|
|
11
|
-
let BaseCallbackHandler = class {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.ignoreAgent = false;
|
|
14
|
-
this.ignoreChain = false;
|
|
15
|
-
this.ignoreLLM = false;
|
|
16
|
-
this.ignoreRetriever = false;
|
|
17
|
-
this.ignoreToolUse = false;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
try {
|
|
21
|
-
// Try LangChain 0.2.x+
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
23
|
-
const { BaseCallbackHandler: Handler } = require('@langchain/core/callbacks/base');
|
|
24
|
-
BaseCallbackHandler = Handler;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
try {
|
|
28
|
-
// Try older LangChain versions
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
30
|
-
const { BaseCallbackHandler: Handler } = require('langchain/callbacks');
|
|
31
|
-
BaseCallbackHandler = Handler;
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
// Fallback to basic implementation - user likely has LangChain installed
|
|
35
|
-
}
|
|
36
|
-
}
|
|
10
|
+
const base_1 = require("@langchain/core/callbacks/base");
|
|
37
11
|
/**
|
|
38
12
|
* LangChain Callback Handler for Traccia SDK.
|
|
39
13
|
* Automatically traces LLM calls, chains, agents, and tools.
|
|
@@ -43,19 +17,21 @@ catch {
|
|
|
43
17
|
*
|
|
44
18
|
* @example
|
|
45
19
|
* import { ChatOpenAI } from '@langchain/openai';
|
|
46
|
-
* import {
|
|
20
|
+
* import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
|
|
47
21
|
*
|
|
48
|
-
* const handler = new
|
|
22
|
+
* const handler = new TracciaCallbackHandler();
|
|
49
23
|
* const model = new ChatOpenAI({ callbacks: [handler] });
|
|
50
24
|
*
|
|
51
25
|
* const response = await model.invoke({ input: 'Hello!' });
|
|
52
26
|
* // Automatically traced with spans for LLM calls, tokens, latency, etc.
|
|
53
27
|
*/
|
|
54
|
-
class
|
|
28
|
+
class TracciaCallbackHandler extends base_1.BaseCallbackHandler {
|
|
55
29
|
constructor() {
|
|
56
30
|
super(...arguments);
|
|
31
|
+
this.name = 'TracciaCallbackHandler';
|
|
57
32
|
this.tracer = (0, auto_1.getTracer)('langchain');
|
|
58
33
|
this.spanStack = new Map();
|
|
34
|
+
this.streamingStartTimes = {};
|
|
59
35
|
}
|
|
60
36
|
/**
|
|
61
37
|
* Extract model name from LLM instance, checking multiple property locations.
|
|
@@ -120,21 +96,42 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
120
96
|
if (span) {
|
|
121
97
|
try {
|
|
122
98
|
// Try multiple ways to get token usage
|
|
123
|
-
// OpenAI format
|
|
99
|
+
// OpenAI format and new @langchain/core format
|
|
124
100
|
const tokenUsage = output?.llmOutput?.token_usage ||
|
|
101
|
+
output?.llmOutput?.tokenUsage ||
|
|
125
102
|
output?.token_usage ||
|
|
126
103
|
output?.metadata?.token_usage;
|
|
127
104
|
if (tokenUsage) {
|
|
128
|
-
|
|
129
|
-
|
|
105
|
+
// Handle standard token counts
|
|
106
|
+
const promptTokens = tokenUsage.prompt_tokens ?? tokenUsage.promptTokens;
|
|
107
|
+
const completionTokens = tokenUsage.completion_tokens ?? tokenUsage.completionTokens;
|
|
108
|
+
const totalTokens = tokenUsage.total_tokens ?? tokenUsage.totalTokens;
|
|
109
|
+
if (promptTokens !== undefined) {
|
|
110
|
+
span.setAttribute('llm.tokens.prompt', promptTokens);
|
|
130
111
|
}
|
|
131
|
-
if (
|
|
132
|
-
span.setAttribute('llm.tokens.completion',
|
|
112
|
+
if (completionTokens !== undefined) {
|
|
113
|
+
span.setAttribute('llm.tokens.completion', completionTokens);
|
|
133
114
|
}
|
|
134
|
-
|
|
135
|
-
if (totalTokens > 0) {
|
|
115
|
+
if (totalTokens !== undefined) {
|
|
136
116
|
span.setAttribute('llm.tokens.total', totalTokens);
|
|
137
117
|
}
|
|
118
|
+
// Handle detailed token breakdown for models like GPT-4o vision
|
|
119
|
+
// input_token_details contains breakdown of prompt token usage
|
|
120
|
+
if (tokenUsage.input_token_details && typeof tokenUsage.input_token_details === 'object') {
|
|
121
|
+
for (const [key, value] of Object.entries(tokenUsage.input_token_details)) {
|
|
122
|
+
if (typeof value === 'number') {
|
|
123
|
+
span.setAttribute(`llm.tokens.input_${key}`, value);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// output_token_details contains breakdown of completion token usage
|
|
128
|
+
if (tokenUsage.output_token_details && typeof tokenUsage.output_token_details === 'object') {
|
|
129
|
+
for (const [key, value] of Object.entries(tokenUsage.output_token_details)) {
|
|
130
|
+
if (typeof value === 'number') {
|
|
131
|
+
span.setAttribute(`llm.tokens.output_${key}`, value);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
138
135
|
}
|
|
139
136
|
// Capture output text length
|
|
140
137
|
if (output?.text) {
|
|
@@ -179,6 +176,25 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
179
176
|
this.spanStack.delete(runId);
|
|
180
177
|
}
|
|
181
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Handle LLM new token - called when a new token is generated during streaming.
|
|
181
|
+
* Tracks first token latency and token count for streaming scenarios.
|
|
182
|
+
*/
|
|
183
|
+
async handleLLMNewToken(_token, _idx, runId) {
|
|
184
|
+
if (runId && !(runId in this.streamingStartTimes)) {
|
|
185
|
+
// Record the time of the first streaming token
|
|
186
|
+
this.streamingStartTimes[runId] = new Date();
|
|
187
|
+
const span = this.spanStack.get(runId);
|
|
188
|
+
if (span) {
|
|
189
|
+
try {
|
|
190
|
+
span.setAttribute('stream.first_token_generated', true);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
// Silently fail
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
182
198
|
/**
|
|
183
199
|
* Handle chain start - called when a chain begins execution.
|
|
184
200
|
*/
|
|
@@ -323,6 +339,9 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
323
339
|
async onLLMError(error, runId) {
|
|
324
340
|
return this.handleLLMError(error, runId);
|
|
325
341
|
}
|
|
342
|
+
async onLLMNewToken(_token, idx, runId) {
|
|
343
|
+
return this.handleLLMNewToken(_token, idx, runId);
|
|
344
|
+
}
|
|
326
345
|
async onChainStart(chain, inputs, runId, parentRunId) {
|
|
327
346
|
return this.handleChainStart(chain, inputs, runId, parentRunId);
|
|
328
347
|
}
|
|
@@ -348,5 +367,5 @@ class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
348
367
|
return this.handleAgentFinish(finish, runId);
|
|
349
368
|
}
|
|
350
369
|
}
|
|
351
|
-
exports.
|
|
370
|
+
exports.TracciaCallbackHandler = TracciaCallbackHandler;
|
|
352
371
|
//# sourceMappingURL=langchain-callback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain-callback.js","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"langchain-callback.js","sourceRoot":"","sources":["../../src/integrations/langchain-callback.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traccia2/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Tracing SDK for agent applications",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"prepare": "npm run build"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
+
"@langchain/core": ">=0.3.8",
|
|
70
71
|
"@types/jest": "^29.5.11",
|
|
71
72
|
"@types/node": "^20.10.6",
|
|
72
73
|
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
|
@@ -80,5 +81,9 @@
|
|
|
80
81
|
"publishConfig": {
|
|
81
82
|
"access": "public"
|
|
82
83
|
},
|
|
84
|
+
"peerDependencies": {
|
|
85
|
+
"@langchain/core": ">=0.3.8",
|
|
86
|
+
"@opentelemetry/api": "^1.9.0"
|
|
87
|
+
},
|
|
83
88
|
"dependencies": {}
|
|
84
89
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Tests for LangChain integration (TraciaCallbackHandler)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { TracciaCallbackHandler } from '../integrations/langchain-callback';
|
|
6
6
|
import { startTracing, stopTracing } from '../auto';
|
|
7
7
|
|
|
8
|
-
describe('
|
|
8
|
+
describe('TracciaCallbackHandler', () => {
|
|
9
9
|
beforeEach(() => {
|
|
10
10
|
startTracing({
|
|
11
11
|
enableTokenCounting: false,
|
|
@@ -19,7 +19,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
19
19
|
|
|
20
20
|
describe('handleLLMStart', () => {
|
|
21
21
|
it('should create a span for LLM invocation', async () => {
|
|
22
|
-
const handler = new
|
|
22
|
+
const handler = new TracciaCallbackHandler();
|
|
23
23
|
const mockLLM = {
|
|
24
24
|
name: 'gpt-4',
|
|
25
25
|
_modelType: 'openai',
|
|
@@ -32,7 +32,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
it('should capture LLM model name in attributes', async () => {
|
|
35
|
-
const handler = new
|
|
35
|
+
const handler = new TracciaCallbackHandler();
|
|
36
36
|
const mockLLM = {
|
|
37
37
|
name: 'claude-3',
|
|
38
38
|
_modelType: 'anthropic',
|
|
@@ -45,7 +45,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
45
45
|
});
|
|
46
46
|
|
|
47
47
|
it('should capture prompt count', async () => {
|
|
48
|
-
const handler = new
|
|
48
|
+
const handler = new TracciaCallbackHandler();
|
|
49
49
|
const mockLLM = { name: 'test-model' };
|
|
50
50
|
const prompts = ['p1', 'p2', 'p3'];
|
|
51
51
|
|
|
@@ -56,7 +56,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
it('should handle missing model name gracefully', async () => {
|
|
59
|
-
const handler = new
|
|
59
|
+
const handler = new TracciaCallbackHandler();
|
|
60
60
|
const mockLLM = {}; // No name or _modelType
|
|
61
61
|
|
|
62
62
|
await handler.handleLLMStart(mockLLM, ['prompt'], 'run-4');
|
|
@@ -68,7 +68,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
68
68
|
|
|
69
69
|
describe('handleLLMEnd', () => {
|
|
70
70
|
it('should end LLM span and record token counts', async () => {
|
|
71
|
-
const handler = new
|
|
71
|
+
const handler = new TracciaCallbackHandler();
|
|
72
72
|
const mockLLM = { name: 'gpt-4' };
|
|
73
73
|
|
|
74
74
|
// Start span
|
|
@@ -85,7 +85,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
85
85
|
});
|
|
86
86
|
|
|
87
87
|
it('should record output length', async () => {
|
|
88
|
-
const handler = new
|
|
88
|
+
const handler = new TracciaCallbackHandler();
|
|
89
89
|
const mockLLM = { name: 'test' };
|
|
90
90
|
|
|
91
91
|
await handler.handleLLMStart(mockLLM, ['prompt'], 'run-6');
|
|
@@ -102,7 +102,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
102
102
|
|
|
103
103
|
describe('handleChainStart', () => {
|
|
104
104
|
it('should create a span for chain execution', async () => {
|
|
105
|
-
const handler = new
|
|
105
|
+
const handler = new TracciaCallbackHandler();
|
|
106
106
|
const mockChain = {
|
|
107
107
|
name: 'test-chain',
|
|
108
108
|
_chainType: 'stuff',
|
|
@@ -114,7 +114,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
114
114
|
});
|
|
115
115
|
|
|
116
116
|
it('should capture chain name and type', async () => {
|
|
117
|
-
const handler = new
|
|
117
|
+
const handler = new TracciaCallbackHandler();
|
|
118
118
|
const mockChain = {
|
|
119
119
|
name: 'qa-chain',
|
|
120
120
|
_chainType: 'retrieval_qa',
|
|
@@ -128,7 +128,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
128
128
|
});
|
|
129
129
|
|
|
130
130
|
it('should record input keys', async () => {
|
|
131
|
-
const handler = new
|
|
131
|
+
const handler = new TracciaCallbackHandler();
|
|
132
132
|
const mockChain = { name: 'chain' };
|
|
133
133
|
const inputs = { key1: 'value1', key2: 'value2' };
|
|
134
134
|
|
|
@@ -142,7 +142,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
142
142
|
|
|
143
143
|
describe('handleChainEnd', () => {
|
|
144
144
|
it('should end chain span and record output', async () => {
|
|
145
|
-
const handler = new
|
|
145
|
+
const handler = new TracciaCallbackHandler();
|
|
146
146
|
const mockChain = { name: 'chain' };
|
|
147
147
|
|
|
148
148
|
await handler.handleChainStart(mockChain, { input: 'test' }, 'chain-4');
|
|
@@ -156,7 +156,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
156
156
|
|
|
157
157
|
describe('handleToolStart', () => {
|
|
158
158
|
it('should create a span for tool invocation', async () => {
|
|
159
|
-
const handler = new
|
|
159
|
+
const handler = new TracciaCallbackHandler();
|
|
160
160
|
const mockTool = {
|
|
161
161
|
name: 'search-api',
|
|
162
162
|
};
|
|
@@ -167,7 +167,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
it('should capture tool name', async () => {
|
|
170
|
-
const handler = new
|
|
170
|
+
const handler = new TracciaCallbackHandler();
|
|
171
171
|
const mockTool = { name: 'calculator' };
|
|
172
172
|
|
|
173
173
|
await handler.handleToolStart(mockTool, '2+2', 'tool-2');
|
|
@@ -177,7 +177,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
177
177
|
});
|
|
178
178
|
|
|
179
179
|
it('should record input length', async () => {
|
|
180
|
-
const handler = new
|
|
180
|
+
const handler = new TracciaCallbackHandler();
|
|
181
181
|
const mockTool = { name: 'tool' };
|
|
182
182
|
const input = 'test input with some length';
|
|
183
183
|
|
|
@@ -190,7 +190,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
190
190
|
|
|
191
191
|
describe('handleToolEnd', () => {
|
|
192
192
|
it('should end tool span', async () => {
|
|
193
|
-
const handler = new
|
|
193
|
+
const handler = new TracciaCallbackHandler();
|
|
194
194
|
const mockTool = { name: 'tool' };
|
|
195
195
|
|
|
196
196
|
await handler.handleToolStart(mockTool, 'input', 'tool-4');
|
|
@@ -200,7 +200,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
200
200
|
});
|
|
201
201
|
|
|
202
202
|
it('should record output length', async () => {
|
|
203
|
-
const handler = new
|
|
203
|
+
const handler = new TracciaCallbackHandler();
|
|
204
204
|
const mockTool = { name: 'tool' };
|
|
205
205
|
|
|
206
206
|
await handler.handleToolStart(mockTool, 'input', 'tool-5');
|
|
@@ -213,7 +213,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
213
213
|
|
|
214
214
|
describe('handleAgentAction', () => {
|
|
215
215
|
it('should update existing span on agent action', async () => {
|
|
216
|
-
const handler = new
|
|
216
|
+
const handler = new TracciaCallbackHandler();
|
|
217
217
|
const mockChain = { name: 'chain' };
|
|
218
218
|
|
|
219
219
|
// Start a span first
|
|
@@ -231,7 +231,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
231
231
|
});
|
|
232
232
|
|
|
233
233
|
it('should record agent action details', async () => {
|
|
234
|
-
const handler = new
|
|
234
|
+
const handler = new TracciaCallbackHandler();
|
|
235
235
|
const mockChain = { name: 'chain' };
|
|
236
236
|
|
|
237
237
|
// Start a span first
|
|
@@ -252,7 +252,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
252
252
|
|
|
253
253
|
describe('handleAgentFinish', () => {
|
|
254
254
|
it('should end agent span on finish', async () => {
|
|
255
|
-
const handler = new
|
|
255
|
+
const handler = new TracciaCallbackHandler();
|
|
256
256
|
|
|
257
257
|
// Create a span first
|
|
258
258
|
const mockAction = { tool: 'test', toolInput: 'input' };
|
|
@@ -266,7 +266,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
266
266
|
});
|
|
267
267
|
|
|
268
268
|
it('should record final output', async () => {
|
|
269
|
-
const handler = new
|
|
269
|
+
const handler = new TracciaCallbackHandler();
|
|
270
270
|
const mockAction = { tool: 'test', toolInput: 'input' };
|
|
271
271
|
|
|
272
272
|
await handler.handleAgentAction(mockAction, 'agent-4');
|
|
@@ -280,7 +280,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
280
280
|
|
|
281
281
|
describe('Error Handling', () => {
|
|
282
282
|
it('should handle LLM errors gracefully', async () => {
|
|
283
|
-
const handler = new
|
|
283
|
+
const handler = new TracciaCallbackHandler();
|
|
284
284
|
const mockLLM = { name: 'llm' };
|
|
285
285
|
|
|
286
286
|
await handler.handleLLMStart(mockLLM, ['prompt'], 'error-1');
|
|
@@ -293,7 +293,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
293
293
|
});
|
|
294
294
|
|
|
295
295
|
it('should handle chain errors gracefully', async () => {
|
|
296
|
-
const handler = new
|
|
296
|
+
const handler = new TracciaCallbackHandler();
|
|
297
297
|
const mockChain = { name: 'chain' };
|
|
298
298
|
|
|
299
299
|
await handler.handleChainStart(mockChain, {}, 'error-2');
|
|
@@ -305,7 +305,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
305
305
|
});
|
|
306
306
|
|
|
307
307
|
it('should handle tool errors gracefully', async () => {
|
|
308
|
-
const handler = new
|
|
308
|
+
const handler = new TracciaCallbackHandler();
|
|
309
309
|
const mockTool = { name: 'tool' };
|
|
310
310
|
|
|
311
311
|
await handler.handleToolStart(mockTool, 'input', 'error-3');
|
|
@@ -319,7 +319,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
319
319
|
|
|
320
320
|
describe('Span Nesting', () => {
|
|
321
321
|
it('should handle nested spans (chain containing LLM)', async () => {
|
|
322
|
-
const handler = new
|
|
322
|
+
const handler = new TracciaCallbackHandler();
|
|
323
323
|
|
|
324
324
|
// Start chain
|
|
325
325
|
const chain = { name: 'chain' };
|
|
@@ -346,7 +346,7 @@ describe('TraciaCallbackHandler', () => {
|
|
|
346
346
|
});
|
|
347
347
|
|
|
348
348
|
it('should handle multiple concurrent spans', async () => {
|
|
349
|
-
const handler = new
|
|
349
|
+
const handler = new TracciaCallbackHandler();
|
|
350
350
|
|
|
351
351
|
// Start multiple spans
|
|
352
352
|
const chain1 = { name: 'chain1' };
|
|
@@ -369,12 +369,12 @@ describe('TraciaCallbackHandler', () => {
|
|
|
369
369
|
|
|
370
370
|
describe('Integration with Tracer', () => {
|
|
371
371
|
it('should use the SDK tracer', () => {
|
|
372
|
-
const handler = new
|
|
372
|
+
const handler = new TracciaCallbackHandler();
|
|
373
373
|
expect(handler['tracer']).toBeDefined();
|
|
374
374
|
});
|
|
375
375
|
|
|
376
376
|
it('should handle unavailable tracer gracefully', async () => {
|
|
377
|
-
const handler = new
|
|
377
|
+
const handler = new TracciaCallbackHandler();
|
|
378
378
|
|
|
379
379
|
// Should not throw even if operations fail
|
|
380
380
|
const mockLLM = { name: 'llm' };
|
|
@@ -5,27 +5,27 @@
|
|
|
5
5
|
* convenience functions for automatic instrumentation with zero boilerplate.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { TracciaCallbackHandler } from './langchain-callback';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Global handler instance to avoid creating multiple handlers
|
|
12
12
|
*/
|
|
13
|
-
let globalTraciaHandler:
|
|
13
|
+
let globalTraciaHandler: TracciaCallbackHandler | null = null;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Get or create the global Traccia callback handler.
|
|
17
17
|
*
|
|
18
18
|
* @example
|
|
19
19
|
* // Instead of:
|
|
20
|
-
* const handler = new
|
|
20
|
+
* const handler = new TracciaCallbackHandler();
|
|
21
21
|
* const model = new ChatOpenAI({ callbacks: [handler] });
|
|
22
22
|
*
|
|
23
23
|
* // Just do:
|
|
24
24
|
* const model = new ChatOpenAI({ callbacks: [getTraciaHandler()] });
|
|
25
25
|
*/
|
|
26
|
-
export function getTraciaHandler():
|
|
26
|
+
export function getTraciaHandler(): TracciaCallbackHandler {
|
|
27
27
|
if (!globalTraciaHandler) {
|
|
28
|
-
globalTraciaHandler = new
|
|
28
|
+
globalTraciaHandler = new TracciaCallbackHandler();
|
|
29
29
|
}
|
|
30
30
|
return globalTraciaHandler;
|
|
31
31
|
}
|
|
@@ -217,7 +217,7 @@ export async function setupLangChainWithTracing(options: {
|
|
|
217
217
|
}): Promise<{
|
|
218
218
|
model: any;
|
|
219
219
|
executor: any;
|
|
220
|
-
handler:
|
|
220
|
+
handler: TracciaCallbackHandler;
|
|
221
221
|
}> {
|
|
222
222
|
try {
|
|
223
223
|
const {
|
|
@@ -6,31 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { ISpan } from '../types';
|
|
8
8
|
import { getTracer } from '../auto';
|
|
9
|
-
|
|
10
|
-
// Try to import BaseCallbackHandler from different LangChain versions
|
|
11
|
-
let BaseCallbackHandler: any = class {
|
|
12
|
-
ignoreAgent = false;
|
|
13
|
-
ignoreChain = false;
|
|
14
|
-
ignoreLLM = false;
|
|
15
|
-
ignoreRetriever = false;
|
|
16
|
-
ignoreToolUse = false;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
// Try LangChain 0.2.x+
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
22
|
-
const { BaseCallbackHandler: Handler } = require('@langchain/core/callbacks/base');
|
|
23
|
-
BaseCallbackHandler = Handler;
|
|
24
|
-
} catch {
|
|
25
|
-
try {
|
|
26
|
-
// Try older LangChain versions
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
28
|
-
const { BaseCallbackHandler: Handler } = require('langchain/callbacks');
|
|
29
|
-
BaseCallbackHandler = Handler;
|
|
30
|
-
} catch {
|
|
31
|
-
// Fallback to basic implementation - user likely has LangChain installed
|
|
32
|
-
}
|
|
33
|
-
}
|
|
9
|
+
import { BaseCallbackHandler } from '@langchain/core/callbacks/base';
|
|
34
10
|
|
|
35
11
|
/**
|
|
36
12
|
* LangChain Callback Handler for Traccia SDK.
|
|
@@ -41,17 +17,19 @@ try {
|
|
|
41
17
|
*
|
|
42
18
|
* @example
|
|
43
19
|
* import { ChatOpenAI } from '@langchain/openai';
|
|
44
|
-
* import {
|
|
20
|
+
* import { TracciaCallbackHandler } from '@traccia/sdk/integrations';
|
|
45
21
|
*
|
|
46
|
-
* const handler = new
|
|
22
|
+
* const handler = new TracciaCallbackHandler();
|
|
47
23
|
* const model = new ChatOpenAI({ callbacks: [handler] });
|
|
48
24
|
*
|
|
49
25
|
* const response = await model.invoke({ input: 'Hello!' });
|
|
50
26
|
* // Automatically traced with spans for LLM calls, tokens, latency, etc.
|
|
51
27
|
*/
|
|
52
|
-
export class
|
|
28
|
+
export class TracciaCallbackHandler extends BaseCallbackHandler {
|
|
29
|
+
name = 'TracciaCallbackHandler';
|
|
53
30
|
private tracer = getTracer('langchain');
|
|
54
31
|
private spanStack: Map<string, ISpan> = new Map();
|
|
32
|
+
private streamingStartTimes: Record<string, Date> = {};
|
|
55
33
|
|
|
56
34
|
/**
|
|
57
35
|
* Extract model name from LLM instance, checking multiple property locations.
|
|
@@ -125,23 +103,47 @@ export class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
125
103
|
if (span) {
|
|
126
104
|
try {
|
|
127
105
|
// Try multiple ways to get token usage
|
|
128
|
-
// OpenAI format
|
|
106
|
+
// OpenAI format and new @langchain/core format
|
|
129
107
|
const tokenUsage =
|
|
130
108
|
output?.llmOutput?.token_usage ||
|
|
109
|
+
output?.llmOutput?.tokenUsage ||
|
|
131
110
|
output?.token_usage ||
|
|
132
111
|
output?.metadata?.token_usage;
|
|
133
112
|
|
|
134
113
|
if (tokenUsage) {
|
|
135
|
-
|
|
136
|
-
|
|
114
|
+
// Handle standard token counts
|
|
115
|
+
const promptTokens = tokenUsage.prompt_tokens ?? tokenUsage.promptTokens;
|
|
116
|
+
const completionTokens = tokenUsage.completion_tokens ?? tokenUsage.completionTokens;
|
|
117
|
+
const totalTokens = tokenUsage.total_tokens ?? tokenUsage.totalTokens;
|
|
118
|
+
|
|
119
|
+
if (promptTokens !== undefined) {
|
|
120
|
+
span.setAttribute('llm.tokens.prompt', promptTokens);
|
|
137
121
|
}
|
|
138
|
-
if (
|
|
139
|
-
span.setAttribute('llm.tokens.completion',
|
|
122
|
+
if (completionTokens !== undefined) {
|
|
123
|
+
span.setAttribute('llm.tokens.completion', completionTokens);
|
|
140
124
|
}
|
|
141
|
-
|
|
142
|
-
if (totalTokens > 0) {
|
|
125
|
+
if (totalTokens !== undefined) {
|
|
143
126
|
span.setAttribute('llm.tokens.total', totalTokens);
|
|
144
127
|
}
|
|
128
|
+
|
|
129
|
+
// Handle detailed token breakdown for models like GPT-4o vision
|
|
130
|
+
// input_token_details contains breakdown of prompt token usage
|
|
131
|
+
if (tokenUsage.input_token_details && typeof tokenUsage.input_token_details === 'object') {
|
|
132
|
+
for (const [key, value] of Object.entries(tokenUsage.input_token_details)) {
|
|
133
|
+
if (typeof value === 'number') {
|
|
134
|
+
span.setAttribute(`llm.tokens.input_${key}`, value);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// output_token_details contains breakdown of completion token usage
|
|
140
|
+
if (tokenUsage.output_token_details && typeof tokenUsage.output_token_details === 'object') {
|
|
141
|
+
for (const [key, value] of Object.entries(tokenUsage.output_token_details)) {
|
|
142
|
+
if (typeof value === 'number') {
|
|
143
|
+
span.setAttribute(`llm.tokens.output_${key}`, value);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
145
147
|
}
|
|
146
148
|
|
|
147
149
|
// Capture output text length
|
|
@@ -187,6 +189,29 @@ export class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
187
189
|
}
|
|
188
190
|
}
|
|
189
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Handle LLM new token - called when a new token is generated during streaming.
|
|
194
|
+
* Tracks first token latency and token count for streaming scenarios.
|
|
195
|
+
*/
|
|
196
|
+
public async handleLLMNewToken(
|
|
197
|
+
_token: string,
|
|
198
|
+
_idx?: any,
|
|
199
|
+
runId?: string
|
|
200
|
+
): Promise<void> {
|
|
201
|
+
if (runId && !(runId in this.streamingStartTimes)) {
|
|
202
|
+
// Record the time of the first streaming token
|
|
203
|
+
this.streamingStartTimes[runId] = new Date();
|
|
204
|
+
const span = this.spanStack.get(runId);
|
|
205
|
+
if (span) {
|
|
206
|
+
try {
|
|
207
|
+
span.setAttribute('stream.first_token_generated', true);
|
|
208
|
+
} catch (error) {
|
|
209
|
+
// Silently fail
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
190
215
|
/**
|
|
191
216
|
* Handle chain start - called when a chain begins execution.
|
|
192
217
|
*/
|
|
@@ -360,6 +385,14 @@ export class TraciaCallbackHandler extends BaseCallbackHandler {
|
|
|
360
385
|
return this.handleLLMError(error, runId);
|
|
361
386
|
}
|
|
362
387
|
|
|
388
|
+
public async onLLMNewToken(
|
|
389
|
+
_token: string,
|
|
390
|
+
idx?: any,
|
|
391
|
+
runId?: string
|
|
392
|
+
): Promise<void> {
|
|
393
|
+
return this.handleLLMNewToken(_token, idx, runId);
|
|
394
|
+
}
|
|
395
|
+
|
|
363
396
|
public async onChainStart(
|
|
364
397
|
chain: any,
|
|
365
398
|
inputs: any,
|