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
package/dist/prompts/chat.cjs
CHANGED
|
@@ -1,479 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
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
|
+
};
|
|
4
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
|
|
6
|
-
const base_js_1 = require("../memory/base.cjs");
|
|
7
|
-
const index_js_1 = require("../schema/index.cjs");
|
|
8
|
-
const index_js_2 = require("../schema/runnable/index.cjs");
|
|
9
|
-
const base_js_2 = require("./base.cjs");
|
|
10
|
-
const prompt_js_1 = require("./prompt.cjs");
|
|
11
|
-
/**
|
|
12
|
-
* Abstract class that serves as a base for creating message prompt
|
|
13
|
-
* templates. It defines how to format messages for different roles in a
|
|
14
|
-
* conversation.
|
|
15
|
-
*/
|
|
16
|
-
class BaseMessagePromptTemplate extends index_js_2.Runnable {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
Object.defineProperty(this, "lc_namespace", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
configurable: true,
|
|
22
|
-
writable: true,
|
|
23
|
-
value: ["langchain", "prompts", "chat"]
|
|
24
|
-
});
|
|
25
|
-
Object.defineProperty(this, "lc_serializable", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
configurable: true,
|
|
28
|
-
writable: true,
|
|
29
|
-
value: true
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Calls the formatMessages method with the provided input and options.
|
|
34
|
-
* @param input Input for the formatMessages method
|
|
35
|
-
* @param options Optional BaseCallbackConfig
|
|
36
|
-
* @returns Formatted output messages
|
|
37
|
-
*/
|
|
38
|
-
async invoke(input, options) {
|
|
39
|
-
return this._callWithConfig((input) => this.formatMessages(input), input, { ...options, runType: "prompt" });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.BaseMessagePromptTemplate = BaseMessagePromptTemplate;
|
|
43
|
-
/**
|
|
44
|
-
* Class that represents a chat prompt value. It extends the
|
|
45
|
-
* BasePromptValue and includes an array of BaseMessage instances.
|
|
46
|
-
*/
|
|
47
|
-
class ChatPromptValue extends index_js_1.BasePromptValue {
|
|
48
|
-
static lc_name() {
|
|
49
|
-
return "ChatPromptValue";
|
|
50
|
-
}
|
|
51
|
-
constructor(fields) {
|
|
52
|
-
if (Array.isArray(fields)) {
|
|
53
|
-
// eslint-disable-next-line no-param-reassign
|
|
54
|
-
fields = { messages: fields };
|
|
55
|
-
}
|
|
56
|
-
super(fields);
|
|
57
|
-
Object.defineProperty(this, "lc_namespace", {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true,
|
|
60
|
-
writable: true,
|
|
61
|
-
value: ["langchain", "prompts", "chat"]
|
|
62
|
-
});
|
|
63
|
-
Object.defineProperty(this, "lc_serializable", {
|
|
64
|
-
enumerable: true,
|
|
65
|
-
configurable: true,
|
|
66
|
-
writable: true,
|
|
67
|
-
value: true
|
|
68
|
-
});
|
|
69
|
-
Object.defineProperty(this, "messages", {
|
|
70
|
-
enumerable: true,
|
|
71
|
-
configurable: true,
|
|
72
|
-
writable: true,
|
|
73
|
-
value: void 0
|
|
74
|
-
});
|
|
75
|
-
this.messages = fields.messages;
|
|
76
|
-
}
|
|
77
|
-
toString() {
|
|
78
|
-
return (0, base_js_1.getBufferString)(this.messages);
|
|
79
|
-
}
|
|
80
|
-
toChatMessages() {
|
|
81
|
-
return this.messages;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.ChatPromptValue = ChatPromptValue;
|
|
85
|
-
/**
|
|
86
|
-
* Class that represents a placeholder for messages in a chat prompt. It
|
|
87
|
-
* extends the BaseMessagePromptTemplate.
|
|
88
|
-
*/
|
|
89
|
-
class MessagesPlaceholder extends BaseMessagePromptTemplate {
|
|
90
|
-
static lc_name() {
|
|
91
|
-
return "MessagesPlaceholder";
|
|
92
|
-
}
|
|
93
|
-
constructor(fields) {
|
|
94
|
-
if (typeof fields === "string") {
|
|
95
|
-
// eslint-disable-next-line no-param-reassign
|
|
96
|
-
fields = { variableName: fields };
|
|
97
|
-
}
|
|
98
|
-
super(fields);
|
|
99
|
-
Object.defineProperty(this, "variableName", {
|
|
100
|
-
enumerable: true,
|
|
101
|
-
configurable: true,
|
|
102
|
-
writable: true,
|
|
103
|
-
value: void 0
|
|
104
|
-
});
|
|
105
|
-
this.variableName = fields.variableName;
|
|
106
|
-
}
|
|
107
|
-
get inputVariables() {
|
|
108
|
-
return [this.variableName];
|
|
109
|
-
}
|
|
110
|
-
validateInputOrThrow(input, variableName) {
|
|
111
|
-
let isInputBaseMessage = false;
|
|
112
|
-
if (Array.isArray(input)) {
|
|
113
|
-
isInputBaseMessage = input.every((message) => (0, index_js_1.isBaseMessage)(message));
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
isInputBaseMessage = (0, index_js_1.isBaseMessage)(input);
|
|
117
|
-
}
|
|
118
|
-
if (!isInputBaseMessage) {
|
|
119
|
-
const readableInput = typeof input === "string" ? input : JSON.stringify(input, null, 2);
|
|
120
|
-
const error = new Error(`Error: Field "${variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: ${readableInput}`);
|
|
121
|
-
error.name = "InputFormatError";
|
|
122
|
-
throw error;
|
|
123
|
-
}
|
|
124
|
-
return true;
|
|
125
|
-
}
|
|
126
|
-
async formatMessages(values) {
|
|
127
|
-
this.validateInputOrThrow(values[this.variableName], this.variableName);
|
|
128
|
-
return values[this.variableName];
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
exports.MessagesPlaceholder = MessagesPlaceholder;
|
|
132
|
-
/**
|
|
133
|
-
* Abstract class that serves as a base for creating message string prompt
|
|
134
|
-
* templates. It extends the BaseMessagePromptTemplate.
|
|
135
|
-
*/
|
|
136
|
-
class BaseMessageStringPromptTemplate extends BaseMessagePromptTemplate {
|
|
137
|
-
constructor(fields) {
|
|
138
|
-
if (!("prompt" in fields)) {
|
|
139
|
-
// eslint-disable-next-line no-param-reassign
|
|
140
|
-
fields = { prompt: fields };
|
|
141
|
-
}
|
|
142
|
-
super(fields);
|
|
143
|
-
Object.defineProperty(this, "prompt", {
|
|
144
|
-
enumerable: true,
|
|
145
|
-
configurable: true,
|
|
146
|
-
writable: true,
|
|
147
|
-
value: void 0
|
|
148
|
-
});
|
|
149
|
-
this.prompt = fields.prompt;
|
|
150
|
-
}
|
|
151
|
-
get inputVariables() {
|
|
152
|
-
return this.prompt.inputVariables;
|
|
153
|
-
}
|
|
154
|
-
async formatMessages(values) {
|
|
155
|
-
return [await this.format(values)];
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
exports.BaseMessageStringPromptTemplate = BaseMessageStringPromptTemplate;
|
|
159
|
-
/**
|
|
160
|
-
* Abstract class that serves as a base for creating chat prompt
|
|
161
|
-
* templates. It extends the BasePromptTemplate.
|
|
162
|
-
*/
|
|
163
|
-
class BaseChatPromptTemplate extends base_js_2.BasePromptTemplate {
|
|
164
|
-
constructor(input) {
|
|
165
|
-
super(input);
|
|
166
|
-
}
|
|
167
|
-
async format(values) {
|
|
168
|
-
return (await this.formatPromptValue(values)).toString();
|
|
169
|
-
}
|
|
170
|
-
async formatPromptValue(values) {
|
|
171
|
-
const resultMessages = await this.formatMessages(values);
|
|
172
|
-
return new ChatPromptValue(resultMessages);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
exports.BaseChatPromptTemplate = BaseChatPromptTemplate;
|
|
176
|
-
/**
|
|
177
|
-
* Class that represents a chat message prompt template. It extends the
|
|
178
|
-
* BaseMessageStringPromptTemplate.
|
|
179
|
-
*/
|
|
180
|
-
class ChatMessagePromptTemplate extends BaseMessageStringPromptTemplate {
|
|
181
|
-
static lc_name() {
|
|
182
|
-
return "ChatMessagePromptTemplate";
|
|
183
|
-
}
|
|
184
|
-
constructor(fields, role) {
|
|
185
|
-
if (!("prompt" in fields)) {
|
|
186
|
-
// eslint-disable-next-line no-param-reassign, @typescript-eslint/no-non-null-assertion
|
|
187
|
-
fields = { prompt: fields, role: role };
|
|
188
|
-
}
|
|
189
|
-
super(fields);
|
|
190
|
-
Object.defineProperty(this, "role", {
|
|
191
|
-
enumerable: true,
|
|
192
|
-
configurable: true,
|
|
193
|
-
writable: true,
|
|
194
|
-
value: void 0
|
|
195
|
-
});
|
|
196
|
-
this.role = fields.role;
|
|
197
|
-
}
|
|
198
|
-
async format(values) {
|
|
199
|
-
return new index_js_1.ChatMessage(await this.prompt.format(values), this.role);
|
|
200
|
-
}
|
|
201
|
-
static fromTemplate(template, role) {
|
|
202
|
-
return new this(prompt_js_1.PromptTemplate.fromTemplate(template), role);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
exports.ChatMessagePromptTemplate = ChatMessagePromptTemplate;
|
|
206
|
-
/**
|
|
207
|
-
* Class that represents a human message prompt template. It extends the
|
|
208
|
-
* BaseMessageStringPromptTemplate.
|
|
209
|
-
* @example
|
|
210
|
-
* ```typescript
|
|
211
|
-
* const message = HumanMessagePromptTemplate.fromTemplate("{text}");
|
|
212
|
-
* const formatted = await message.format({ text: "Hello world!" });
|
|
213
|
-
*
|
|
214
|
-
* const chatPrompt = ChatPromptTemplate.fromMessages([message]);
|
|
215
|
-
* const formattedChatPrompt = await chatPrompt.invoke({
|
|
216
|
-
* text: "Hello world!",
|
|
217
|
-
* });
|
|
218
|
-
* ```
|
|
219
|
-
*/
|
|
220
|
-
class HumanMessagePromptTemplate extends BaseMessageStringPromptTemplate {
|
|
221
|
-
static lc_name() {
|
|
222
|
-
return "HumanMessagePromptTemplate";
|
|
223
|
-
}
|
|
224
|
-
async format(values) {
|
|
225
|
-
return new index_js_1.HumanMessage(await this.prompt.format(values));
|
|
226
|
-
}
|
|
227
|
-
static fromTemplate(template) {
|
|
228
|
-
return new this(prompt_js_1.PromptTemplate.fromTemplate(template));
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
exports.HumanMessagePromptTemplate = HumanMessagePromptTemplate;
|
|
232
|
-
/**
|
|
233
|
-
* Class that represents an AI message prompt template. It extends the
|
|
234
|
-
* BaseMessageStringPromptTemplate.
|
|
235
|
-
*/
|
|
236
|
-
class AIMessagePromptTemplate extends BaseMessageStringPromptTemplate {
|
|
237
|
-
static lc_name() {
|
|
238
|
-
return "AIMessagePromptTemplate";
|
|
239
|
-
}
|
|
240
|
-
async format(values) {
|
|
241
|
-
return new index_js_1.AIMessage(await this.prompt.format(values));
|
|
242
|
-
}
|
|
243
|
-
static fromTemplate(template) {
|
|
244
|
-
return new this(prompt_js_1.PromptTemplate.fromTemplate(template));
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
exports.AIMessagePromptTemplate = AIMessagePromptTemplate;
|
|
248
|
-
/**
|
|
249
|
-
* Class that represents a system message prompt template. It extends the
|
|
250
|
-
* BaseMessageStringPromptTemplate.
|
|
251
|
-
* @example
|
|
252
|
-
* ```typescript
|
|
253
|
-
* const message = SystemMessagePromptTemplate.fromTemplate("{text}");
|
|
254
|
-
* const formatted = await message.format({ text: "Hello world!" });
|
|
255
|
-
*
|
|
256
|
-
* const chatPrompt = ChatPromptTemplate.fromMessages([message]);
|
|
257
|
-
* const formattedChatPrompt = await chatPrompt.invoke({
|
|
258
|
-
* text: "Hello world!",
|
|
259
|
-
* });
|
|
260
|
-
* ```
|
|
261
|
-
*/
|
|
262
|
-
class SystemMessagePromptTemplate extends BaseMessageStringPromptTemplate {
|
|
263
|
-
static lc_name() {
|
|
264
|
-
return "SystemMessagePromptTemplate";
|
|
265
|
-
}
|
|
266
|
-
async format(values) {
|
|
267
|
-
return new index_js_1.SystemMessage(await this.prompt.format(values));
|
|
268
|
-
}
|
|
269
|
-
static fromTemplate(template) {
|
|
270
|
-
return new this(prompt_js_1.PromptTemplate.fromTemplate(template));
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
exports.SystemMessagePromptTemplate = SystemMessagePromptTemplate;
|
|
274
|
-
function _isBaseMessagePromptTemplate(baseMessagePromptTemplateLike) {
|
|
275
|
-
return (typeof baseMessagePromptTemplateLike
|
|
276
|
-
.formatMessages === "function");
|
|
277
|
-
}
|
|
278
|
-
function _coerceMessagePromptTemplateLike(messagePromptTemplateLike) {
|
|
279
|
-
if (_isBaseMessagePromptTemplate(messagePromptTemplateLike) ||
|
|
280
|
-
(0, index_js_1.isBaseMessage)(messagePromptTemplateLike)) {
|
|
281
|
-
return messagePromptTemplateLike;
|
|
282
|
-
}
|
|
283
|
-
const message = (0, index_js_1.coerceMessageLikeToMessage)(messagePromptTemplateLike);
|
|
284
|
-
if (message._getType() === "human") {
|
|
285
|
-
return HumanMessagePromptTemplate.fromTemplate(message.content);
|
|
286
|
-
}
|
|
287
|
-
else if (message._getType() === "ai") {
|
|
288
|
-
return AIMessagePromptTemplate.fromTemplate(message.content);
|
|
289
|
-
}
|
|
290
|
-
else if (message._getType() === "system") {
|
|
291
|
-
return SystemMessagePromptTemplate.fromTemplate(message.content);
|
|
292
|
-
}
|
|
293
|
-
else if (index_js_1.ChatMessage.isInstance(message)) {
|
|
294
|
-
return ChatMessagePromptTemplate.fromTemplate(message.content, message.role);
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
throw new Error(`Could not coerce message prompt template from input. Received message type: "${message._getType()}".`);
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Class that represents a chat prompt. It extends the
|
|
302
|
-
* BaseChatPromptTemplate and uses an array of BaseMessagePromptTemplate
|
|
303
|
-
* instances to format a series of messages for a conversation.
|
|
304
|
-
* @example
|
|
305
|
-
* ```typescript
|
|
306
|
-
* const message = SystemMessagePromptTemplate.fromTemplate("{text}");
|
|
307
|
-
* const chatPrompt = ChatPromptTemplate.fromMessages([
|
|
308
|
-
* ["ai", "You are a helpful assistant."],
|
|
309
|
-
* message,
|
|
310
|
-
* ]);
|
|
311
|
-
* const formattedChatPrompt = await chatPrompt.invoke({
|
|
312
|
-
* text: "Hello world!",
|
|
313
|
-
* });
|
|
314
|
-
* ```
|
|
315
|
-
*/
|
|
316
|
-
class ChatPromptTemplate extends BaseChatPromptTemplate {
|
|
317
|
-
static lc_name() {
|
|
318
|
-
return "ChatPromptTemplate";
|
|
319
|
-
}
|
|
320
|
-
get lc_aliases() {
|
|
321
|
-
return {
|
|
322
|
-
promptMessages: "messages",
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
constructor(input) {
|
|
326
|
-
super(input);
|
|
327
|
-
Object.defineProperty(this, "promptMessages", {
|
|
328
|
-
enumerable: true,
|
|
329
|
-
configurable: true,
|
|
330
|
-
writable: true,
|
|
331
|
-
value: void 0
|
|
332
|
-
});
|
|
333
|
-
Object.defineProperty(this, "validateTemplate", {
|
|
334
|
-
enumerable: true,
|
|
335
|
-
configurable: true,
|
|
336
|
-
writable: true,
|
|
337
|
-
value: true
|
|
338
|
-
});
|
|
339
|
-
Object.assign(this, input);
|
|
340
|
-
if (this.validateTemplate) {
|
|
341
|
-
const inputVariablesMessages = new Set();
|
|
342
|
-
for (const promptMessage of this.promptMessages) {
|
|
343
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
344
|
-
if (promptMessage instanceof index_js_1.BaseMessage)
|
|
345
|
-
continue;
|
|
346
|
-
for (const inputVariable of promptMessage.inputVariables) {
|
|
347
|
-
inputVariablesMessages.add(inputVariable);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
const totalInputVariables = this.inputVariables;
|
|
351
|
-
const inputVariablesInstance = new Set(this.partialVariables
|
|
352
|
-
? totalInputVariables.concat(Object.keys(this.partialVariables))
|
|
353
|
-
: totalInputVariables);
|
|
354
|
-
const difference = new Set([...inputVariablesInstance].filter((x) => !inputVariablesMessages.has(x)));
|
|
355
|
-
if (difference.size > 0) {
|
|
356
|
-
throw new Error(`Input variables \`${[
|
|
357
|
-
...difference,
|
|
358
|
-
]}\` are not used in any of the prompt messages.`);
|
|
359
|
-
}
|
|
360
|
-
const otherDifference = new Set([...inputVariablesMessages].filter((x) => !inputVariablesInstance.has(x)));
|
|
361
|
-
if (otherDifference.size > 0) {
|
|
362
|
-
throw new Error(`Input variables \`${[
|
|
363
|
-
...otherDifference,
|
|
364
|
-
]}\` are used in prompt messages but not in the prompt template.`);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
_getPromptType() {
|
|
369
|
-
return "chat";
|
|
370
|
-
}
|
|
371
|
-
async _parseImagePrompts(message, inputValues) {
|
|
372
|
-
if (typeof message.content === "string") {
|
|
373
|
-
return message;
|
|
374
|
-
}
|
|
375
|
-
const formattedMessageContent = await Promise.all(message.content.map(async (item) => {
|
|
376
|
-
if (item.type !== "image_url" ||
|
|
377
|
-
typeof item.image_url === "string" ||
|
|
378
|
-
!item.image_url?.url) {
|
|
379
|
-
return item;
|
|
380
|
-
}
|
|
381
|
-
const imageUrl = item.image_url.url;
|
|
382
|
-
const promptTemplatePlaceholder = prompt_js_1.PromptTemplate.fromTemplate(imageUrl);
|
|
383
|
-
const formattedUrl = await promptTemplatePlaceholder.format(inputValues);
|
|
384
|
-
// eslint-disable-next-line no-param-reassign
|
|
385
|
-
item.image_url.url = formattedUrl;
|
|
386
|
-
return item;
|
|
387
|
-
}));
|
|
388
|
-
// eslint-disable-next-line no-param-reassign
|
|
389
|
-
message.content = formattedMessageContent;
|
|
390
|
-
return message;
|
|
391
|
-
}
|
|
392
|
-
async formatMessages(values) {
|
|
393
|
-
const allValues = await this.mergePartialAndUserVariables(values);
|
|
394
|
-
let resultMessages = [];
|
|
395
|
-
for (const promptMessage of this.promptMessages) {
|
|
396
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
397
|
-
if (promptMessage instanceof index_js_1.BaseMessage) {
|
|
398
|
-
resultMessages.push(await this._parseImagePrompts(promptMessage, allValues));
|
|
399
|
-
}
|
|
400
|
-
else {
|
|
401
|
-
const inputValues = promptMessage.inputVariables.reduce((acc, inputVariable) => {
|
|
402
|
-
if (!(inputVariable in allValues)) {
|
|
403
|
-
throw new Error(`Missing value for input variable \`${inputVariable.toString()}\``);
|
|
404
|
-
}
|
|
405
|
-
acc[inputVariable] = allValues[inputVariable];
|
|
406
|
-
return acc;
|
|
407
|
-
}, {});
|
|
408
|
-
const message = await promptMessage.formatMessages(inputValues);
|
|
409
|
-
resultMessages = resultMessages.concat(message);
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
return resultMessages;
|
|
413
|
-
}
|
|
414
|
-
async partial(values) {
|
|
415
|
-
// This is implemented in a way it doesn't require making
|
|
416
|
-
// BaseMessagePromptTemplate aware of .partial()
|
|
417
|
-
const newInputVariables = this.inputVariables.filter((iv) => !(iv in values));
|
|
418
|
-
const newPartialVariables = {
|
|
419
|
-
...(this.partialVariables ?? {}),
|
|
420
|
-
...values,
|
|
421
|
-
};
|
|
422
|
-
const promptDict = {
|
|
423
|
-
...this,
|
|
424
|
-
inputVariables: newInputVariables,
|
|
425
|
-
partialVariables: newPartialVariables,
|
|
426
|
-
};
|
|
427
|
-
return new ChatPromptTemplate(promptDict);
|
|
428
|
-
}
|
|
429
|
-
/**
|
|
430
|
-
* Load prompt template from a template f-string
|
|
431
|
-
*/
|
|
432
|
-
static fromTemplate(template) {
|
|
433
|
-
const prompt = prompt_js_1.PromptTemplate.fromTemplate(template);
|
|
434
|
-
const humanTemplate = new HumanMessagePromptTemplate({ prompt });
|
|
435
|
-
return this.fromMessages([humanTemplate]);
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* Create a chat model-specific prompt from individual chat messages
|
|
439
|
-
* or message-like tuples.
|
|
440
|
-
* @param promptMessages Messages to be passed to the chat model
|
|
441
|
-
* @returns A new ChatPromptTemplate
|
|
442
|
-
*/
|
|
443
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
444
|
-
static fromMessages(promptMessages) {
|
|
445
|
-
const flattenedMessages = promptMessages.reduce((acc, promptMessage) => acc.concat(
|
|
446
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
447
|
-
promptMessage instanceof ChatPromptTemplate
|
|
448
|
-
? promptMessage.promptMessages
|
|
449
|
-
: [_coerceMessagePromptTemplateLike(promptMessage)]), []);
|
|
450
|
-
const flattenedPartialVariables = promptMessages.reduce((acc, promptMessage) =>
|
|
451
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
452
|
-
promptMessage instanceof ChatPromptTemplate
|
|
453
|
-
? Object.assign(acc, promptMessage.partialVariables)
|
|
454
|
-
: acc, Object.create(null));
|
|
455
|
-
const inputVariables = new Set();
|
|
456
|
-
for (const promptMessage of flattenedMessages) {
|
|
457
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
458
|
-
if (promptMessage instanceof index_js_1.BaseMessage)
|
|
459
|
-
continue;
|
|
460
|
-
for (const inputVariable of promptMessage.inputVariables) {
|
|
461
|
-
if (inputVariable in flattenedPartialVariables) {
|
|
462
|
-
continue;
|
|
463
|
-
}
|
|
464
|
-
inputVariables.add(inputVariable);
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
return new ChatPromptTemplate({
|
|
468
|
-
inputVariables: [...inputVariables],
|
|
469
|
-
promptMessages: flattenedMessages,
|
|
470
|
-
partialVariables: flattenedPartialVariables,
|
|
471
|
-
});
|
|
472
|
-
}
|
|
473
|
-
/** @deprecated Renamed to .fromMessages */
|
|
474
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
475
|
-
static fromPromptMessages(promptMessages) {
|
|
476
|
-
return this.fromMessages(promptMessages);
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
exports.ChatPromptTemplate = ChatPromptTemplate;
|
|
17
|
+
__exportStar(require("langchain-core/prompts/chat"), exports);
|