langchain 0.0.90 → 0.0.91

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.
@@ -163,7 +163,7 @@ class AI21 extends base_js_1.LLM {
163
163
  "Content-Type": "application/json",
164
164
  };
165
165
  const data = { prompt, stopSequences: stop, ...this.defaultParams };
166
- const responseData = await this.caller.callWithOptions({ signal: options.signal }, async () => {
166
+ const responseData = await this.caller.callWithOptions({}, async () => {
167
167
  const response = await fetch(url, {
168
168
  method: "POST",
169
169
  headers,
package/dist/llms/ai21.js CHANGED
@@ -160,7 +160,7 @@ export class AI21 extends LLM {
160
160
  "Content-Type": "application/json",
161
161
  };
162
162
  const data = { prompt, stopSequences: stop, ...this.defaultParams };
163
- const responseData = await this.caller.callWithOptions({ signal: options.signal }, async () => {
163
+ const responseData = await this.caller.callWithOptions({}, async () => {
164
164
  const response = await fetch(url, {
165
165
  method: "POST",
166
166
  headers,
@@ -27,6 +27,7 @@ export interface BasePromptTemplateInput {
27
27
  * string prompt given a set of input values.
28
28
  */
29
29
  export declare abstract class BasePromptTemplate implements BasePromptTemplateInput {
30
+ PromptValueReturnType: BasePromptValue;
30
31
  inputVariables: string[];
31
32
  outputParser?: BaseOutputParser;
32
33
  partialVariables?: InputValues;
@@ -26,10 +26,11 @@ export declare abstract class BaseMessageStringPromptTemplate extends BaseMessag
26
26
  formatMessages(values: InputValues): Promise<BaseChatMessage[]>;
27
27
  }
28
28
  export declare abstract class BaseChatPromptTemplate extends BasePromptTemplate {
29
+ PromptValueReturnType: ChatPromptValue;
29
30
  constructor(input: BasePromptTemplateInput);
30
31
  abstract formatMessages(values: InputValues): Promise<BaseChatMessage[]>;
31
32
  format(values: InputValues): Promise<string>;
32
- formatPromptValue(values: InputValues): Promise<BasePromptValue>;
33
+ formatPromptValue(values: InputValues): Promise<ChatPromptValue>;
33
34
  }
34
35
  export declare class ChatMessagePromptTemplate extends BaseMessageStringPromptTemplate {
35
36
  role: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkValidTemplate = exports.renderTemplate = exports.parseTemplate = exports.BaseChatPromptTemplate = exports.MessagesPlaceholder = exports.ChatMessagePromptTemplate = exports.SystemMessagePromptTemplate = exports.AIMessagePromptTemplate = exports.HumanMessagePromptTemplate = exports.ChatPromptTemplate = exports.FewShotPromptTemplate = exports.SemanticSimilarityExampleSelector = exports.LengthBasedExampleSelector = exports.isLLM = exports.isChatModel = exports.ConditionalPromptSelector = exports.BasePromptSelector = exports.PromptTemplate = exports.BaseStringPromptTemplate = exports.StringPromptValue = exports.BasePromptTemplate = exports.BaseExampleSelector = void 0;
3
+ exports.PipelinePromptTemplate = exports.checkValidTemplate = exports.renderTemplate = exports.parseTemplate = exports.BaseChatPromptTemplate = exports.MessagesPlaceholder = exports.ChatMessagePromptTemplate = exports.SystemMessagePromptTemplate = exports.AIMessagePromptTemplate = exports.HumanMessagePromptTemplate = exports.ChatPromptTemplate = exports.FewShotPromptTemplate = exports.SemanticSimilarityExampleSelector = exports.LengthBasedExampleSelector = exports.isLLM = exports.isChatModel = exports.ConditionalPromptSelector = exports.BasePromptSelector = exports.PromptTemplate = exports.BaseStringPromptTemplate = exports.StringPromptValue = exports.BasePromptTemplate = exports.BaseExampleSelector = void 0;
4
4
  var base_js_1 = require("./base.cjs");
5
5
  Object.defineProperty(exports, "BaseExampleSelector", { enumerable: true, get: function () { return base_js_1.BaseExampleSelector; } });
6
6
  Object.defineProperty(exports, "BasePromptTemplate", { enumerable: true, get: function () { return base_js_1.BasePromptTemplate; } });
@@ -31,3 +31,5 @@ var template_js_1 = require("./template.cjs");
31
31
  Object.defineProperty(exports, "parseTemplate", { enumerable: true, get: function () { return template_js_1.parseTemplate; } });
32
32
  Object.defineProperty(exports, "renderTemplate", { enumerable: true, get: function () { return template_js_1.renderTemplate; } });
33
33
  Object.defineProperty(exports, "checkValidTemplate", { enumerable: true, get: function () { return template_js_1.checkValidTemplate; } });
34
+ var pipeline_js_1 = require("./pipeline.cjs");
35
+ Object.defineProperty(exports, "PipelinePromptTemplate", { enumerable: true, get: function () { return pipeline_js_1.PipelinePromptTemplate; } });
@@ -7,3 +7,4 @@ export { FewShotPromptTemplate, FewShotPromptTemplateInput, } from "./few_shot.j
7
7
  export { ChatPromptTemplate, HumanMessagePromptTemplate, AIMessagePromptTemplate, SystemMessagePromptTemplate, ChatMessagePromptTemplate, MessagesPlaceholder, BaseChatPromptTemplate, } from "./chat.js";
8
8
  export { SerializedPromptTemplate, SerializedBasePromptTemplate, SerializedFewShotTemplate, SerializedMessagePromptTemplate, SerializedChatPromptTemplate, } from "./serde.js";
9
9
  export { parseTemplate, renderTemplate, checkValidTemplate, TemplateFormat, } from "./template.js";
10
+ export { PipelinePromptParams, PipelinePromptTemplate, PipelinePromptTemplateInput, } from "./pipeline.js";
@@ -6,3 +6,4 @@ export { SemanticSimilarityExampleSelector, } from "./selectors/SemanticSimilari
6
6
  export { FewShotPromptTemplate, } from "./few_shot.js";
7
7
  export { ChatPromptTemplate, HumanMessagePromptTemplate, AIMessagePromptTemplate, SystemMessagePromptTemplate, ChatMessagePromptTemplate, MessagesPlaceholder, BaseChatPromptTemplate, } from "./chat.js";
8
8
  export { parseTemplate, renderTemplate, checkValidTemplate, } from "./template.js";
9
+ export { PipelinePromptTemplate, } from "./pipeline.js";
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PipelinePromptTemplate = void 0;
4
+ const base_js_1 = require("./base.cjs");
5
+ const chat_js_1 = require("./chat.cjs");
6
+ class PipelinePromptTemplate extends base_js_1.BasePromptTemplate {
7
+ constructor(input) {
8
+ super({ ...input, inputVariables: [] });
9
+ Object.defineProperty(this, "pipelinePrompts", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ Object.defineProperty(this, "finalPrompt", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ this.pipelinePrompts = input.pipelinePrompts;
22
+ this.finalPrompt = input.finalPrompt;
23
+ this.inputVariables = this.computeInputValues();
24
+ }
25
+ computeInputValues() {
26
+ const intermediateValues = this.pipelinePrompts.map((pipelinePrompt) => pipelinePrompt.name);
27
+ const inputValues = this.pipelinePrompts
28
+ .map((pipelinePrompt) => pipelinePrompt.prompt.inputVariables.filter((inputValue) => !intermediateValues.includes(inputValue)))
29
+ .flat();
30
+ return [...new Set(inputValues)];
31
+ }
32
+ static extractRequiredInputValues(allValues, requiredValueNames) {
33
+ return requiredValueNames.reduce((requiredValues, valueName) => {
34
+ // eslint-disable-next-line no-param-reassign
35
+ requiredValues[valueName] = allValues[valueName];
36
+ return requiredValues;
37
+ }, {});
38
+ }
39
+ async formatPipelinePrompts(values) {
40
+ const allValues = await this.mergePartialAndUserVariables(values);
41
+ for (const { name: pipelinePromptName, prompt: pipelinePrompt } of this
42
+ .pipelinePrompts) {
43
+ const pipelinePromptInputValues = PipelinePromptTemplate.extractRequiredInputValues(allValues, pipelinePrompt.inputVariables);
44
+ // eslint-disable-next-line no-instanceof/no-instanceof
45
+ if (pipelinePrompt instanceof chat_js_1.ChatPromptTemplate) {
46
+ allValues[pipelinePromptName] = await pipelinePrompt.formatMessages(pipelinePromptInputValues);
47
+ }
48
+ else {
49
+ allValues[pipelinePromptName] = await pipelinePrompt.format(pipelinePromptInputValues);
50
+ }
51
+ }
52
+ return PipelinePromptTemplate.extractRequiredInputValues(allValues, this.finalPrompt.inputVariables);
53
+ }
54
+ async formatPromptValue(values) {
55
+ return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(values));
56
+ }
57
+ async format(values) {
58
+ return this.finalPrompt.format(await this.formatPipelinePrompts(values));
59
+ }
60
+ async partial(values) {
61
+ const promptDict = { ...this };
62
+ promptDict.inputVariables = this.inputVariables.filter((iv) => !(iv in values));
63
+ promptDict.partialVariables = {
64
+ ...(this.partialVariables ?? {}),
65
+ ...values,
66
+ };
67
+ return new PipelinePromptTemplate(promptDict);
68
+ }
69
+ serialize() {
70
+ throw new Error("Not implemented.");
71
+ }
72
+ _getPromptType() {
73
+ return "pipeline";
74
+ }
75
+ }
76
+ exports.PipelinePromptTemplate = PipelinePromptTemplate;
@@ -0,0 +1,24 @@
1
+ import { InputValues, PartialValues } from "../schema/index.js";
2
+ import { BasePromptTemplate, BasePromptTemplateInput } from "./base.js";
3
+ import { SerializedBasePromptTemplate } from "./serde.js";
4
+ export type PipelinePromptParams<PromptTemplateType extends BasePromptTemplate> = {
5
+ name: string;
6
+ prompt: PromptTemplateType;
7
+ };
8
+ export type PipelinePromptTemplateInput<PromptTemplateType extends BasePromptTemplate> = Omit<BasePromptTemplateInput, "inputVariables"> & {
9
+ pipelinePrompts: PipelinePromptParams<PromptTemplateType>[];
10
+ finalPrompt: PromptTemplateType;
11
+ };
12
+ export declare class PipelinePromptTemplate<PromptTemplateType extends BasePromptTemplate> extends BasePromptTemplate {
13
+ pipelinePrompts: PipelinePromptParams<PromptTemplateType>[];
14
+ finalPrompt: PromptTemplateType;
15
+ constructor(input: PipelinePromptTemplateInput<PromptTemplateType>);
16
+ protected computeInputValues(): string[];
17
+ protected static extractRequiredInputValues(allValues: InputValues, requiredValueNames: string[]): InputValues;
18
+ protected formatPipelinePrompts(values: InputValues): Promise<InputValues>;
19
+ formatPromptValue(values: InputValues): Promise<PromptTemplateType["PromptValueReturnType"]>;
20
+ format(values: InputValues): Promise<string>;
21
+ partial(values: PartialValues): Promise<PipelinePromptTemplate<PromptTemplateType>>;
22
+ serialize(): SerializedBasePromptTemplate;
23
+ _getPromptType(): string;
24
+ }
@@ -0,0 +1,72 @@
1
+ import { BasePromptTemplate } from "./base.js";
2
+ import { ChatPromptTemplate } from "./chat.js";
3
+ export class PipelinePromptTemplate extends BasePromptTemplate {
4
+ constructor(input) {
5
+ super({ ...input, inputVariables: [] });
6
+ Object.defineProperty(this, "pipelinePrompts", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: void 0
11
+ });
12
+ Object.defineProperty(this, "finalPrompt", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ this.pipelinePrompts = input.pipelinePrompts;
19
+ this.finalPrompt = input.finalPrompt;
20
+ this.inputVariables = this.computeInputValues();
21
+ }
22
+ computeInputValues() {
23
+ const intermediateValues = this.pipelinePrompts.map((pipelinePrompt) => pipelinePrompt.name);
24
+ const inputValues = this.pipelinePrompts
25
+ .map((pipelinePrompt) => pipelinePrompt.prompt.inputVariables.filter((inputValue) => !intermediateValues.includes(inputValue)))
26
+ .flat();
27
+ return [...new Set(inputValues)];
28
+ }
29
+ static extractRequiredInputValues(allValues, requiredValueNames) {
30
+ return requiredValueNames.reduce((requiredValues, valueName) => {
31
+ // eslint-disable-next-line no-param-reassign
32
+ requiredValues[valueName] = allValues[valueName];
33
+ return requiredValues;
34
+ }, {});
35
+ }
36
+ async formatPipelinePrompts(values) {
37
+ const allValues = await this.mergePartialAndUserVariables(values);
38
+ for (const { name: pipelinePromptName, prompt: pipelinePrompt } of this
39
+ .pipelinePrompts) {
40
+ const pipelinePromptInputValues = PipelinePromptTemplate.extractRequiredInputValues(allValues, pipelinePrompt.inputVariables);
41
+ // eslint-disable-next-line no-instanceof/no-instanceof
42
+ if (pipelinePrompt instanceof ChatPromptTemplate) {
43
+ allValues[pipelinePromptName] = await pipelinePrompt.formatMessages(pipelinePromptInputValues);
44
+ }
45
+ else {
46
+ allValues[pipelinePromptName] = await pipelinePrompt.format(pipelinePromptInputValues);
47
+ }
48
+ }
49
+ return PipelinePromptTemplate.extractRequiredInputValues(allValues, this.finalPrompt.inputVariables);
50
+ }
51
+ async formatPromptValue(values) {
52
+ return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(values));
53
+ }
54
+ async format(values) {
55
+ return this.finalPrompt.format(await this.formatPipelinePrompts(values));
56
+ }
57
+ async partial(values) {
58
+ const promptDict = { ...this };
59
+ promptDict.inputVariables = this.inputVariables.filter((iv) => !(iv in values));
60
+ promptDict.partialVariables = {
61
+ ...(this.partialVariables ?? {}),
62
+ ...values,
63
+ };
64
+ return new PipelinePromptTemplate(promptDict);
65
+ }
66
+ serialize() {
67
+ throw new Error("Not implemented.");
68
+ }
69
+ _getPromptType() {
70
+ return "pipeline";
71
+ }
72
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langchain",
3
- "version": "0.0.90",
3
+ "version": "0.0.91",
4
4
  "description": "Typescript bindings for langchain",
5
5
  "type": "module",
6
6
  "engines": {