langchain 0.0.195 → 0.0.197-rc.0
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/LICENSE +21 -0
- package/dist/agents/openai/index.cjs +6 -2
- package/dist/agents/openai/index.js +6 -2
- 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/anthropic.cjs +15 -348
- package/dist/chat_models/anthropic.d.ts +1 -156
- package/dist/chat_models/anthropic.js +1 -346
- 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.cjs +21 -1
- package/dist/chat_models/bedrock/web.d.ts +2 -2
- package/dist/chat_models/bedrock/web.js +21 -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/github.cjs +105 -0
- package/dist/document_loaders/web/github.d.ts +26 -0
- package/dist/document_loaders/web/github.js +105 -0
- 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.cjs +21 -1
- package/dist/llms/bedrock/web.d.ts +2 -2
- package/dist/llms/bedrock/web.js +21 -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/list.cjs +4 -122
- package/dist/output_parsers/list.d.ts +1 -57
- package/dist/output_parsers/list.js +1 -119
- 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 +13 -477
- package/dist/prompts/chat.d.ts +2 -219
- package/dist/prompts/chat.js +2 -466
- package/dist/prompts/few_shot.cjs +3 -352
- 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 +2 -141
- package/dist/prompts/pipeline.d.ts +1 -98
- package/dist/prompts/pipeline.js +1 -140
- package/dist/prompts/prompt.cjs +2 -145
- package/dist/prompts/prompt.d.ts +1 -92
- package/dist/prompts/prompt.js +1 -144
- package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +2 -147
- 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 +5 -73
- package/dist/prompts/selectors/conditional.d.ts +1 -63
- package/dist/prompts/selectors/conditional.js +1 -69
- package/dist/prompts/serde.d.ts +1 -43
- package/dist/prompts/template.cjs +8 -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/dist/vectorstores/momento_vector_index.cjs +39 -0
- package/dist/vectorstores/momento_vector_index.d.ts +17 -1
- package/dist/vectorstores/momento_vector_index.js +40 -1
- package/dist/vectorstores/mongodb_atlas.cjs +22 -2
- package/dist/vectorstores/mongodb_atlas.d.ts +13 -0
- package/dist/vectorstores/mongodb_atlas.js +22 -2
- package/package.json +18 -11
- 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,50 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* For instance, it makes it easy to fetch the run ID and then do things with that, such as log feedback.
|
|
8
|
-
*/
|
|
9
|
-
class RunCollectorCallbackHandler extends tracer_js_1.BaseTracer {
|
|
10
|
-
/**
|
|
11
|
-
* Creates a new instance of the RunCollectorCallbackHandler class.
|
|
12
|
-
* @param exampleId The ID of the example.
|
|
13
|
-
*/
|
|
14
|
-
constructor({ exampleId } = {}) {
|
|
15
|
-
super();
|
|
16
|
-
/** The name of the callback handler. */
|
|
17
|
-
Object.defineProperty(this, "name", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: "run_collector"
|
|
22
|
-
});
|
|
23
|
-
/** The ID of the example. */
|
|
24
|
-
Object.defineProperty(this, "exampleId", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: true,
|
|
28
|
-
value: void 0
|
|
29
|
-
});
|
|
30
|
-
/** An array of traced runs. */
|
|
31
|
-
Object.defineProperty(this, "tracedRuns", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
configurable: true,
|
|
34
|
-
writable: true,
|
|
35
|
-
value: void 0
|
|
36
|
-
});
|
|
37
|
-
this.exampleId = exampleId;
|
|
38
|
-
this.tracedRuns = [];
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Persists the given run object.
|
|
42
|
-
* @param run The run object to persist.
|
|
43
|
-
*/
|
|
44
|
-
async persistRun(run) {
|
|
45
|
-
const run_ = { ...run };
|
|
46
|
-
run_.reference_example_id = this.exampleId;
|
|
47
|
-
this.tracedRuns.push(run_);
|
|
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]; } };
|
|
48
7
|
}
|
|
49
|
-
|
|
50
|
-
|
|
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
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("langchain-core/tracers/run_collector"), exports);
|
|
@@ -1,26 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseTracer } from "./tracer.js";
|
|
3
|
-
/**
|
|
4
|
-
* A callback handler that collects traced runs and makes it easy to fetch the traced run object from calls through any langchain object.
|
|
5
|
-
* For instance, it makes it easy to fetch the run ID and then do things with that, such as log feedback.
|
|
6
|
-
*/
|
|
7
|
-
export declare class RunCollectorCallbackHandler extends BaseTracer {
|
|
8
|
-
/** The name of the callback handler. */
|
|
9
|
-
name: string;
|
|
10
|
-
/** The ID of the example. */
|
|
11
|
-
exampleId?: string;
|
|
12
|
-
/** An array of traced runs. */
|
|
13
|
-
tracedRuns: Run[];
|
|
14
|
-
/**
|
|
15
|
-
* Creates a new instance of the RunCollectorCallbackHandler class.
|
|
16
|
-
* @param exampleId The ID of the example.
|
|
17
|
-
*/
|
|
18
|
-
constructor({ exampleId }?: {
|
|
19
|
-
exampleId?: string;
|
|
20
|
-
});
|
|
21
|
-
/**
|
|
22
|
-
* Persists the given run object.
|
|
23
|
-
* @param run The run object to persist.
|
|
24
|
-
*/
|
|
25
|
-
protected persistRun(run: BaseRun): Promise<void>;
|
|
26
|
-
}
|
|
1
|
+
export * from "langchain-core/tracers/run_collector";
|
|
@@ -1,46 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* A callback handler that collects traced runs and makes it easy to fetch the traced run object from calls through any langchain object.
|
|
4
|
-
* For instance, it makes it easy to fetch the run ID and then do things with that, such as log feedback.
|
|
5
|
-
*/
|
|
6
|
-
export class RunCollectorCallbackHandler extends BaseTracer {
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new instance of the RunCollectorCallbackHandler class.
|
|
9
|
-
* @param exampleId The ID of the example.
|
|
10
|
-
*/
|
|
11
|
-
constructor({ exampleId } = {}) {
|
|
12
|
-
super();
|
|
13
|
-
/** The name of the callback handler. */
|
|
14
|
-
Object.defineProperty(this, "name", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: "run_collector"
|
|
19
|
-
});
|
|
20
|
-
/** The ID of the example. */
|
|
21
|
-
Object.defineProperty(this, "exampleId", {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
configurable: true,
|
|
24
|
-
writable: true,
|
|
25
|
-
value: void 0
|
|
26
|
-
});
|
|
27
|
-
/** An array of traced runs. */
|
|
28
|
-
Object.defineProperty(this, "tracedRuns", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: void 0
|
|
33
|
-
});
|
|
34
|
-
this.exampleId = exampleId;
|
|
35
|
-
this.tracedRuns = [];
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Persists the given run object.
|
|
39
|
-
* @param run The run object to persist.
|
|
40
|
-
*/
|
|
41
|
-
async persistRun(run) {
|
|
42
|
-
const run_ = { ...run };
|
|
43
|
-
run_.reference_example_id = this.exampleId;
|
|
44
|
-
this.tracedRuns.push(run_);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
1
|
+
export * from "langchain-core/tracers/run_collector";
|
|
@@ -1,377 +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 base_js_1 = require("../base.cjs");
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
-
function _coerceToDict(value, defaultKey) {
|
|
7
|
-
return value && !Array.isArray(value) && typeof value === "object"
|
|
8
|
-
? value
|
|
9
|
-
: { [defaultKey]: value };
|
|
10
|
-
}
|
|
11
|
-
class BaseTracer extends base_js_1.BaseCallbackHandler {
|
|
12
|
-
constructor(_fields) {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
Object.defineProperty(this, "runMap", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: new Map()
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
copy() {
|
|
22
|
-
return this;
|
|
23
|
-
}
|
|
24
|
-
_addChildRun(parentRun, childRun) {
|
|
25
|
-
parentRun.child_runs.push(childRun);
|
|
26
|
-
}
|
|
27
|
-
async _startTrace(run) {
|
|
28
|
-
if (run.parent_run_id !== undefined) {
|
|
29
|
-
const parentRun = this.runMap.get(run.parent_run_id);
|
|
30
|
-
if (parentRun) {
|
|
31
|
-
this._addChildRun(parentRun, run);
|
|
32
|
-
parentRun.child_execution_order = Math.max(parentRun.child_execution_order, run.child_execution_order);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
this.runMap.set(run.id, run);
|
|
36
|
-
await this.onRunCreate?.(run);
|
|
37
|
-
}
|
|
38
|
-
async _endTrace(run) {
|
|
39
|
-
const parentRun = run.parent_run_id !== undefined && this.runMap.get(run.parent_run_id);
|
|
40
|
-
if (parentRun) {
|
|
41
|
-
parentRun.child_execution_order = Math.max(parentRun.child_execution_order, run.child_execution_order);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
await this.persistRun(run);
|
|
45
|
-
}
|
|
46
|
-
this.runMap.delete(run.id);
|
|
47
|
-
await this.onRunUpdate?.(run);
|
|
48
|
-
}
|
|
49
|
-
_getExecutionOrder(parentRunId) {
|
|
50
|
-
const parentRun = parentRunId !== undefined && this.runMap.get(parentRunId);
|
|
51
|
-
// If a run has no parent then execution order is 1
|
|
52
|
-
if (!parentRun) {
|
|
53
|
-
return 1;
|
|
54
|
-
}
|
|
55
|
-
return parentRun.child_execution_order + 1;
|
|
56
|
-
}
|
|
57
|
-
async handleLLMStart(llm, prompts, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
58
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
59
|
-
const start_time = Date.now();
|
|
60
|
-
const finalExtraParams = metadata
|
|
61
|
-
? { ...extraParams, metadata }
|
|
62
|
-
: extraParams;
|
|
63
|
-
const run = {
|
|
64
|
-
id: runId,
|
|
65
|
-
name: name ?? llm.id[llm.id.length - 1],
|
|
66
|
-
parent_run_id: parentRunId,
|
|
67
|
-
start_time,
|
|
68
|
-
serialized: llm,
|
|
69
|
-
events: [
|
|
70
|
-
{
|
|
71
|
-
name: "start",
|
|
72
|
-
time: new Date(start_time).toISOString(),
|
|
73
|
-
},
|
|
74
|
-
],
|
|
75
|
-
inputs: { prompts },
|
|
76
|
-
execution_order,
|
|
77
|
-
child_runs: [],
|
|
78
|
-
child_execution_order: execution_order,
|
|
79
|
-
run_type: "llm",
|
|
80
|
-
extra: finalExtraParams ?? {},
|
|
81
|
-
tags: tags || [],
|
|
82
|
-
};
|
|
83
|
-
await this._startTrace(run);
|
|
84
|
-
await this.onLLMStart?.(run);
|
|
85
|
-
return run;
|
|
86
|
-
}
|
|
87
|
-
async handleChatModelStart(llm, messages, runId, parentRunId, extraParams, tags, metadata, name) {
|
|
88
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
89
|
-
const start_time = Date.now();
|
|
90
|
-
const finalExtraParams = metadata
|
|
91
|
-
? { ...extraParams, metadata }
|
|
92
|
-
: extraParams;
|
|
93
|
-
const run = {
|
|
94
|
-
id: runId,
|
|
95
|
-
name: name ?? llm.id[llm.id.length - 1],
|
|
96
|
-
parent_run_id: parentRunId,
|
|
97
|
-
start_time,
|
|
98
|
-
serialized: llm,
|
|
99
|
-
events: [
|
|
100
|
-
{
|
|
101
|
-
name: "start",
|
|
102
|
-
time: new Date(start_time).toISOString(),
|
|
103
|
-
},
|
|
104
|
-
],
|
|
105
|
-
inputs: { messages },
|
|
106
|
-
execution_order,
|
|
107
|
-
child_runs: [],
|
|
108
|
-
child_execution_order: execution_order,
|
|
109
|
-
run_type: "llm",
|
|
110
|
-
extra: finalExtraParams ?? {},
|
|
111
|
-
tags: tags || [],
|
|
112
|
-
};
|
|
113
|
-
await this._startTrace(run);
|
|
114
|
-
await this.onLLMStart?.(run);
|
|
115
|
-
return run;
|
|
116
|
-
}
|
|
117
|
-
async handleLLMEnd(output, runId) {
|
|
118
|
-
const run = this.runMap.get(runId);
|
|
119
|
-
if (!run || run?.run_type !== "llm") {
|
|
120
|
-
throw new Error("No LLM run to end.");
|
|
121
|
-
}
|
|
122
|
-
run.end_time = Date.now();
|
|
123
|
-
run.outputs = output;
|
|
124
|
-
run.events.push({
|
|
125
|
-
name: "end",
|
|
126
|
-
time: new Date(run.end_time).toISOString(),
|
|
127
|
-
});
|
|
128
|
-
await this.onLLMEnd?.(run);
|
|
129
|
-
await this._endTrace(run);
|
|
130
|
-
return run;
|
|
131
|
-
}
|
|
132
|
-
async handleLLMError(error, runId) {
|
|
133
|
-
const run = this.runMap.get(runId);
|
|
134
|
-
if (!run || run?.run_type !== "llm") {
|
|
135
|
-
throw new Error("No LLM run to end.");
|
|
136
|
-
}
|
|
137
|
-
run.end_time = Date.now();
|
|
138
|
-
run.error = error.message;
|
|
139
|
-
run.events.push({
|
|
140
|
-
name: "error",
|
|
141
|
-
time: new Date(run.end_time).toISOString(),
|
|
142
|
-
});
|
|
143
|
-
await this.onLLMError?.(run);
|
|
144
|
-
await this._endTrace(run);
|
|
145
|
-
return run;
|
|
146
|
-
}
|
|
147
|
-
async handleChainStart(chain, inputs, runId, parentRunId, tags, metadata, runType, name) {
|
|
148
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
149
|
-
const start_time = Date.now();
|
|
150
|
-
const run = {
|
|
151
|
-
id: runId,
|
|
152
|
-
name: name ?? chain.id[chain.id.length - 1],
|
|
153
|
-
parent_run_id: parentRunId,
|
|
154
|
-
start_time,
|
|
155
|
-
serialized: chain,
|
|
156
|
-
events: [
|
|
157
|
-
{
|
|
158
|
-
name: "start",
|
|
159
|
-
time: new Date(start_time).toISOString(),
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
inputs,
|
|
163
|
-
execution_order,
|
|
164
|
-
child_execution_order: execution_order,
|
|
165
|
-
run_type: runType ?? "chain",
|
|
166
|
-
child_runs: [],
|
|
167
|
-
extra: metadata ? { metadata } : {},
|
|
168
|
-
tags: tags || [],
|
|
169
|
-
};
|
|
170
|
-
await this._startTrace(run);
|
|
171
|
-
await this.onChainStart?.(run);
|
|
172
|
-
return run;
|
|
173
|
-
}
|
|
174
|
-
async handleChainEnd(outputs, runId, _parentRunId, _tags, kwargs) {
|
|
175
|
-
const run = this.runMap.get(runId);
|
|
176
|
-
if (!run) {
|
|
177
|
-
throw new Error("No chain run to end.");
|
|
178
|
-
}
|
|
179
|
-
run.end_time = Date.now();
|
|
180
|
-
run.outputs = _coerceToDict(outputs, "output");
|
|
181
|
-
run.events.push({
|
|
182
|
-
name: "end",
|
|
183
|
-
time: new Date(run.end_time).toISOString(),
|
|
184
|
-
});
|
|
185
|
-
if (kwargs?.inputs !== undefined) {
|
|
186
|
-
run.inputs = _coerceToDict(kwargs.inputs, "input");
|
|
187
|
-
}
|
|
188
|
-
await this.onChainEnd?.(run);
|
|
189
|
-
await this._endTrace(run);
|
|
190
|
-
return run;
|
|
191
|
-
}
|
|
192
|
-
async handleChainError(error, runId, _parentRunId, _tags, kwargs) {
|
|
193
|
-
const run = this.runMap.get(runId);
|
|
194
|
-
if (!run) {
|
|
195
|
-
throw new Error("No chain run to end.");
|
|
196
|
-
}
|
|
197
|
-
run.end_time = Date.now();
|
|
198
|
-
run.error = error.message;
|
|
199
|
-
run.events.push({
|
|
200
|
-
name: "error",
|
|
201
|
-
time: new Date(run.end_time).toISOString(),
|
|
202
|
-
});
|
|
203
|
-
if (kwargs?.inputs !== undefined) {
|
|
204
|
-
run.inputs = _coerceToDict(kwargs.inputs, "input");
|
|
205
|
-
}
|
|
206
|
-
await this.onChainError?.(run);
|
|
207
|
-
await this._endTrace(run);
|
|
208
|
-
return run;
|
|
209
|
-
}
|
|
210
|
-
async handleToolStart(tool, input, runId, parentRunId, tags, metadata, name) {
|
|
211
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
212
|
-
const start_time = Date.now();
|
|
213
|
-
const run = {
|
|
214
|
-
id: runId,
|
|
215
|
-
name: name ?? tool.id[tool.id.length - 1],
|
|
216
|
-
parent_run_id: parentRunId,
|
|
217
|
-
start_time,
|
|
218
|
-
serialized: tool,
|
|
219
|
-
events: [
|
|
220
|
-
{
|
|
221
|
-
name: "start",
|
|
222
|
-
time: new Date(start_time).toISOString(),
|
|
223
|
-
},
|
|
224
|
-
],
|
|
225
|
-
inputs: { input },
|
|
226
|
-
execution_order,
|
|
227
|
-
child_execution_order: execution_order,
|
|
228
|
-
run_type: "tool",
|
|
229
|
-
child_runs: [],
|
|
230
|
-
extra: metadata ? { metadata } : {},
|
|
231
|
-
tags: tags || [],
|
|
232
|
-
};
|
|
233
|
-
await this._startTrace(run);
|
|
234
|
-
await this.onToolStart?.(run);
|
|
235
|
-
return run;
|
|
236
|
-
}
|
|
237
|
-
async handleToolEnd(output, runId) {
|
|
238
|
-
const run = this.runMap.get(runId);
|
|
239
|
-
if (!run || run?.run_type !== "tool") {
|
|
240
|
-
throw new Error("No tool run to end");
|
|
241
|
-
}
|
|
242
|
-
run.end_time = Date.now();
|
|
243
|
-
run.outputs = { output };
|
|
244
|
-
run.events.push({
|
|
245
|
-
name: "end",
|
|
246
|
-
time: new Date(run.end_time).toISOString(),
|
|
247
|
-
});
|
|
248
|
-
await this.onToolEnd?.(run);
|
|
249
|
-
await this._endTrace(run);
|
|
250
|
-
return run;
|
|
251
|
-
}
|
|
252
|
-
async handleToolError(error, runId) {
|
|
253
|
-
const run = this.runMap.get(runId);
|
|
254
|
-
if (!run || run?.run_type !== "tool") {
|
|
255
|
-
throw new Error("No tool run to end");
|
|
256
|
-
}
|
|
257
|
-
run.end_time = Date.now();
|
|
258
|
-
run.error = error.message;
|
|
259
|
-
run.events.push({
|
|
260
|
-
name: "error",
|
|
261
|
-
time: new Date(run.end_time).toISOString(),
|
|
262
|
-
});
|
|
263
|
-
await this.onToolError?.(run);
|
|
264
|
-
await this._endTrace(run);
|
|
265
|
-
return run;
|
|
266
|
-
}
|
|
267
|
-
async handleAgentAction(action, runId) {
|
|
268
|
-
const run = this.runMap.get(runId);
|
|
269
|
-
if (!run || run?.run_type !== "chain") {
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
const agentRun = run;
|
|
273
|
-
agentRun.actions = agentRun.actions || [];
|
|
274
|
-
agentRun.actions.push(action);
|
|
275
|
-
agentRun.events.push({
|
|
276
|
-
name: "agent_action",
|
|
277
|
-
time: new Date().toISOString(),
|
|
278
|
-
kwargs: { action },
|
|
279
|
-
});
|
|
280
|
-
await this.onAgentAction?.(run);
|
|
281
|
-
}
|
|
282
|
-
async handleAgentEnd(action, runId) {
|
|
283
|
-
const run = this.runMap.get(runId);
|
|
284
|
-
if (!run || run?.run_type !== "chain") {
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
run.events.push({
|
|
288
|
-
name: "agent_end",
|
|
289
|
-
time: new Date().toISOString(),
|
|
290
|
-
kwargs: { action },
|
|
291
|
-
});
|
|
292
|
-
await this.onAgentEnd?.(run);
|
|
293
|
-
}
|
|
294
|
-
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata, name) {
|
|
295
|
-
const execution_order = this._getExecutionOrder(parentRunId);
|
|
296
|
-
const start_time = Date.now();
|
|
297
|
-
const run = {
|
|
298
|
-
id: runId,
|
|
299
|
-
name: name ?? retriever.id[retriever.id.length - 1],
|
|
300
|
-
parent_run_id: parentRunId,
|
|
301
|
-
start_time,
|
|
302
|
-
serialized: retriever,
|
|
303
|
-
events: [
|
|
304
|
-
{
|
|
305
|
-
name: "start",
|
|
306
|
-
time: new Date(start_time).toISOString(),
|
|
307
|
-
},
|
|
308
|
-
],
|
|
309
|
-
inputs: { query },
|
|
310
|
-
execution_order,
|
|
311
|
-
child_execution_order: execution_order,
|
|
312
|
-
run_type: "retriever",
|
|
313
|
-
child_runs: [],
|
|
314
|
-
extra: metadata ? { metadata } : {},
|
|
315
|
-
tags: tags || [],
|
|
316
|
-
};
|
|
317
|
-
await this._startTrace(run);
|
|
318
|
-
await this.onRetrieverStart?.(run);
|
|
319
|
-
return run;
|
|
320
|
-
}
|
|
321
|
-
async handleRetrieverEnd(documents, runId) {
|
|
322
|
-
const run = this.runMap.get(runId);
|
|
323
|
-
if (!run || run?.run_type !== "retriever") {
|
|
324
|
-
throw new Error("No retriever run to end");
|
|
325
|
-
}
|
|
326
|
-
run.end_time = Date.now();
|
|
327
|
-
run.outputs = { documents };
|
|
328
|
-
run.events.push({
|
|
329
|
-
name: "end",
|
|
330
|
-
time: new Date(run.end_time).toISOString(),
|
|
331
|
-
});
|
|
332
|
-
await this.onRetrieverEnd?.(run);
|
|
333
|
-
await this._endTrace(run);
|
|
334
|
-
return run;
|
|
335
|
-
}
|
|
336
|
-
async handleRetrieverError(error, runId) {
|
|
337
|
-
const run = this.runMap.get(runId);
|
|
338
|
-
if (!run || run?.run_type !== "retriever") {
|
|
339
|
-
throw new Error("No retriever run to end");
|
|
340
|
-
}
|
|
341
|
-
run.end_time = Date.now();
|
|
342
|
-
run.error = error.message;
|
|
343
|
-
run.events.push({
|
|
344
|
-
name: "error",
|
|
345
|
-
time: new Date(run.end_time).toISOString(),
|
|
346
|
-
});
|
|
347
|
-
await this.onRetrieverError?.(run);
|
|
348
|
-
await this._endTrace(run);
|
|
349
|
-
return run;
|
|
350
|
-
}
|
|
351
|
-
async handleText(text, runId) {
|
|
352
|
-
const run = this.runMap.get(runId);
|
|
353
|
-
if (!run || run?.run_type !== "chain") {
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
356
|
-
run.events.push({
|
|
357
|
-
name: "text",
|
|
358
|
-
time: new Date().toISOString(),
|
|
359
|
-
kwargs: { text },
|
|
360
|
-
});
|
|
361
|
-
await this.onText?.(run);
|
|
362
|
-
}
|
|
363
|
-
async handleLLMNewToken(token, idx, runId, _parentRunId, _tags, fields) {
|
|
364
|
-
const run = this.runMap.get(runId);
|
|
365
|
-
if (!run || run?.run_type !== "llm") {
|
|
366
|
-
throw new Error(`Invalid "runId" provided to "handleLLMNewToken" callback.`);
|
|
367
|
-
}
|
|
368
|
-
run.events.push({
|
|
369
|
-
name: "new_token",
|
|
370
|
-
time: new Date().toISOString(),
|
|
371
|
-
kwargs: { token, idx, chunk: fields?.chunk },
|
|
372
|
-
});
|
|
373
|
-
await this.onLLMNewToken?.(run, token);
|
|
374
|
-
return run;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
exports.BaseTracer = BaseTracer;
|
|
17
|
+
__exportStar(require("langchain-core/tracers/base"), exports);
|
|
@@ -1,70 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { AgentAction, AgentFinish, BaseMessage, ChainValues, LLMResult } from "../../schema/index.js";
|
|
3
|
-
import { Serialized } from "../../load/serializable.js";
|
|
4
|
-
import { BaseCallbackHandler, BaseCallbackHandlerInput, HandleLLMNewTokenCallbackFields, NewTokenIndices } from "../base.js";
|
|
5
|
-
import { Document } from "../../document.js";
|
|
6
|
-
export type RunType = string;
|
|
7
|
-
export interface Run extends BaseRun {
|
|
8
|
-
id: string;
|
|
9
|
-
start_time: number;
|
|
10
|
-
execution_order: number;
|
|
11
|
-
child_runs: this[];
|
|
12
|
-
child_execution_order: number;
|
|
13
|
-
events: Array<{
|
|
14
|
-
name: string;
|
|
15
|
-
time: string;
|
|
16
|
-
kwargs?: Record<string, unknown>;
|
|
17
|
-
}>;
|
|
18
|
-
}
|
|
19
|
-
export interface AgentRun extends Run {
|
|
20
|
-
actions: AgentAction[];
|
|
21
|
-
}
|
|
22
|
-
export declare abstract class BaseTracer extends BaseCallbackHandler {
|
|
23
|
-
protected runMap: Map<string, Run>;
|
|
24
|
-
constructor(_fields?: BaseCallbackHandlerInput);
|
|
25
|
-
copy(): this;
|
|
26
|
-
protected abstract persistRun(run: Run): Promise<void>;
|
|
27
|
-
protected _addChildRun(parentRun: Run, childRun: Run): void;
|
|
28
|
-
protected _startTrace(run: Run): Promise<void>;
|
|
29
|
-
protected _endTrace(run: Run): Promise<void>;
|
|
30
|
-
protected _getExecutionOrder(parentRunId: string | undefined): number;
|
|
31
|
-
handleLLMStart(llm: Serialized, prompts: string[], runId: string, parentRunId?: string, extraParams?: KVMap, tags?: string[], metadata?: KVMap, name?: string): Promise<Run>;
|
|
32
|
-
handleChatModelStart(llm: Serialized, messages: BaseMessage[][], runId: string, parentRunId?: string, extraParams?: KVMap, tags?: string[], metadata?: KVMap, name?: string): Promise<Run>;
|
|
33
|
-
handleLLMEnd(output: LLMResult, runId: string): Promise<Run>;
|
|
34
|
-
handleLLMError(error: Error, runId: string): Promise<Run>;
|
|
35
|
-
handleChainStart(chain: Serialized, inputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap, runType?: string, name?: string): Promise<Run>;
|
|
36
|
-
handleChainEnd(outputs: ChainValues, runId: string, _parentRunId?: string, _tags?: string[], kwargs?: {
|
|
37
|
-
inputs?: Record<string, unknown>;
|
|
38
|
-
}): Promise<Run>;
|
|
39
|
-
handleChainError(error: Error, runId: string, _parentRunId?: string, _tags?: string[], kwargs?: {
|
|
40
|
-
inputs?: Record<string, unknown>;
|
|
41
|
-
}): Promise<Run>;
|
|
42
|
-
handleToolStart(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap, name?: string): Promise<Run>;
|
|
43
|
-
handleToolEnd(output: string, runId: string): Promise<Run>;
|
|
44
|
-
handleToolError(error: Error, runId: string): Promise<Run>;
|
|
45
|
-
handleAgentAction(action: AgentAction, runId: string): Promise<void>;
|
|
46
|
-
handleAgentEnd(action: AgentFinish, runId: string): Promise<void>;
|
|
47
|
-
handleRetrieverStart(retriever: Serialized, query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap, name?: string): Promise<Run>;
|
|
48
|
-
handleRetrieverEnd(documents: Document<Record<string, unknown>>[], runId: string): Promise<Run>;
|
|
49
|
-
handleRetrieverError(error: Error, runId: string): Promise<Run>;
|
|
50
|
-
handleText(text: string, runId: string): Promise<void>;
|
|
51
|
-
handleLLMNewToken(token: string, idx: NewTokenIndices, runId: string, _parentRunId?: string, _tags?: string[], fields?: HandleLLMNewTokenCallbackFields): Promise<Run>;
|
|
52
|
-
onRunCreate?(run: Run): void | Promise<void>;
|
|
53
|
-
onRunUpdate?(run: Run): void | Promise<void>;
|
|
54
|
-
onLLMStart?(run: Run): void | Promise<void>;
|
|
55
|
-
onLLMEnd?(run: Run): void | Promise<void>;
|
|
56
|
-
onLLMError?(run: Run): void | Promise<void>;
|
|
57
|
-
onChainStart?(run: Run): void | Promise<void>;
|
|
58
|
-
onChainEnd?(run: Run): void | Promise<void>;
|
|
59
|
-
onChainError?(run: Run): void | Promise<void>;
|
|
60
|
-
onToolStart?(run: Run): void | Promise<void>;
|
|
61
|
-
onToolEnd?(run: Run): void | Promise<void>;
|
|
62
|
-
onToolError?(run: Run): void | Promise<void>;
|
|
63
|
-
onAgentAction?(run: Run): void | Promise<void>;
|
|
64
|
-
onAgentEnd?(run: Run): void | Promise<void>;
|
|
65
|
-
onRetrieverStart?(run: Run): void | Promise<void>;
|
|
66
|
-
onRetrieverEnd?(run: Run): void | Promise<void>;
|
|
67
|
-
onRetrieverError?(run: Run): void | Promise<void>;
|
|
68
|
-
onText?(run: Run): void | Promise<void>;
|
|
69
|
-
onLLMNewToken?(run: Run, token: string): void | Promise<void>;
|
|
70
|
-
}
|
|
1
|
+
export * from "langchain-core/tracers/base";
|