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,150 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
function getLengthBased(text) {
|
|
9
|
-
return text.split(/\n| /).length;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* A specialized example selector that selects examples based on their
|
|
13
|
-
* length, ensuring that the total length of the selected examples does
|
|
14
|
-
* not exceed a specified maximum length.
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* const exampleSelector = new LengthBasedExampleSelector(
|
|
18
|
-
* [
|
|
19
|
-
* { input: "happy", output: "sad" },
|
|
20
|
-
* { input: "tall", output: "short" },
|
|
21
|
-
* { input: "energetic", output: "lethargic" },
|
|
22
|
-
* { input: "sunny", output: "gloomy" },
|
|
23
|
-
* { input: "windy", output: "calm" },
|
|
24
|
-
* ],
|
|
25
|
-
* {
|
|
26
|
-
* examplePrompt: new PromptTemplate({
|
|
27
|
-
* inputVariables: ["input", "output"],
|
|
28
|
-
* template: "Input: {input}\nOutput: {output}",
|
|
29
|
-
* }),
|
|
30
|
-
* maxLength: 25,
|
|
31
|
-
* },
|
|
32
|
-
* );
|
|
33
|
-
* const dynamicPrompt = new FewShotPromptTemplate({
|
|
34
|
-
* exampleSelector,
|
|
35
|
-
* examplePrompt: new PromptTemplate({
|
|
36
|
-
* inputVariables: ["input", "output"],
|
|
37
|
-
* template: "Input: {input}\nOutput: {output}",
|
|
38
|
-
* }),
|
|
39
|
-
* prefix: "Give the antonym of every input",
|
|
40
|
-
* suffix: "Input: {adjective}\nOutput:",
|
|
41
|
-
* inputVariables: ["adjective"],
|
|
42
|
-
* });
|
|
43
|
-
* console.log(dynamicPrompt.format({ adjective: "big" }));
|
|
44
|
-
* console.log(
|
|
45
|
-
* dynamicPrompt.format({
|
|
46
|
-
* adjective:
|
|
47
|
-
* "big and huge and massive and large and gigantic and tall and much much much much much bigger than everything else",
|
|
48
|
-
* }),
|
|
49
|
-
* );
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
class LengthBasedExampleSelector extends base_js_1.BaseExampleSelector {
|
|
53
|
-
constructor(data) {
|
|
54
|
-
super(data);
|
|
55
|
-
Object.defineProperty(this, "examples", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: []
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(this, "examplePrompt", {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
configurable: true,
|
|
64
|
-
writable: true,
|
|
65
|
-
value: void 0
|
|
66
|
-
});
|
|
67
|
-
Object.defineProperty(this, "getTextLength", {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true,
|
|
70
|
-
writable: true,
|
|
71
|
-
value: getLengthBased
|
|
72
|
-
});
|
|
73
|
-
Object.defineProperty(this, "maxLength", {
|
|
74
|
-
enumerable: true,
|
|
75
|
-
configurable: true,
|
|
76
|
-
writable: true,
|
|
77
|
-
value: 2048
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(this, "exampleTextLengths", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true,
|
|
82
|
-
writable: true,
|
|
83
|
-
value: []
|
|
84
|
-
});
|
|
85
|
-
this.examplePrompt = data.examplePrompt;
|
|
86
|
-
this.maxLength = data.maxLength ?? 2048;
|
|
87
|
-
this.getTextLength = data.getTextLength ?? getLengthBased;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Adds an example to the list of examples and calculates its length.
|
|
91
|
-
* @param example The example to be added.
|
|
92
|
-
* @returns Promise that resolves when the example has been added and its length calculated.
|
|
93
|
-
*/
|
|
94
|
-
async addExample(example) {
|
|
95
|
-
this.examples.push(example);
|
|
96
|
-
const stringExample = await this.examplePrompt.format(example);
|
|
97
|
-
this.exampleTextLengths.push(this.getTextLength(stringExample));
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Calculates the lengths of the examples.
|
|
101
|
-
* @param v Array of lengths of the examples.
|
|
102
|
-
* @param values Instance of LengthBasedExampleSelector.
|
|
103
|
-
* @returns Promise that resolves with an array of lengths of the examples.
|
|
104
|
-
*/
|
|
105
|
-
async calculateExampleTextLengths(v, values) {
|
|
106
|
-
if (v.length > 0) {
|
|
107
|
-
return v;
|
|
108
|
-
}
|
|
109
|
-
const { examples, examplePrompt } = values;
|
|
110
|
-
const stringExamples = await Promise.all(examples.map((eg) => examplePrompt.format(eg)));
|
|
111
|
-
return stringExamples.map((eg) => this.getTextLength(eg));
|
|
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]; } };
|
|
112
7
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const examples = [];
|
|
124
|
-
while (remainingLength > 0 && i < this.examples.length) {
|
|
125
|
-
const newLength = remainingLength - this.exampleTextLengths[i];
|
|
126
|
-
if (newLength < 0) {
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
examples.push(this.examples[i]);
|
|
131
|
-
remainingLength = newLength;
|
|
132
|
-
}
|
|
133
|
-
i += 1;
|
|
134
|
-
}
|
|
135
|
-
return examples;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Creates a new instance of LengthBasedExampleSelector and adds a list of
|
|
139
|
-
* examples to it.
|
|
140
|
-
* @param examples Array of examples to be added.
|
|
141
|
-
* @param args Input parameters for the LengthBasedExampleSelector.
|
|
142
|
-
* @returns Promise that resolves with a new instance of LengthBasedExampleSelector with the examples added.
|
|
143
|
-
*/
|
|
144
|
-
static async fromExamples(examples, args) {
|
|
145
|
-
const selector = new LengthBasedExampleSelector(args);
|
|
146
|
-
await Promise.all(examples.map((eg) => selector.addExample(eg)));
|
|
147
|
-
return selector;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
exports.LengthBasedExampleSelector = LengthBasedExampleSelector;
|
|
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/prompts/example_selector/length_based"), exports);
|
|
@@ -1,89 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseExampleSelector } from "../base.js";
|
|
3
|
-
import { PromptTemplate } from "../prompt.js";
|
|
4
|
-
/**
|
|
5
|
-
* Interface for the input parameters of the LengthBasedExampleSelector
|
|
6
|
-
* class.
|
|
7
|
-
*/
|
|
8
|
-
export interface LengthBasedExampleSelectorInput {
|
|
9
|
-
examplePrompt: PromptTemplate;
|
|
10
|
-
maxLength?: number;
|
|
11
|
-
getTextLength?: (text: string) => number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* A specialized example selector that selects examples based on their
|
|
15
|
-
* length, ensuring that the total length of the selected examples does
|
|
16
|
-
* not exceed a specified maximum length.
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const exampleSelector = new LengthBasedExampleSelector(
|
|
20
|
-
* [
|
|
21
|
-
* { input: "happy", output: "sad" },
|
|
22
|
-
* { input: "tall", output: "short" },
|
|
23
|
-
* { input: "energetic", output: "lethargic" },
|
|
24
|
-
* { input: "sunny", output: "gloomy" },
|
|
25
|
-
* { input: "windy", output: "calm" },
|
|
26
|
-
* ],
|
|
27
|
-
* {
|
|
28
|
-
* examplePrompt: new PromptTemplate({
|
|
29
|
-
* inputVariables: ["input", "output"],
|
|
30
|
-
* template: "Input: {input}\nOutput: {output}",
|
|
31
|
-
* }),
|
|
32
|
-
* maxLength: 25,
|
|
33
|
-
* },
|
|
34
|
-
* );
|
|
35
|
-
* const dynamicPrompt = new FewShotPromptTemplate({
|
|
36
|
-
* exampleSelector,
|
|
37
|
-
* examplePrompt: new PromptTemplate({
|
|
38
|
-
* inputVariables: ["input", "output"],
|
|
39
|
-
* template: "Input: {input}\nOutput: {output}",
|
|
40
|
-
* }),
|
|
41
|
-
* prefix: "Give the antonym of every input",
|
|
42
|
-
* suffix: "Input: {adjective}\nOutput:",
|
|
43
|
-
* inputVariables: ["adjective"],
|
|
44
|
-
* });
|
|
45
|
-
* console.log(dynamicPrompt.format({ adjective: "big" }));
|
|
46
|
-
* console.log(
|
|
47
|
-
* dynamicPrompt.format({
|
|
48
|
-
* adjective:
|
|
49
|
-
* "big and huge and massive and large and gigantic and tall and much much much much much bigger than everything else",
|
|
50
|
-
* }),
|
|
51
|
-
* );
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
export declare class LengthBasedExampleSelector extends BaseExampleSelector {
|
|
55
|
-
protected examples: Example[];
|
|
56
|
-
examplePrompt: PromptTemplate;
|
|
57
|
-
getTextLength: (text: string) => number;
|
|
58
|
-
maxLength: number;
|
|
59
|
-
exampleTextLengths: number[];
|
|
60
|
-
constructor(data: LengthBasedExampleSelectorInput);
|
|
61
|
-
/**
|
|
62
|
-
* Adds an example to the list of examples and calculates its length.
|
|
63
|
-
* @param example The example to be added.
|
|
64
|
-
* @returns Promise that resolves when the example has been added and its length calculated.
|
|
65
|
-
*/
|
|
66
|
-
addExample(example: Example): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Calculates the lengths of the examples.
|
|
69
|
-
* @param v Array of lengths of the examples.
|
|
70
|
-
* @param values Instance of LengthBasedExampleSelector.
|
|
71
|
-
* @returns Promise that resolves with an array of lengths of the examples.
|
|
72
|
-
*/
|
|
73
|
-
calculateExampleTextLengths(v: number[], values: LengthBasedExampleSelector): Promise<number[]>;
|
|
74
|
-
/**
|
|
75
|
-
* Selects examples until the total length of the selected examples
|
|
76
|
-
* reaches the maxLength.
|
|
77
|
-
* @param inputVariables The input variables for the examples.
|
|
78
|
-
* @returns Promise that resolves with an array of selected examples.
|
|
79
|
-
*/
|
|
80
|
-
selectExamples(inputVariables: Example): Promise<Example[]>;
|
|
81
|
-
/**
|
|
82
|
-
* Creates a new instance of LengthBasedExampleSelector and adds a list of
|
|
83
|
-
* examples to it.
|
|
84
|
-
* @param examples Array of examples to be added.
|
|
85
|
-
* @param args Input parameters for the LengthBasedExampleSelector.
|
|
86
|
-
* @returns Promise that resolves with a new instance of LengthBasedExampleSelector with the examples added.
|
|
87
|
-
*/
|
|
88
|
-
static fromExamples(examples: Example[], args: LengthBasedExampleSelectorInput): Promise<LengthBasedExampleSelector>;
|
|
89
|
-
}
|
|
1
|
+
export * from "langchain-core/prompts/example_selector/length_based";
|
|
@@ -1,146 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Calculates the length of a text based on the number of words and lines.
|
|
4
|
-
*/
|
|
5
|
-
function getLengthBased(text) {
|
|
6
|
-
return text.split(/\n| /).length;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* A specialized example selector that selects examples based on their
|
|
10
|
-
* length, ensuring that the total length of the selected examples does
|
|
11
|
-
* not exceed a specified maximum length.
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const exampleSelector = new LengthBasedExampleSelector(
|
|
15
|
-
* [
|
|
16
|
-
* { input: "happy", output: "sad" },
|
|
17
|
-
* { input: "tall", output: "short" },
|
|
18
|
-
* { input: "energetic", output: "lethargic" },
|
|
19
|
-
* { input: "sunny", output: "gloomy" },
|
|
20
|
-
* { input: "windy", output: "calm" },
|
|
21
|
-
* ],
|
|
22
|
-
* {
|
|
23
|
-
* examplePrompt: new PromptTemplate({
|
|
24
|
-
* inputVariables: ["input", "output"],
|
|
25
|
-
* template: "Input: {input}\nOutput: {output}",
|
|
26
|
-
* }),
|
|
27
|
-
* maxLength: 25,
|
|
28
|
-
* },
|
|
29
|
-
* );
|
|
30
|
-
* const dynamicPrompt = new FewShotPromptTemplate({
|
|
31
|
-
* exampleSelector,
|
|
32
|
-
* examplePrompt: new PromptTemplate({
|
|
33
|
-
* inputVariables: ["input", "output"],
|
|
34
|
-
* template: "Input: {input}\nOutput: {output}",
|
|
35
|
-
* }),
|
|
36
|
-
* prefix: "Give the antonym of every input",
|
|
37
|
-
* suffix: "Input: {adjective}\nOutput:",
|
|
38
|
-
* inputVariables: ["adjective"],
|
|
39
|
-
* });
|
|
40
|
-
* console.log(dynamicPrompt.format({ adjective: "big" }));
|
|
41
|
-
* console.log(
|
|
42
|
-
* dynamicPrompt.format({
|
|
43
|
-
* adjective:
|
|
44
|
-
* "big and huge and massive and large and gigantic and tall and much much much much much bigger than everything else",
|
|
45
|
-
* }),
|
|
46
|
-
* );
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export class LengthBasedExampleSelector extends BaseExampleSelector {
|
|
50
|
-
constructor(data) {
|
|
51
|
-
super(data);
|
|
52
|
-
Object.defineProperty(this, "examples", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: []
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(this, "examplePrompt", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: void 0
|
|
63
|
-
});
|
|
64
|
-
Object.defineProperty(this, "getTextLength", {
|
|
65
|
-
enumerable: true,
|
|
66
|
-
configurable: true,
|
|
67
|
-
writable: true,
|
|
68
|
-
value: getLengthBased
|
|
69
|
-
});
|
|
70
|
-
Object.defineProperty(this, "maxLength", {
|
|
71
|
-
enumerable: true,
|
|
72
|
-
configurable: true,
|
|
73
|
-
writable: true,
|
|
74
|
-
value: 2048
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(this, "exampleTextLengths", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
configurable: true,
|
|
79
|
-
writable: true,
|
|
80
|
-
value: []
|
|
81
|
-
});
|
|
82
|
-
this.examplePrompt = data.examplePrompt;
|
|
83
|
-
this.maxLength = data.maxLength ?? 2048;
|
|
84
|
-
this.getTextLength = data.getTextLength ?? getLengthBased;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Adds an example to the list of examples and calculates its length.
|
|
88
|
-
* @param example The example to be added.
|
|
89
|
-
* @returns Promise that resolves when the example has been added and its length calculated.
|
|
90
|
-
*/
|
|
91
|
-
async addExample(example) {
|
|
92
|
-
this.examples.push(example);
|
|
93
|
-
const stringExample = await this.examplePrompt.format(example);
|
|
94
|
-
this.exampleTextLengths.push(this.getTextLength(stringExample));
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Calculates the lengths of the examples.
|
|
98
|
-
* @param v Array of lengths of the examples.
|
|
99
|
-
* @param values Instance of LengthBasedExampleSelector.
|
|
100
|
-
* @returns Promise that resolves with an array of lengths of the examples.
|
|
101
|
-
*/
|
|
102
|
-
async calculateExampleTextLengths(v, values) {
|
|
103
|
-
if (v.length > 0) {
|
|
104
|
-
return v;
|
|
105
|
-
}
|
|
106
|
-
const { examples, examplePrompt } = values;
|
|
107
|
-
const stringExamples = await Promise.all(examples.map((eg) => examplePrompt.format(eg)));
|
|
108
|
-
return stringExamples.map((eg) => this.getTextLength(eg));
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Selects examples until the total length of the selected examples
|
|
112
|
-
* reaches the maxLength.
|
|
113
|
-
* @param inputVariables The input variables for the examples.
|
|
114
|
-
* @returns Promise that resolves with an array of selected examples.
|
|
115
|
-
*/
|
|
116
|
-
async selectExamples(inputVariables) {
|
|
117
|
-
const inputs = Object.values(inputVariables).join(" ");
|
|
118
|
-
let remainingLength = this.maxLength - this.getTextLength(inputs);
|
|
119
|
-
let i = 0;
|
|
120
|
-
const examples = [];
|
|
121
|
-
while (remainingLength > 0 && i < this.examples.length) {
|
|
122
|
-
const newLength = remainingLength - this.exampleTextLengths[i];
|
|
123
|
-
if (newLength < 0) {
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
examples.push(this.examples[i]);
|
|
128
|
-
remainingLength = newLength;
|
|
129
|
-
}
|
|
130
|
-
i += 1;
|
|
131
|
-
}
|
|
132
|
-
return examples;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Creates a new instance of LengthBasedExampleSelector and adds a list of
|
|
136
|
-
* examples to it.
|
|
137
|
-
* @param examples Array of examples to be added.
|
|
138
|
-
* @param args Input parameters for the LengthBasedExampleSelector.
|
|
139
|
-
* @returns Promise that resolves with a new instance of LengthBasedExampleSelector with the examples added.
|
|
140
|
-
*/
|
|
141
|
-
static async fromExamples(examples, args) {
|
|
142
|
-
const selector = new LengthBasedExampleSelector(args);
|
|
143
|
-
await Promise.all(examples.map((eg) => selector.addExample(eg)));
|
|
144
|
-
return selector;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
1
|
+
export * from "langchain-core/prompts/example_selector/length_based";
|
|
@@ -1,139 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function
|
|
7
|
-
return Object.keys(values)
|
|
8
|
-
.sort()
|
|
9
|
-
.map((key) => values[key]);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Class that selects examples based on semantic similarity. It extends
|
|
13
|
-
* the BaseExampleSelector class.
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const exampleSelector = await SemanticSimilarityExampleSelector.fromExamples(
|
|
17
|
-
* [
|
|
18
|
-
* { input: "happy", output: "sad" },
|
|
19
|
-
* { input: "tall", output: "short" },
|
|
20
|
-
* { input: "energetic", output: "lethargic" },
|
|
21
|
-
* { input: "sunny", output: "gloomy" },
|
|
22
|
-
* { input: "windy", output: "calm" },
|
|
23
|
-
* ],
|
|
24
|
-
* new OpenAIEmbeddings(),
|
|
25
|
-
* HNSWLib,
|
|
26
|
-
* { k: 1 },
|
|
27
|
-
* );
|
|
28
|
-
* const dynamicPrompt = new FewShotPromptTemplate({
|
|
29
|
-
* exampleSelector,
|
|
30
|
-
* examplePrompt: PromptTemplate.fromTemplate(
|
|
31
|
-
* "Input: {input}\nOutput: {output}",
|
|
32
|
-
* ),
|
|
33
|
-
* prefix: "Give the antonym of every input",
|
|
34
|
-
* suffix: "Input: {adjective}\nOutput:",
|
|
35
|
-
* inputVariables: ["adjective"],
|
|
36
|
-
* });
|
|
37
|
-
* console.log(await dynamicPrompt.format({ adjective: "rainy" }));
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
class SemanticSimilarityExampleSelector extends base_js_1.BaseExampleSelector {
|
|
41
|
-
constructor(data) {
|
|
42
|
-
super(data);
|
|
43
|
-
Object.defineProperty(this, "vectorStoreRetriever", {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
configurable: true,
|
|
46
|
-
writable: true,
|
|
47
|
-
value: void 0
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(this, "exampleKeys", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: void 0
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(this, "inputKeys", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: void 0
|
|
60
|
-
});
|
|
61
|
-
this.exampleKeys = data.exampleKeys;
|
|
62
|
-
this.inputKeys = data.inputKeys;
|
|
63
|
-
if (data.vectorStore !== undefined) {
|
|
64
|
-
this.vectorStoreRetriever = data.vectorStore.asRetriever({
|
|
65
|
-
k: data.k ?? 4,
|
|
66
|
-
filter: data.filter,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
else if (data.vectorStoreRetriever) {
|
|
70
|
-
this.vectorStoreRetriever = data.vectorStoreRetriever;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw new Error(`You must specify one of "vectorStore" and "vectorStoreRetriever".`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Method that adds a new example to the vectorStore. The example is
|
|
78
|
-
* converted to a string and added to the vectorStore as a document.
|
|
79
|
-
* @param example The example to be added to the vectorStore.
|
|
80
|
-
* @returns Promise that resolves when the example has been added to the vectorStore.
|
|
81
|
-
*/
|
|
82
|
-
async addExample(example) {
|
|
83
|
-
const inputKeys = this.inputKeys ?? Object.keys(example);
|
|
84
|
-
const stringExample = sortedValues(inputKeys.reduce((acc, key) => ({ ...acc, [key]: example[key] }), {})).join(" ");
|
|
85
|
-
await this.vectorStoreRetriever.addDocuments([
|
|
86
|
-
new document_js_1.Document({
|
|
87
|
-
pageContent: stringExample,
|
|
88
|
-
metadata: example,
|
|
89
|
-
}),
|
|
90
|
-
]);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Method that selects which examples to use based on semantic similarity.
|
|
94
|
-
* It performs a similarity search in the vectorStore using the input
|
|
95
|
-
* variables and returns the examples with the highest similarity.
|
|
96
|
-
* @param inputVariables The input variables used for the similarity search.
|
|
97
|
-
* @returns Promise that resolves with an array of the selected examples.
|
|
98
|
-
*/
|
|
99
|
-
async selectExamples(inputVariables) {
|
|
100
|
-
const inputKeys = this.inputKeys ?? Object.keys(inputVariables);
|
|
101
|
-
const query = sortedValues(inputKeys.reduce((acc, key) => ({ ...acc, [key]: inputVariables[key] }), {})).join(" ");
|
|
102
|
-
const exampleDocs = await this.vectorStoreRetriever.invoke(query);
|
|
103
|
-
const examples = exampleDocs.map((doc) => doc.metadata);
|
|
104
|
-
if (this.exampleKeys) {
|
|
105
|
-
// If example keys are provided, filter examples to those keys.
|
|
106
|
-
return examples.map((example) => this.exampleKeys.reduce((acc, key) => ({ ...acc, [key]: example[key] }), {}));
|
|
107
|
-
}
|
|
108
|
-
return examples;
|
|
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]; } };
|
|
109
7
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
* @param vectorStoreCls The VectorStore class to be used.
|
|
121
|
-
* @param options The options object for the SemanticSimilarityExampleSelector.
|
|
122
|
-
* @returns Promise that resolves with a new instance of SemanticSimilarityExampleSelector.
|
|
123
|
-
*/
|
|
124
|
-
static async fromExamples(examples, embeddings, vectorStoreCls, options = {}) {
|
|
125
|
-
const inputKeys = options.inputKeys ?? null;
|
|
126
|
-
const stringExamples = examples.map((example) => sortedValues(inputKeys
|
|
127
|
-
? inputKeys.reduce((acc, key) => ({ ...acc, [key]: example[key] }), {})
|
|
128
|
-
: example).join(" "));
|
|
129
|
-
const vectorStore = await vectorStoreCls.fromTexts(stringExamples, examples, // metadatas
|
|
130
|
-
embeddings, options);
|
|
131
|
-
return new SemanticSimilarityExampleSelector({
|
|
132
|
-
vectorStore,
|
|
133
|
-
k: options.k ?? 4,
|
|
134
|
-
exampleKeys: options.exampleKeys,
|
|
135
|
-
inputKeys: options.inputKeys,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
exports.SemanticSimilarityExampleSelector = SemanticSimilarityExampleSelector;
|
|
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/prompts/example_selector/semantic_similarity"), exports);
|
|
@@ -1,91 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { VectorStore, VectorStoreRetriever } from "../../vectorstores/base.js";
|
|
3
|
-
import { Example } from "../../schema/index.js";
|
|
4
|
-
import { BaseExampleSelector } from "../base.js";
|
|
5
|
-
/**
|
|
6
|
-
* Interface for the input data of the SemanticSimilarityExampleSelector
|
|
7
|
-
* class.
|
|
8
|
-
*/
|
|
9
|
-
export type SemanticSimilarityExampleSelectorInput<V extends VectorStore = VectorStore> = {
|
|
10
|
-
vectorStore: V;
|
|
11
|
-
k?: number;
|
|
12
|
-
filter?: V["FilterType"];
|
|
13
|
-
exampleKeys?: string[];
|
|
14
|
-
inputKeys?: string[];
|
|
15
|
-
vectorStoreRetriever?: never;
|
|
16
|
-
} | {
|
|
17
|
-
vectorStoreRetriever: VectorStoreRetriever<V>;
|
|
18
|
-
exampleKeys?: string[];
|
|
19
|
-
inputKeys?: string[];
|
|
20
|
-
vectorStore?: never;
|
|
21
|
-
k?: never;
|
|
22
|
-
filter?: never;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Class that selects examples based on semantic similarity. It extends
|
|
26
|
-
* the BaseExampleSelector class.
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const exampleSelector = await SemanticSimilarityExampleSelector.fromExamples(
|
|
30
|
-
* [
|
|
31
|
-
* { input: "happy", output: "sad" },
|
|
32
|
-
* { input: "tall", output: "short" },
|
|
33
|
-
* { input: "energetic", output: "lethargic" },
|
|
34
|
-
* { input: "sunny", output: "gloomy" },
|
|
35
|
-
* { input: "windy", output: "calm" },
|
|
36
|
-
* ],
|
|
37
|
-
* new OpenAIEmbeddings(),
|
|
38
|
-
* HNSWLib,
|
|
39
|
-
* { k: 1 },
|
|
40
|
-
* );
|
|
41
|
-
* const dynamicPrompt = new FewShotPromptTemplate({
|
|
42
|
-
* exampleSelector,
|
|
43
|
-
* examplePrompt: PromptTemplate.fromTemplate(
|
|
44
|
-
* "Input: {input}\nOutput: {output}",
|
|
45
|
-
* ),
|
|
46
|
-
* prefix: "Give the antonym of every input",
|
|
47
|
-
* suffix: "Input: {adjective}\nOutput:",
|
|
48
|
-
* inputVariables: ["adjective"],
|
|
49
|
-
* });
|
|
50
|
-
* console.log(await dynamicPrompt.format({ adjective: "rainy" }));
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export declare class SemanticSimilarityExampleSelector<V extends VectorStore = VectorStore> extends BaseExampleSelector {
|
|
54
|
-
vectorStoreRetriever: VectorStoreRetriever<V>;
|
|
55
|
-
exampleKeys?: string[];
|
|
56
|
-
inputKeys?: string[];
|
|
57
|
-
constructor(data: SemanticSimilarityExampleSelectorInput<V>);
|
|
58
|
-
/**
|
|
59
|
-
* Method that adds a new example to the vectorStore. The example is
|
|
60
|
-
* converted to a string and added to the vectorStore as a document.
|
|
61
|
-
* @param example The example to be added to the vectorStore.
|
|
62
|
-
* @returns Promise that resolves when the example has been added to the vectorStore.
|
|
63
|
-
*/
|
|
64
|
-
addExample(example: Example): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Method that selects which examples to use based on semantic similarity.
|
|
67
|
-
* It performs a similarity search in the vectorStore using the input
|
|
68
|
-
* variables and returns the examples with the highest similarity.
|
|
69
|
-
* @param inputVariables The input variables used for the similarity search.
|
|
70
|
-
* @returns Promise that resolves with an array of the selected examples.
|
|
71
|
-
*/
|
|
72
|
-
selectExamples<T>(inputVariables: Record<string, T>): Promise<Example[]>;
|
|
73
|
-
/**
|
|
74
|
-
* Static method that creates a new instance of
|
|
75
|
-
* SemanticSimilarityExampleSelector. It takes a list of examples, an
|
|
76
|
-
* instance of Embeddings, a VectorStore class, and an options object as
|
|
77
|
-
* parameters. It converts the examples to strings, creates a VectorStore
|
|
78
|
-
* from the strings and the embeddings, and returns a new
|
|
79
|
-
* SemanticSimilarityExampleSelector with the created VectorStore and the
|
|
80
|
-
* options provided.
|
|
81
|
-
* @param examples The list of examples to be used.
|
|
82
|
-
* @param embeddings The instance of Embeddings to be used.
|
|
83
|
-
* @param vectorStoreCls The VectorStore class to be used.
|
|
84
|
-
* @param options The options object for the SemanticSimilarityExampleSelector.
|
|
85
|
-
* @returns Promise that resolves with a new instance of SemanticSimilarityExampleSelector.
|
|
86
|
-
*/
|
|
87
|
-
static fromExamples<C extends typeof VectorStore>(examples: Record<string, string>[], embeddings: Embeddings, vectorStoreCls: C, options?: {
|
|
88
|
-
k?: number;
|
|
89
|
-
inputKeys?: string[];
|
|
90
|
-
} & Parameters<C["fromTexts"]>[3]): Promise<SemanticSimilarityExampleSelector>;
|
|
91
|
-
}
|
|
1
|
+
export * from "langchain-core/prompts/example_selector/semantic_similarity";
|