langchain 0.0.195 → 0.0.196
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/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +1 -1
- package/dist/base_language/count_tokens.cjs +5 -70
- package/dist/base_language/count_tokens.d.ts +1 -10
- package/dist/base_language/count_tokens.js +1 -65
- package/dist/base_language/index.cjs +6 -196
- package/dist/base_language/index.d.ts +1 -111
- package/dist/base_language/index.js +1 -191
- package/dist/cache/base.cjs +15 -37
- package/dist/cache/base.d.ts +1 -20
- package/dist/cache/base.js +1 -33
- package/dist/cache/index.cjs +2 -46
- package/dist/cache/index.d.ts +1 -29
- package/dist/cache/index.js +1 -45
- package/dist/callbacks/base.cjs +3 -139
- package/dist/callbacks/base.d.ts +1 -266
- package/dist/callbacks/base.js +1 -126
- package/dist/callbacks/handlers/console.cjs +14 -221
- package/dist/callbacks/handlers/console.d.ts +1 -117
- package/dist/callbacks/handlers/console.js +1 -217
- package/dist/callbacks/handlers/initialize.cjs +15 -30
- package/dist/callbacks/handlers/initialize.d.ts +1 -16
- package/dist/callbacks/handlers/initialize.js +1 -27
- package/dist/callbacks/handlers/log_stream.cjs +15 -293
- package/dist/callbacks/handlers/log_stream.d.ts +1 -100
- package/dist/callbacks/handlers/log_stream.js +1 -289
- package/dist/callbacks/handlers/run_collector.cjs +15 -48
- package/dist/callbacks/handlers/run_collector.d.ts +1 -26
- package/dist/callbacks/handlers/run_collector.js +1 -46
- package/dist/callbacks/handlers/tracer.cjs +15 -375
- package/dist/callbacks/handlers/tracer.d.ts +1 -70
- package/dist/callbacks/handlers/tracer.js +1 -373
- package/dist/callbacks/handlers/tracer_langchain.cjs +15 -104
- package/dist/callbacks/handlers/tracer_langchain.d.ts +1 -41
- package/dist/callbacks/handlers/tracer_langchain.js +1 -102
- package/dist/callbacks/handlers/tracer_langchain_v1.cjs +15 -197
- package/dist/callbacks/handlers/tracer_langchain_v1.d.ts +1 -57
- package/dist/callbacks/handlers/tracer_langchain_v1.js +1 -195
- package/dist/callbacks/manager.cjs +15 -676
- package/dist/callbacks/manager.d.ts +1 -180
- package/dist/callbacks/manager.js +1 -666
- package/dist/callbacks/promises.cjs +14 -42
- package/dist/callbacks/promises.d.ts +1 -11
- package/dist/callbacks/promises.js +1 -37
- package/dist/chains/graph_qa/prompts.d.ts +1 -1
- package/dist/chains/openai_functions/structured_output.cjs +2 -2
- package/dist/chains/openai_functions/structured_output.d.ts +1 -1
- package/dist/chains/openai_functions/structured_output.js +1 -1
- package/dist/chat_models/baiduwenxin.d.ts +1 -1
- package/dist/chat_models/base.cjs +15 -296
- package/dist/chat_models/base.d.ts +1 -122
- package/dist/chat_models/base.js +1 -292
- package/dist/chat_models/bedrock/web.d.ts +1 -1
- package/dist/chat_models/fireworks.d.ts +1 -1
- package/dist/document.cjs +2 -24
- package/dist/document.d.ts +1 -12
- package/dist/document.js +1 -23
- package/dist/document_loaders/web/azure_blob_storage_file.d.ts +1 -1
- package/dist/document_loaders/web/s3.d.ts +1 -1
- package/dist/embeddings/base.cjs +15 -22
- package/dist/embeddings/base.d.ts +1 -33
- package/dist/embeddings/base.js +1 -20
- package/dist/embeddings/cache_backed.cjs +2 -2
- package/dist/embeddings/cache_backed.js +1 -1
- package/dist/evaluation/agents/trajectory.d.ts +1 -1
- package/dist/evaluation/criteria/prompt.d.ts +2 -2
- package/dist/evaluation/qa/prompt.d.ts +2 -2
- package/dist/experimental/hubs/makersuite/googlemakersuitehub.d.ts +1 -1
- package/dist/experimental/plan_and_execute/prompt.d.ts +1 -1
- package/dist/llms/base.cjs +15 -278
- package/dist/llms/base.d.ts +1 -115
- package/dist/llms/base.js +1 -275
- package/dist/llms/bedrock/web.d.ts +1 -1
- package/dist/llms/fireworks.d.ts +1 -1
- package/dist/load/import_map.cjs +2 -1
- package/dist/load/import_map.d.ts +1 -0
- package/dist/load/import_map.js +1 -0
- package/dist/load/index.cjs +7 -148
- package/dist/load/index.js +7 -148
- package/dist/load/map_keys.cjs +0 -24
- package/dist/load/map_keys.d.ts +0 -6
- package/dist/load/map_keys.js +1 -17
- package/dist/load/serializable.cjs +15 -178
- package/dist/load/serializable.d.ts +1 -66
- package/dist/load/serializable.js +1 -175
- package/dist/memory/base.cjs +17 -92
- package/dist/memory/base.d.ts +2 -68
- package/dist/memory/base.js +2 -87
- package/dist/output_parsers/openai_functions.cjs +2 -2
- package/dist/output_parsers/openai_functions.d.ts +1 -1
- package/dist/output_parsers/openai_functions.js +1 -1
- package/dist/output_parsers/regex.d.ts +1 -1
- package/dist/output_parsers/structured.d.ts +1 -1
- package/dist/prompts/base.cjs +8 -183
- package/dist/prompts/base.d.ts +3 -132
- package/dist/prompts/base.js +3 -178
- package/dist/prompts/chat.cjs +15 -477
- package/dist/prompts/chat.d.ts +1 -219
- package/dist/prompts/chat.js +1 -466
- package/dist/prompts/few_shot.cjs +15 -353
- package/dist/prompts/few_shot.d.ts +1 -192
- package/dist/prompts/few_shot.js +1 -350
- package/dist/prompts/index.cjs +3 -2
- package/dist/prompts/index.d.ts +2 -1
- package/dist/prompts/index.js +2 -1
- package/dist/prompts/pipeline.cjs +15 -142
- package/dist/prompts/pipeline.d.ts +1 -98
- package/dist/prompts/pipeline.js +1 -140
- package/dist/prompts/prompt.cjs +15 -146
- package/dist/prompts/prompt.d.ts +1 -92
- package/dist/prompts/prompt.js +1 -144
- package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +15 -148
- package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +1 -89
- package/dist/prompts/selectors/LengthBasedExampleSelector.js +1 -146
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +15 -137
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +1 -91
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +1 -135
- package/dist/prompts/selectors/conditional.cjs +15 -74
- package/dist/prompts/selectors/conditional.d.ts +1 -63
- package/dist/prompts/selectors/conditional.js +1 -69
- package/dist/prompts/serde.cjs +15 -0
- package/dist/prompts/serde.d.ts +1 -43
- package/dist/prompts/serde.js +1 -1
- package/dist/prompts/template.cjs +14 -88
- package/dist/prompts/template.d.ts +1 -36
- package/dist/prompts/template.js +1 -83
- package/dist/{util/@cfworker/json-schema → runnables}/index.cjs +1 -1
- package/dist/runnables/index.d.ts +1 -0
- package/dist/runnables/index.js +1 -0
- package/dist/schema/document.cjs +3 -34
- package/dist/schema/document.d.ts +2 -29
- package/dist/schema/document.js +2 -32
- package/dist/schema/index.cjs +37 -612
- package/dist/schema/index.d.ts +11 -311
- package/dist/schema/index.js +8 -583
- package/dist/schema/output_parser.cjs +15 -309
- package/dist/schema/output_parser.d.ts +1 -173
- package/dist/schema/output_parser.js +1 -301
- package/dist/schema/retriever.cjs +15 -77
- package/dist/schema/retriever.d.ts +1 -43
- package/dist/schema/retriever.js +1 -75
- package/dist/schema/runnable/base.cjs +10 -1072
- package/dist/schema/runnable/base.d.ts +1 -356
- package/dist/schema/runnable/base.js +1 -1060
- package/dist/schema/runnable/branch.cjs +2 -131
- package/dist/schema/runnable/branch.d.ts +1 -94
- package/dist/schema/runnable/branch.js +1 -130
- package/dist/schema/runnable/config.cjs +0 -6
- package/dist/schema/runnable/config.d.ts +1 -3
- package/dist/schema/runnable/config.js +1 -4
- package/dist/schema/runnable/index.cjs +15 -16
- package/dist/schema/runnable/index.d.ts +1 -5
- package/dist/schema/runnable/index.js +1 -4
- package/dist/schema/runnable/passthrough.cjs +3 -113
- package/dist/schema/runnable/passthrough.d.ts +1 -72
- package/dist/schema/runnable/passthrough.js +1 -111
- package/dist/schema/runnable/router.cjs +2 -71
- package/dist/schema/runnable/router.d.ts +1 -29
- package/dist/schema/runnable/router.js +1 -70
- package/dist/schema/storage.cjs +15 -8
- package/dist/schema/storage.d.ts +1 -57
- package/dist/schema/storage.js +1 -6
- package/dist/tools/bingserpapi.d.ts +1 -1
- package/dist/tools/searchapi.d.ts +1 -1
- package/dist/tools/serpapi.d.ts +1 -1
- package/dist/tools/serper.d.ts +1 -1
- package/dist/util/async_caller.cjs +14 -128
- package/dist/util/async_caller.d.ts +1 -45
- package/dist/util/async_caller.js +1 -124
- package/package.json +11 -5
- package/runnables.cjs +1 -0
- package/runnables.d.ts +1 -0
- package/runnables.js +1 -0
- package/dist/util/@cfworker/json-schema/index.d.ts +0 -1
- package/dist/util/@cfworker/json-schema/index.js +0 -1
- package/dist/util/@cfworker/json-schema/src/deep-compare-strict.cjs +0 -43
- package/dist/util/@cfworker/json-schema/src/deep-compare-strict.d.ts +0 -1
- package/dist/util/@cfworker/json-schema/src/deep-compare-strict.js +0 -39
- package/dist/util/@cfworker/json-schema/src/dereference.cjs +0 -169
- package/dist/util/@cfworker/json-schema/src/dereference.d.ts +0 -12
- package/dist/util/@cfworker/json-schema/src/dereference.js +0 -165
- package/dist/util/@cfworker/json-schema/src/format.cjs +0 -139
- package/dist/util/@cfworker/json-schema/src/format.d.ts +0 -2
- package/dist/util/@cfworker/json-schema/src/format.js +0 -136
- package/dist/util/@cfworker/json-schema/src/index.cjs +0 -24
- package/dist/util/@cfworker/json-schema/src/index.d.ts +0 -8
- package/dist/util/@cfworker/json-schema/src/index.js +0 -8
- package/dist/util/@cfworker/json-schema/src/pointer.cjs +0 -11
- package/dist/util/@cfworker/json-schema/src/pointer.d.ts +0 -2
- package/dist/util/@cfworker/json-schema/src/pointer.js +0 -6
- package/dist/util/@cfworker/json-schema/src/types.cjs +0 -2
- package/dist/util/@cfworker/json-schema/src/types.d.ts +0 -72
- package/dist/util/@cfworker/json-schema/src/types.js +0 -1
- package/dist/util/@cfworker/json-schema/src/ucs2-length.cjs +0 -28
- package/dist/util/@cfworker/json-schema/src/ucs2-length.d.ts +0 -6
- package/dist/util/@cfworker/json-schema/src/ucs2-length.js +0 -24
- package/dist/util/@cfworker/json-schema/src/validate.cjs +0 -808
- package/dist/util/@cfworker/json-schema/src/validate.d.ts +0 -3
- package/dist/util/@cfworker/json-schema/src/validate.js +0 -804
- package/dist/util/@cfworker/json-schema/src/validator.cjs +0 -44
- package/dist/util/@cfworker/json-schema/src/validator.d.ts +0 -10
- package/dist/util/@cfworker/json-schema/src/validator.js +0 -40
- package/dist/util/fast-json-patch/index.cjs +0 -49
- package/dist/util/fast-json-patch/index.d.ts +0 -22
- package/dist/util/fast-json-patch/index.js +0 -16
- package/dist/util/fast-json-patch/src/core.cjs +0 -469
- package/dist/util/fast-json-patch/src/core.d.ts +0 -111
- package/dist/util/fast-json-patch/src/core.js +0 -459
- package/dist/util/fast-json-patch/src/duplex.cjs +0 -237
- package/dist/util/fast-json-patch/src/duplex.d.ts +0 -23
- package/dist/util/fast-json-patch/src/duplex.js +0 -230
- package/dist/util/fast-json-patch/src/helpers.cjs +0 -194
- package/dist/util/fast-json-patch/src/helpers.d.ts +0 -36
- package/dist/util/fast-json-patch/src/helpers.js +0 -181
- package/dist/util/js-sha1/hash.cjs +0 -358
- package/dist/util/js-sha1/hash.d.ts +0 -1
- package/dist/util/js-sha1/hash.js +0 -355
|
@@ -1,373 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
|
-
function _coerceToDict(value, defaultKey) {
|
|
4
|
-
return value && !Array.isArray(value) && typeof value === "object"
|
|
5
|
-
? value
|
|
6
|
-
: { [defaultKey]: value };
|
|
7
|
-
}
|
|
8
|
-
export class BaseTracer extends BaseCallbackHandler {
|
|
9
|
-
constructor(_fields) {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
Object.defineProperty(this, "runMap", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
configurable: true,
|
|
14
|
-
writable: true,
|
|
15
|
-
value: new Map()
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
copy() {
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
_addChildRun(parentRun, childRun) {
|
|
22
|
-
parentRun.child_runs.push(childRun);
|
|
23
|
-
}
|
|
24
|
-
async _startTrace(run) {
|
|
25
|
-
if (run.parent_run_id !== undefined) {
|
|
26
|
-
const parentRun = this.runMap.get(run.parent_run_id);
|
|
27
|
-
if (parentRun) {
|
|
28
|
-
this._addChildRun(parentRun, run);
|
|
29
|
-
parentRun.child_execution_order = Math.max(parentRun.child_execution_order, run.child_execution_order);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
this.runMap.set(run.id, run);
|
|
33
|
-
await this.onRunCreate?.(run);
|
|
34
|
-
}
|
|
35
|
-
async _endTrace(run) {
|
|
36
|
-
const parentRun = run.parent_run_id !== undefined && this.runMap.get(run.parent_run_id);
|
|
37
|
-
if (parentRun) {
|
|
38
|
-
parentRun.child_execution_order = Math.max(parentRun.child_execution_order, run.child_execution_order);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
await this.persistRun(run);
|
|
42
|
-
}
|
|
43
|
-
this.runMap.delete(run.id);
|
|
44
|
-
await this.onRunUpdate?.(run);
|
|
45
|
-
}
|
|
46
|
-
_getExecutionOrder(parentRunId) {
|
|
47
|
-
const parentRun = parentRunId !== undefined && this.runMap.get(parentRunId);
|
|
48
|
-
// If a run has no parent then execution order is 1
|
|
49
|
-
if (!parentRun) {
|
|
50
|
-
return 1;
|
|
51
|
-
}
|
|
52
|
-
return parentRun.child_execution_order + 1;
|
|
53
|
-
}
|
|
54
|
-
async handleLLMStart(llm, prompts, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
55
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
56
|
-
const start_time = Date.now();
|
|
57
|
-
const finalExtraParams = metadata
|
|
58
|
-
? { ...extraParams, metadata }
|
|
59
|
-
: extraParams;
|
|
60
|
-
const run = {
|
|
61
|
-
id: runId,
|
|
62
|
-
name: name ?? llm.id[llm.id.length - 1],
|
|
63
|
-
parent_run_id: parentRunId,
|
|
64
|
-
start_time,
|
|
65
|
-
serialized: llm,
|
|
66
|
-
events: [
|
|
67
|
-
{
|
|
68
|
-
name: "start",
|
|
69
|
-
time: new Date(start_time).toISOString(),
|
|
70
|
-
},
|
|
71
|
-
],
|
|
72
|
-
inputs: { prompts },
|
|
73
|
-
execution_order,
|
|
74
|
-
child_runs: [],
|
|
75
|
-
child_execution_order: execution_order,
|
|
76
|
-
run_type: "llm",
|
|
77
|
-
extra: finalExtraParams ?? {},
|
|
78
|
-
tags: tags || [],
|
|
79
|
-
};
|
|
80
|
-
await this._startTrace(run);
|
|
81
|
-
await this.onLLMStart?.(run);
|
|
82
|
-
return run;
|
|
83
|
-
}
|
|
84
|
-
async handleChatModelStart(llm, messages, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
85
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
86
|
-
const start_time = Date.now();
|
|
87
|
-
const finalExtraParams = metadata
|
|
88
|
-
? { ...extraParams, metadata }
|
|
89
|
-
: extraParams;
|
|
90
|
-
const run = {
|
|
91
|
-
id: runId,
|
|
92
|
-
name: name ?? llm.id[llm.id.length - 1],
|
|
93
|
-
parent_run_id: parentRunId,
|
|
94
|
-
start_time,
|
|
95
|
-
serialized: llm,
|
|
96
|
-
events: [
|
|
97
|
-
{
|
|
98
|
-
name: "start",
|
|
99
|
-
time: new Date(start_time).toISOString(),
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
inputs: { messages },
|
|
103
|
-
execution_order,
|
|
104
|
-
child_runs: [],
|
|
105
|
-
child_execution_order: execution_order,
|
|
106
|
-
run_type: "llm",
|
|
107
|
-
extra: finalExtraParams ?? {},
|
|
108
|
-
tags: tags || [],
|
|
109
|
-
};
|
|
110
|
-
await this._startTrace(run);
|
|
111
|
-
await this.onLLMStart?.(run);
|
|
112
|
-
return run;
|
|
113
|
-
}
|
|
114
|
-
async handleLLMEnd(output, runId) {
|
|
115
|
-
const run = this.runMap.get(runId);
|
|
116
|
-
if (!run || run?.run_type !== "llm") {
|
|
117
|
-
throw new Error("No LLM run to end.");
|
|
118
|
-
}
|
|
119
|
-
run.end_time = Date.now();
|
|
120
|
-
run.outputs = output;
|
|
121
|
-
run.events.push({
|
|
122
|
-
name: "end",
|
|
123
|
-
time: new Date(run.end_time).toISOString(),
|
|
124
|
-
});
|
|
125
|
-
await this.onLLMEnd?.(run);
|
|
126
|
-
await this._endTrace(run);
|
|
127
|
-
return run;
|
|
128
|
-
}
|
|
129
|
-
async handleLLMError(error, runId) {
|
|
130
|
-
const run = this.runMap.get(runId);
|
|
131
|
-
if (!run || run?.run_type !== "llm") {
|
|
132
|
-
throw new Error("No LLM run to end.");
|
|
133
|
-
}
|
|
134
|
-
run.end_time = Date.now();
|
|
135
|
-
run.error = error.message;
|
|
136
|
-
run.events.push({
|
|
137
|
-
name: "error",
|
|
138
|
-
time: new Date(run.end_time).toISOString(),
|
|
139
|
-
});
|
|
140
|
-
await this.onLLMError?.(run);
|
|
141
|
-
await this._endTrace(run);
|
|
142
|
-
return run;
|
|
143
|
-
}
|
|
144
|
-
async handleChainStart(chain, inputs, runId, parentRunId, tags, metadata, runType, name) {
|
|
145
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
146
|
-
const start_time = Date.now();
|
|
147
|
-
const run = {
|
|
148
|
-
id: runId,
|
|
149
|
-
name: name ?? chain.id[chain.id.length - 1],
|
|
150
|
-
parent_run_id: parentRunId,
|
|
151
|
-
start_time,
|
|
152
|
-
serialized: chain,
|
|
153
|
-
events: [
|
|
154
|
-
{
|
|
155
|
-
name: "start",
|
|
156
|
-
time: new Date(start_time).toISOString(),
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
inputs,
|
|
160
|
-
execution_order,
|
|
161
|
-
child_execution_order: execution_order,
|
|
162
|
-
run_type: runType ?? "chain",
|
|
163
|
-
child_runs: [],
|
|
164
|
-
extra: metadata ? { metadata } : {},
|
|
165
|
-
tags: tags || [],
|
|
166
|
-
};
|
|
167
|
-
await this._startTrace(run);
|
|
168
|
-
await this.onChainStart?.(run);
|
|
169
|
-
return run;
|
|
170
|
-
}
|
|
171
|
-
async handleChainEnd(outputs, runId, _parentRunId, _tags, kwargs) {
|
|
172
|
-
const run = this.runMap.get(runId);
|
|
173
|
-
if (!run) {
|
|
174
|
-
throw new Error("No chain run to end.");
|
|
175
|
-
}
|
|
176
|
-
run.end_time = Date.now();
|
|
177
|
-
run.outputs = _coerceToDict(outputs, "output");
|
|
178
|
-
run.events.push({
|
|
179
|
-
name: "end",
|
|
180
|
-
time: new Date(run.end_time).toISOString(),
|
|
181
|
-
});
|
|
182
|
-
if (kwargs?.inputs !== undefined) {
|
|
183
|
-
run.inputs = _coerceToDict(kwargs.inputs, "input");
|
|
184
|
-
}
|
|
185
|
-
await this.onChainEnd?.(run);
|
|
186
|
-
await this._endTrace(run);
|
|
187
|
-
return run;
|
|
188
|
-
}
|
|
189
|
-
async handleChainError(error, runId, _parentRunId, _tags, kwargs) {
|
|
190
|
-
const run = this.runMap.get(runId);
|
|
191
|
-
if (!run) {
|
|
192
|
-
throw new Error("No chain run to end.");
|
|
193
|
-
}
|
|
194
|
-
run.end_time = Date.now();
|
|
195
|
-
run.error = error.message;
|
|
196
|
-
run.events.push({
|
|
197
|
-
name: "error",
|
|
198
|
-
time: new Date(run.end_time).toISOString(),
|
|
199
|
-
});
|
|
200
|
-
if (kwargs?.inputs !== undefined) {
|
|
201
|
-
run.inputs = _coerceToDict(kwargs.inputs, "input");
|
|
202
|
-
}
|
|
203
|
-
await this.onChainError?.(run);
|
|
204
|
-
await this._endTrace(run);
|
|
205
|
-
return run;
|
|
206
|
-
}
|
|
207
|
-
async handleToolStart(tool, input, runId, parentRunId, tags, metadata, name) {
|
|
208
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
209
|
-
const start_time = Date.now();
|
|
210
|
-
const run = {
|
|
211
|
-
id: runId,
|
|
212
|
-
name: name ?? tool.id[tool.id.length - 1],
|
|
213
|
-
parent_run_id: parentRunId,
|
|
214
|
-
start_time,
|
|
215
|
-
serialized: tool,
|
|
216
|
-
events: [
|
|
217
|
-
{
|
|
218
|
-
name: "start",
|
|
219
|
-
time: new Date(start_time).toISOString(),
|
|
220
|
-
},
|
|
221
|
-
],
|
|
222
|
-
inputs: { input },
|
|
223
|
-
execution_order,
|
|
224
|
-
child_execution_order: execution_order,
|
|
225
|
-
run_type: "tool",
|
|
226
|
-
child_runs: [],
|
|
227
|
-
extra: metadata ? { metadata } : {},
|
|
228
|
-
tags: tags || [],
|
|
229
|
-
};
|
|
230
|
-
await this._startTrace(run);
|
|
231
|
-
await this.onToolStart?.(run);
|
|
232
|
-
return run;
|
|
233
|
-
}
|
|
234
|
-
async handleToolEnd(output, runId) {
|
|
235
|
-
const run = this.runMap.get(runId);
|
|
236
|
-
if (!run || run?.run_type !== "tool") {
|
|
237
|
-
throw new Error("No tool run to end");
|
|
238
|
-
}
|
|
239
|
-
run.end_time = Date.now();
|
|
240
|
-
run.outputs = { output };
|
|
241
|
-
run.events.push({
|
|
242
|
-
name: "end",
|
|
243
|
-
time: new Date(run.end_time).toISOString(),
|
|
244
|
-
});
|
|
245
|
-
await this.onToolEnd?.(run);
|
|
246
|
-
await this._endTrace(run);
|
|
247
|
-
return run;
|
|
248
|
-
}
|
|
249
|
-
async handleToolError(error, runId) {
|
|
250
|
-
const run = this.runMap.get(runId);
|
|
251
|
-
if (!run || run?.run_type !== "tool") {
|
|
252
|
-
throw new Error("No tool run to end");
|
|
253
|
-
}
|
|
254
|
-
run.end_time = Date.now();
|
|
255
|
-
run.error = error.message;
|
|
256
|
-
run.events.push({
|
|
257
|
-
name: "error",
|
|
258
|
-
time: new Date(run.end_time).toISOString(),
|
|
259
|
-
});
|
|
260
|
-
await this.onToolError?.(run);
|
|
261
|
-
await this._endTrace(run);
|
|
262
|
-
return run;
|
|
263
|
-
}
|
|
264
|
-
async handleAgentAction(action, runId) {
|
|
265
|
-
const run = this.runMap.get(runId);
|
|
266
|
-
if (!run || run?.run_type !== "chain") {
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
const agentRun = run;
|
|
270
|
-
agentRun.actions = agentRun.actions || [];
|
|
271
|
-
agentRun.actions.push(action);
|
|
272
|
-
agentRun.events.push({
|
|
273
|
-
name: "agent_action",
|
|
274
|
-
time: new Date().toISOString(),
|
|
275
|
-
kwargs: { action },
|
|
276
|
-
});
|
|
277
|
-
await this.onAgentAction?.(run);
|
|
278
|
-
}
|
|
279
|
-
async handleAgentEnd(action, runId) {
|
|
280
|
-
const run = this.runMap.get(runId);
|
|
281
|
-
if (!run || run?.run_type !== "chain") {
|
|
282
|
-
return;
|
|
283
|
-
}
|
|
284
|
-
run.events.push({
|
|
285
|
-
name: "agent_end",
|
|
286
|
-
time: new Date().toISOString(),
|
|
287
|
-
kwargs: { action },
|
|
288
|
-
});
|
|
289
|
-
await this.onAgentEnd?.(run);
|
|
290
|
-
}
|
|
291
|
-
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata, name) {
|
|
292
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
293
|
-
const start_time = Date.now();
|
|
294
|
-
const run = {
|
|
295
|
-
id: runId,
|
|
296
|
-
name: name ?? retriever.id[retriever.id.length - 1],
|
|
297
|
-
parent_run_id: parentRunId,
|
|
298
|
-
start_time,
|
|
299
|
-
serialized: retriever,
|
|
300
|
-
events: [
|
|
301
|
-
{
|
|
302
|
-
name: "start",
|
|
303
|
-
time: new Date(start_time).toISOString(),
|
|
304
|
-
},
|
|
305
|
-
],
|
|
306
|
-
inputs: { query },
|
|
307
|
-
execution_order,
|
|
308
|
-
child_execution_order: execution_order,
|
|
309
|
-
run_type: "retriever",
|
|
310
|
-
child_runs: [],
|
|
311
|
-
extra: metadata ? { metadata } : {},
|
|
312
|
-
tags: tags || [],
|
|
313
|
-
};
|
|
314
|
-
await this._startTrace(run);
|
|
315
|
-
await this.onRetrieverStart?.(run);
|
|
316
|
-
return run;
|
|
317
|
-
}
|
|
318
|
-
async handleRetrieverEnd(documents, runId) {
|
|
319
|
-
const run = this.runMap.get(runId);
|
|
320
|
-
if (!run || run?.run_type !== "retriever") {
|
|
321
|
-
throw new Error("No retriever run to end");
|
|
322
|
-
}
|
|
323
|
-
run.end_time = Date.now();
|
|
324
|
-
run.outputs = { documents };
|
|
325
|
-
run.events.push({
|
|
326
|
-
name: "end",
|
|
327
|
-
time: new Date(run.end_time).toISOString(),
|
|
328
|
-
});
|
|
329
|
-
await this.onRetrieverEnd?.(run);
|
|
330
|
-
await this._endTrace(run);
|
|
331
|
-
return run;
|
|
332
|
-
}
|
|
333
|
-
async handleRetrieverError(error, runId) {
|
|
334
|
-
const run = this.runMap.get(runId);
|
|
335
|
-
if (!run || run?.run_type !== "retriever") {
|
|
336
|
-
throw new Error("No retriever run to end");
|
|
337
|
-
}
|
|
338
|
-
run.end_time = Date.now();
|
|
339
|
-
run.error = error.message;
|
|
340
|
-
run.events.push({
|
|
341
|
-
name: "error",
|
|
342
|
-
time: new Date(run.end_time).toISOString(),
|
|
343
|
-
});
|
|
344
|
-
await this.onRetrieverError?.(run);
|
|
345
|
-
await this._endTrace(run);
|
|
346
|
-
return run;
|
|
347
|
-
}
|
|
348
|
-
async handleText(text, runId) {
|
|
349
|
-
const run = this.runMap.get(runId);
|
|
350
|
-
if (!run || run?.run_type !== "chain") {
|
|
351
|
-
return;
|
|
352
|
-
}
|
|
353
|
-
run.events.push({
|
|
354
|
-
name: "text",
|
|
355
|
-
time: new Date().toISOString(),
|
|
356
|
-
kwargs: { text },
|
|
357
|
-
});
|
|
358
|
-
await this.onText?.(run);
|
|
359
|
-
}
|
|
360
|
-
async handleLLMNewToken(token, idx, runId, _parentRunId, _tags, fields) {
|
|
361
|
-
const run = this.runMap.get(runId);
|
|
362
|
-
if (!run || run?.run_type !== "llm") {
|
|
363
|
-
throw new Error(`Invalid "runId" provided to "handleLLMNewToken" callback.`);
|
|
364
|
-
}
|
|
365
|
-
run.events.push({
|
|
366
|
-
name: "new_token",
|
|
367
|
-
time: new Date().toISOString(),
|
|
368
|
-
kwargs: { token, idx, chunk: fields?.chunk },
|
|
369
|
-
});
|
|
370
|
-
await this.onLLMNewToken?.(run, token);
|
|
371
|
-
return run;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
1
|
+
export * from "langchain-core/callbacks/tracers/base";
|
|
@@ -1,106 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports
|
|
4
|
-
const langsmith_1 = require("langsmith");
|
|
5
|
-
const env_js_1 = require("../../util/env.cjs");
|
|
6
|
-
const tracer_js_1 = require("./tracer.cjs");
|
|
7
|
-
class LangChainTracer extends tracer_js_1.BaseTracer {
|
|
8
|
-
constructor(fields = {}) {
|
|
9
|
-
super(fields);
|
|
10
|
-
Object.defineProperty(this, "name", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
configurable: true,
|
|
13
|
-
writable: true,
|
|
14
|
-
value: "langchain_tracer"
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(this, "projectName", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true,
|
|
20
|
-
value: void 0
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(this, "exampleId", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true,
|
|
25
|
-
writable: true,
|
|
26
|
-
value: void 0
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(this, "client", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: void 0
|
|
33
|
-
});
|
|
34
|
-
const { exampleId, projectName, client } = fields;
|
|
35
|
-
this.projectName =
|
|
36
|
-
projectName ??
|
|
37
|
-
(0, env_js_1.getEnvironmentVariable)("LANGCHAIN_PROJECT") ??
|
|
38
|
-
(0, env_js_1.getEnvironmentVariable)("LANGCHAIN_SESSION");
|
|
39
|
-
this.exampleId = exampleId;
|
|
40
|
-
this.client = client ?? new langsmith_1.Client({});
|
|
41
|
-
}
|
|
42
|
-
async _convertToCreate(run, example_id = undefined) {
|
|
43
|
-
return {
|
|
44
|
-
...run,
|
|
45
|
-
extra: {
|
|
46
|
-
...run.extra,
|
|
47
|
-
runtime: await (0, env_js_1.getRuntimeEnvironment)(),
|
|
48
|
-
},
|
|
49
|
-
child_runs: undefined,
|
|
50
|
-
session_name: this.projectName,
|
|
51
|
-
reference_example_id: run.parent_run_id ? undefined : example_id,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
async persistRun(_run) { }
|
|
55
|
-
async _persistRunSingle(run) {
|
|
56
|
-
const persistedRun = await this._convertToCreate(run, this.exampleId);
|
|
57
|
-
await this.client.createRun(persistedRun);
|
|
58
|
-
}
|
|
59
|
-
async _updateRunSingle(run) {
|
|
60
|
-
const runUpdate = {
|
|
61
|
-
end_time: run.end_time,
|
|
62
|
-
error: run.error,
|
|
63
|
-
outputs: run.outputs,
|
|
64
|
-
events: run.events,
|
|
65
|
-
inputs: run.inputs,
|
|
66
|
-
};
|
|
67
|
-
await this.client.updateRun(run.id, runUpdate);
|
|
68
|
-
}
|
|
69
|
-
async onRetrieverStart(run) {
|
|
70
|
-
await this._persistRunSingle(run);
|
|
71
|
-
}
|
|
72
|
-
async onRetrieverEnd(run) {
|
|
73
|
-
await this._updateRunSingle(run);
|
|
74
|
-
}
|
|
75
|
-
async onRetrieverError(run) {
|
|
76
|
-
await this._updateRunSingle(run);
|
|
77
|
-
}
|
|
78
|
-
async onLLMStart(run) {
|
|
79
|
-
await this._persistRunSingle(run);
|
|
80
|
-
}
|
|
81
|
-
async onLLMEnd(run) {
|
|
82
|
-
await this._updateRunSingle(run);
|
|
83
|
-
}
|
|
84
|
-
async onLLMError(run) {
|
|
85
|
-
await this._updateRunSingle(run);
|
|
86
|
-
}
|
|
87
|
-
async onChainStart(run) {
|
|
88
|
-
await this._persistRunSingle(run);
|
|
89
|
-
}
|
|
90
|
-
async onChainEnd(run) {
|
|
91
|
-
await this._updateRunSingle(run);
|
|
92
|
-
}
|
|
93
|
-
async onChainError(run) {
|
|
94
|
-
await this._updateRunSingle(run);
|
|
95
|
-
}
|
|
96
|
-
async onToolStart(run) {
|
|
97
|
-
await this._persistRunSingle(run);
|
|
98
|
-
}
|
|
99
|
-
async onToolEnd(run) {
|
|
100
|
-
await this._updateRunSingle(run);
|
|
101
|
-
}
|
|
102
|
-
async onToolError(run) {
|
|
103
|
-
await this._updateRunSingle(run);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
exports.LangChainTracer = LangChainTracer;
|
|
17
|
+
__exportStar(require("langchain-core/callbacks/tracers/tracer_langchain"), exports);
|
|
@@ -1,41 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseRun, RunUpdate as BaseRunUpdate, KVMap } from "langsmith/schemas";
|
|
3
|
-
import { BaseTracer } from "./tracer.js";
|
|
4
|
-
import { BaseCallbackHandlerInput } from "../base.js";
|
|
5
|
-
export interface Run extends BaseRun {
|
|
6
|
-
id: string;
|
|
7
|
-
child_runs: this[];
|
|
8
|
-
child_execution_order: number;
|
|
9
|
-
}
|
|
10
|
-
export interface RunUpdate extends BaseRunUpdate {
|
|
11
|
-
events: BaseRun["events"];
|
|
12
|
-
inputs: KVMap;
|
|
13
|
-
}
|
|
14
|
-
export interface LangChainTracerFields extends BaseCallbackHandlerInput {
|
|
15
|
-
exampleId?: string;
|
|
16
|
-
projectName?: string;
|
|
17
|
-
client?: Client;
|
|
18
|
-
}
|
|
19
|
-
export declare class LangChainTracer extends BaseTracer implements LangChainTracerFields {
|
|
20
|
-
name: string;
|
|
21
|
-
projectName?: string;
|
|
22
|
-
exampleId?: string;
|
|
23
|
-
client: Client;
|
|
24
|
-
constructor(fields?: LangChainTracerFields);
|
|
25
|
-
private _convertToCreate;
|
|
26
|
-
protected persistRun(_run: Run): Promise<void>;
|
|
27
|
-
protected _persistRunSingle(run: Run): Promise<void>;
|
|
28
|
-
protected _updateRunSingle(run: Run): Promise<void>;
|
|
29
|
-
onRetrieverStart(run: Run): Promise<void>;
|
|
30
|
-
onRetrieverEnd(run: Run): Promise<void>;
|
|
31
|
-
onRetrieverError(run: Run): Promise<void>;
|
|
32
|
-
onLLMStart(run: Run): Promise<void>;
|
|
33
|
-
onLLMEnd(run: Run): Promise<void>;
|
|
34
|
-
onLLMError(run: Run): Promise<void>;
|
|
35
|
-
onChainStart(run: Run): Promise<void>;
|
|
36
|
-
onChainEnd(run: Run): Promise<void>;
|
|
37
|
-
onChainError(run: Run): Promise<void>;
|
|
38
|
-
onToolStart(run: Run): Promise<void>;
|
|
39
|
-
onToolEnd(run: Run): Promise<void>;
|
|
40
|
-
onToolError(run: Run): Promise<void>;
|
|
41
|
-
}
|
|
1
|
+
export * from "langchain-core/callbacks/tracers/tracer_langchain";
|
|
@@ -1,102 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { getEnvironmentVariable, getRuntimeEnvironment, } from "../../util/env.js";
|
|
3
|
-
import { BaseTracer } from "./tracer.js";
|
|
4
|
-
export class LangChainTracer extends BaseTracer {
|
|
5
|
-
constructor(fields = {}) {
|
|
6
|
-
super(fields);
|
|
7
|
-
Object.defineProperty(this, "name", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
configurable: true,
|
|
10
|
-
writable: true,
|
|
11
|
-
value: "langchain_tracer"
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(this, "projectName", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
configurable: true,
|
|
16
|
-
writable: true,
|
|
17
|
-
value: void 0
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(this, "exampleId", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
configurable: true,
|
|
22
|
-
writable: true,
|
|
23
|
-
value: void 0
|
|
24
|
-
});
|
|
25
|
-
Object.defineProperty(this, "client", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
configurable: true,
|
|
28
|
-
writable: true,
|
|
29
|
-
value: void 0
|
|
30
|
-
});
|
|
31
|
-
const { exampleId, projectName, client } = fields;
|
|
32
|
-
this.projectName =
|
|
33
|
-
projectName ??
|
|
34
|
-
getEnvironmentVariable("LANGCHAIN_PROJECT") ??
|
|
35
|
-
getEnvironmentVariable("LANGCHAIN_SESSION");
|
|
36
|
-
this.exampleId = exampleId;
|
|
37
|
-
this.client = client ?? new Client({});
|
|
38
|
-
}
|
|
39
|
-
async _convertToCreate(run, example_id = undefined) {
|
|
40
|
-
return {
|
|
41
|
-
...run,
|
|
42
|
-
extra: {
|
|
43
|
-
...run.extra,
|
|
44
|
-
runtime: await getRuntimeEnvironment(),
|
|
45
|
-
},
|
|
46
|
-
child_runs: undefined,
|
|
47
|
-
session_name: this.projectName,
|
|
48
|
-
reference_example_id: run.parent_run_id ? undefined : example_id,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
async persistRun(_run) { }
|
|
52
|
-
async _persistRunSingle(run) {
|
|
53
|
-
const persistedRun = await this._convertToCreate(run, this.exampleId);
|
|
54
|
-
await this.client.createRun(persistedRun);
|
|
55
|
-
}
|
|
56
|
-
async _updateRunSingle(run) {
|
|
57
|
-
const runUpdate = {
|
|
58
|
-
end_time: run.end_time,
|
|
59
|
-
error: run.error,
|
|
60
|
-
outputs: run.outputs,
|
|
61
|
-
events: run.events,
|
|
62
|
-
inputs: run.inputs,
|
|
63
|
-
};
|
|
64
|
-
await this.client.updateRun(run.id, runUpdate);
|
|
65
|
-
}
|
|
66
|
-
async onRetrieverStart(run) {
|
|
67
|
-
await this._persistRunSingle(run);
|
|
68
|
-
}
|
|
69
|
-
async onRetrieverEnd(run) {
|
|
70
|
-
await this._updateRunSingle(run);
|
|
71
|
-
}
|
|
72
|
-
async onRetrieverError(run) {
|
|
73
|
-
await this._updateRunSingle(run);
|
|
74
|
-
}
|
|
75
|
-
async onLLMStart(run) {
|
|
76
|
-
await this._persistRunSingle(run);
|
|
77
|
-
}
|
|
78
|
-
async onLLMEnd(run) {
|
|
79
|
-
await this._updateRunSingle(run);
|
|
80
|
-
}
|
|
81
|
-
async onLLMError(run) {
|
|
82
|
-
await this._updateRunSingle(run);
|
|
83
|
-
}
|
|
84
|
-
async onChainStart(run) {
|
|
85
|
-
await this._persistRunSingle(run);
|
|
86
|
-
}
|
|
87
|
-
async onChainEnd(run) {
|
|
88
|
-
await this._updateRunSingle(run);
|
|
89
|
-
}
|
|
90
|
-
async onChainError(run) {
|
|
91
|
-
await this._updateRunSingle(run);
|
|
92
|
-
}
|
|
93
|
-
async onToolStart(run) {
|
|
94
|
-
await this._persistRunSingle(run);
|
|
95
|
-
}
|
|
96
|
-
async onToolEnd(run) {
|
|
97
|
-
await this._updateRunSingle(run);
|
|
98
|
-
}
|
|
99
|
-
async onToolError(run) {
|
|
100
|
-
await this._updateRunSingle(run);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
1
|
+
export * from "langchain-core/callbacks/tracers/tracer_langchain";
|