langchain 0.0.21 → 0.0.23

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.
Files changed (80) hide show
  1. package/chat_models.d.ts +1 -0
  2. package/chat_models.js +1 -0
  3. package/dist/cache.d.ts +1 -1
  4. package/dist/chains/chat_vector_db_chain.d.ts +4 -2
  5. package/dist/chains/chat_vector_db_chain.js +15 -1
  6. package/dist/chains/chat_vector_db_chain.js.map +1 -1
  7. package/dist/chains/llm_chain.d.ts +5 -4
  8. package/dist/chains/llm_chain.js +4 -5
  9. package/dist/chains/llm_chain.js.map +1 -1
  10. package/dist/chains/tests/chat_vector_db_qa_chain.int.test.js +18 -0
  11. package/dist/chains/tests/chat_vector_db_qa_chain.int.test.js.map +1 -1
  12. package/dist/chains/tests/combine_docs_chain.test.js.map +1 -1
  13. package/dist/chains/tests/llm_chain.int.test.js +14 -1
  14. package/dist/chains/tests/llm_chain.int.test.js.map +1 -1
  15. package/dist/chains/vector_db_qa.d.ts +2 -0
  16. package/dist/chains/vector_db_qa.js +14 -0
  17. package/dist/chains/vector_db_qa.js.map +1 -1
  18. package/dist/chat_models/base.d.ts +32 -0
  19. package/dist/chat_models/base.js +110 -0
  20. package/dist/chat_models/base.js.map +1 -0
  21. package/dist/chat_models/index.d.ts +1 -0
  22. package/dist/chat_models/index.js +2 -0
  23. package/dist/chat_models/index.js.map +1 -0
  24. package/dist/chat_models/openai.d.ts +150 -0
  25. package/dist/chat_models/openai.js +295 -0
  26. package/dist/chat_models/openai.js.map +1 -0
  27. package/dist/chat_models/tests/chatopenai.int.test.d.ts +1 -0
  28. package/dist/chat_models/tests/chatopenai.int.test.js +122 -0
  29. package/dist/chat_models/tests/chatopenai.int.test.js.map +1 -0
  30. package/dist/llms/base.d.ts +6 -2
  31. package/dist/llms/base.js +28 -5
  32. package/dist/llms/base.js.map +1 -1
  33. package/dist/llms/cohere.d.ts +2 -1
  34. package/dist/llms/cohere.js.map +1 -1
  35. package/dist/llms/hf.d.ts +20 -3
  36. package/dist/llms/hf.js +48 -4
  37. package/dist/llms/hf.js.map +1 -1
  38. package/dist/llms/index.d.ts +0 -35
  39. package/dist/llms/openai-chat.d.ts +3 -3
  40. package/dist/llms/openai.d.ts +3 -3
  41. package/dist/llms/openai.js.map +1 -1
  42. package/dist/llms/tests/huggingface_hub.int.test.js +1 -1
  43. package/dist/llms/tests/huggingface_hub.int.test.js.map +1 -1
  44. package/dist/llms/tests/openai.int.test.js +15 -0
  45. package/dist/llms/tests/openai.int.test.js.map +1 -1
  46. package/dist/prompts/base.d.ts +20 -3
  47. package/dist/prompts/base.js +24 -0
  48. package/dist/prompts/base.js.map +1 -1
  49. package/dist/prompts/chat.d.ts +74 -0
  50. package/dist/prompts/chat.js +179 -0
  51. package/dist/prompts/chat.js.map +1 -0
  52. package/dist/prompts/few_shot.d.ts +2 -2
  53. package/dist/prompts/few_shot.js +3 -3
  54. package/dist/prompts/few_shot.js.map +1 -1
  55. package/dist/prompts/index.d.ts +2 -1
  56. package/dist/prompts/index.js +2 -1
  57. package/dist/prompts/index.js.map +1 -1
  58. package/dist/prompts/prompt.d.ts +3 -3
  59. package/dist/prompts/prompt.js +4 -4
  60. package/dist/prompts/prompt.js.map +1 -1
  61. package/dist/prompts/template.d.ts +3 -0
  62. package/dist/prompts/template.js +5 -0
  63. package/dist/prompts/template.js.map +1 -1
  64. package/dist/prompts/tests/chat.test.d.ts +1 -0
  65. package/dist/prompts/tests/chat.test.js +101 -0
  66. package/dist/prompts/tests/chat.test.js.map +1 -0
  67. package/dist/prompts/tests/few_shot.test.js +19 -0
  68. package/dist/prompts/tests/few_shot.test.js.map +1 -1
  69. package/dist/schema/index.d.ts +79 -0
  70. package/dist/schema/index.js +53 -0
  71. package/dist/schema/index.js.map +1 -0
  72. package/dist/vectorstores/chroma.d.ts +3 -0
  73. package/dist/vectorstores/chroma.js +10 -14
  74. package/dist/vectorstores/chroma.js.map +1 -1
  75. package/dist/vectorstores/tests/chroma.test.d.ts +1 -0
  76. package/dist/vectorstores/tests/chroma.test.js +9 -0
  77. package/dist/vectorstores/tests/chroma.test.js.map +1 -0
  78. package/package.json +22 -8
  79. package/schema.d.ts +1 -0
  80. package/schema.js +1 -0
package/dist/llms/hf.js CHANGED
@@ -8,7 +8,42 @@ export class HuggingFaceInference extends LLM {
8
8
  writable: true,
9
9
  value: "gpt2"
10
10
  });
11
+ Object.defineProperty(this, "temperature", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: undefined
16
+ });
17
+ Object.defineProperty(this, "maxTokens", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: undefined
22
+ });
23
+ Object.defineProperty(this, "topP", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: undefined
28
+ });
29
+ Object.defineProperty(this, "topK", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: undefined
34
+ });
35
+ Object.defineProperty(this, "frequencyPenalty", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: undefined
40
+ });
11
41
  this.model = fields?.model ?? this.model;
42
+ this.temperature = fields?.temperature ?? this.temperature;
43
+ this.maxTokens = fields?.maxTokens ?? this.maxTokens;
44
+ this.topP = fields?.topP ?? this.topP;
45
+ this.topK = fields?.topK ?? this.topK;
46
+ this.frequencyPenalty = fields?.frequencyPenalty ?? this.frequencyPenalty;
12
47
  }
13
48
  _llmType() {
14
49
  return "huggingface_hub";
@@ -17,18 +52,27 @@ export class HuggingFaceInference extends LLM {
17
52
  if (process.env.HUGGINGFACEHUB_API_KEY === "") {
18
53
  throw new Error("Please set the HUGGINGFACEHUB_API_KEY environment variable");
19
54
  }
20
- const { HuggingFace } = await HuggingFaceInference.imports();
21
- const hf = new HuggingFace(process.env.HUGGINGFACEHUB_API_KEY ?? "");
55
+ const { HfInference } = await HuggingFaceInference.imports();
56
+ const hf = new HfInference(process.env.HUGGINGFACEHUB_API_KEY ?? "");
22
57
  const res = await hf.textGeneration({
23
58
  model: this.model,
59
+ parameters: {
60
+ // make it behave similar to openai, returning only the generated text
61
+ return_full_text: false,
62
+ temperature: this.temperature,
63
+ max_new_tokens: this.maxTokens,
64
+ top_p: this.topP,
65
+ top_k: this.topK,
66
+ repetition_penalty: this.frequencyPenalty,
67
+ },
24
68
  inputs: prompt,
25
69
  });
26
70
  return res.generated_text;
27
71
  }
28
72
  static async imports() {
29
73
  try {
30
- const { default: HuggingFace } = await import("huggingface");
31
- return { HuggingFace };
74
+ const { HfInference } = await import("@huggingface/inference");
75
+ return { HfInference };
32
76
  }
33
77
  catch (e) {
34
78
  throw new Error("Please install huggingface as a dependency with, e.g. `yarn add huggingface`");
@@ -1 +1 @@
1
- {"version":3,"file":"hf.js","sourceRoot":"","sources":["../../src/llms/hf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAsB,MAAM,YAAY,CAAC;AAOrD,MAAM,OAAO,oBAAqB,SAAQ,GAAG;IAG3C,YACE,MAKC;QAED,KAAK,CACH,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,KAAK,CACd,CAAC;QAfJ;;;;mBAAQ,MAAM;WAAC;QAgBb,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,KAAgB;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;SACH;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAGlB,IAAI;YACF,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7D,OAAO,EAAE,WAAW,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;SACH;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"hf.js","sourceRoot":"","sources":["../../src/llms/hf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAyBjC,MAAM,OAAO,oBAAqB,SAAQ,GAAG;IAa3C,YACE,MAKC;QAED,KAAK,CACH,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,KAAK,CACd,CAAC;QAzBJ;;;;mBAAQ,MAAM;WAAC;QAEf;;;;mBAAkC,SAAS;WAAC;QAE5C;;;;mBAAgC,SAAS;WAAC;QAE1C;;;;mBAA2B,SAAS;WAAC;QAErC;;;;mBAA2B,SAAS;WAAC;QAErC;;;;mBAAuC,SAAS;WAAC;QAgB/C,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAC5E,CAAC;IAED,QAAQ;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,KAAgB;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;SACH;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE;gBACV,sEAAsE;gBACtE,gBAAgB,EAAE,KAAK;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,cAAc,EAAE,IAAI,CAAC,SAAS;gBAC9B,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,kBAAkB,EAAE,IAAI,CAAC,gBAAgB;aAC1C;YACD,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO;QAGlB,IAAI;YACF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAC/D,OAAO,EAAE,WAAW,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;SACH;IACH,CAAC;CACF"}
@@ -4,38 +4,3 @@ export { OpenAIChat } from "./openai-chat.js";
4
4
  export { Cohere } from "./cohere.js";
5
5
  export { HuggingFaceInference } from "./hf.js";
6
6
  export { loadLLM } from "./load.js";
7
- export type LLMCallbackManager = {
8
- handleStart?: (llm: {
9
- name: string;
10
- }, prompts: string[], verbose?: boolean) => void;
11
- handleNewToken?: (token: string, verbose?: boolean) => void;
12
- handleError?: (err: string, verbose?: boolean) => void;
13
- handleEnd?: (output: LLMResult, verbose?: boolean) => void;
14
- };
15
- /**
16
- * Output of a single generation.
17
- */
18
- export type Generation = {
19
- /**
20
- * Generated text output
21
- */
22
- text: string;
23
- /**
24
- * Raw generation info response from the provider.
25
- * May include things like reason for finishing (e.g. in {@link OpenAI})
26
- */
27
- generationInfo?: Record<string, any>;
28
- };
29
- /**
30
- * Contains all relevant information returned by an LLM.
31
- */
32
- export type LLMResult = {
33
- /**
34
- * List of the things generated. Each input could have multiple {@link Generation | generations}, hence this is a list of lists.
35
- */
36
- generations: Generation[][];
37
- /**
38
- * Dictionary of arbitrary LLM-provider specific output.
39
- */
40
- llmOutput?: Record<string, any>;
41
- };
@@ -1,6 +1,6 @@
1
1
  import { ChatCompletionRequestMessage, CreateChatCompletionRequest, ConfigurationParameters } from "openai";
2
2
  import { LLM } from "./base.js";
3
- import { LLMCallbackManager } from "./index.js";
3
+ import { LLMCallbackManager } from "../schema/index.js";
4
4
  interface ModelParams {
5
5
  /** Sampling temperature to use, between 0 and 2, defaults to 1 */
6
6
  temperature: number;
@@ -88,12 +88,12 @@ export declare class OpenAIChat extends LLM implements OpenAIInput {
88
88
  basePath?: string | undefined;
89
89
  baseOptions?: any;
90
90
  formDataCtor?: (new () => any) | undefined;
91
+ stop?: import("openai").CreateChatCompletionRequestStop | undefined;
91
92
  model: string;
92
93
  temperature?: number | null | undefined;
93
94
  top_p?: number | null | undefined;
94
95
  n?: number | null | undefined;
95
96
  stream?: boolean | null | undefined;
96
- stop?: import("openai").CreateChatCompletionRequestStop | undefined;
97
97
  presence_penalty?: number | null | undefined;
98
98
  frequency_penalty?: number | null | undefined;
99
99
  logit_bias?: object | null | undefined;
@@ -112,12 +112,12 @@ export declare class OpenAIChat extends LLM implements OpenAIInput {
112
112
  basePath?: string | undefined;
113
113
  baseOptions?: any;
114
114
  formDataCtor?: (new () => any) | undefined;
115
+ stop?: import("openai").CreateChatCompletionRequestStop | undefined;
115
116
  model: string;
116
117
  temperature?: number | null | undefined;
117
118
  top_p?: number | null | undefined;
118
119
  n?: number | null | undefined;
119
120
  stream?: boolean | null | undefined;
120
- stop?: import("openai").CreateChatCompletionRequestStop | undefined;
121
121
  presence_penalty?: number | null | undefined;
122
122
  frequency_penalty?: number | null | undefined;
123
123
  logit_bias?: object | null | undefined;
@@ -1,6 +1,6 @@
1
1
  import { ConfigurationParameters, CreateCompletionRequest, CreateCompletionResponse } from "openai";
2
2
  import { BaseLLM } from "./base.js";
3
- import type { LLMCallbackManager, LLMResult } from "./index.js";
3
+ import { LLMCallbackManager, LLMResult } from "../schema/index.js";
4
4
  interface ModelParams {
5
5
  /** Sampling temperature to use */
6
6
  temperature: number;
@@ -95,7 +95,7 @@ export declare class OpenAI extends BaseLLM implements OpenAIInput {
95
95
  password?: string | undefined;
96
96
  accessToken?: string | Promise<string> | ((name?: string | undefined, scopes?: string[] | undefined) => string) | ((name?: string | undefined, scopes?: string[] | undefined) => Promise<string>) | undefined;
97
97
  basePath?: string | undefined;
98
- baseOptions?: any;
98
+ baseOptions?: any; /** Sampling temperature to use */
99
99
  formDataCtor?: (new () => any) | undefined;
100
100
  model: string;
101
101
  prompt?: import("openai").CreateCompletionRequestPrompt | null | undefined;
@@ -125,7 +125,7 @@ export declare class OpenAI extends BaseLLM implements OpenAIInput {
125
125
  password?: string | undefined;
126
126
  accessToken?: string | Promise<string> | ((name?: string | undefined, scopes?: string[] | undefined) => string) | ((name?: string | undefined, scopes?: string[] | undefined) => Promise<string>) | undefined;
127
127
  basePath?: string | undefined;
128
- baseOptions?: any;
128
+ baseOptions?: any; /** Sampling temperature to use */
129
129
  formDataCtor?: (new () => any) | undefined;
130
130
  model: string;
131
131
  prompt?: import("openai").CreateCompletionRequestPrompt | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llms/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llms/openai.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { test } from "@jest/globals";
2
2
  import { HuggingFaceInference } from "../hf.js";
3
3
  test("Test HuggingFace", async () => {
4
- const model = new HuggingFaceInference();
4
+ const model = new HuggingFaceInference({ temperature: 0.1, topP: 0.5 });
5
5
  const res = await model.call("1 + 1 =");
6
6
  console.log(res);
7
7
  }, 50000);
@@ -1 +1 @@
1
- {"version":3,"file":"huggingface_hub.int.test.js","sourceRoot":"","sources":["../../../src/llms/tests/huggingface_hub.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"huggingface_hub.int.test.js","sourceRoot":"","sources":["../../../src/llms/tests/huggingface_hub.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,EAAE,KAAK,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { test, expect } from "@jest/globals";
2
2
  import { OpenAIChat } from "../openai-chat.js";
3
3
  import { OpenAI } from "../openai.js";
4
+ import { StringPromptValue } from "../../prompts/index.js";
4
5
  test("Test OpenAI", async () => {
5
6
  const model = new OpenAI({ maxTokens: 5, modelName: "text-ada-001" });
6
7
  const res = await model.call("Print hello world");
@@ -37,4 +38,18 @@ test("Test OpenAI in streaming mode", async () => {
37
38
  expect(nrNewTokens > 0).toBe(true);
38
39
  expect(res).toBe(streamedCompletion);
39
40
  });
41
+ test("Test OpenAI prompt value", async () => {
42
+ const model = new OpenAI({ maxTokens: 5, modelName: "text-ada-001" });
43
+ const res = await model.generatePrompt([
44
+ new StringPromptValue("Print hello world"),
45
+ ]);
46
+ expect(res.generations.length).toBe(1);
47
+ for (const generation of res.generations) {
48
+ expect(generation.length).toBe(1);
49
+ for (const g of generation) {
50
+ console.log(g.text);
51
+ }
52
+ }
53
+ console.log({ res });
54
+ });
40
55
  //# sourceMappingURL=openai.int.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.int.test.js","sourceRoot":"","sources":["../../../src/llms/tests/openai.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC;QACvB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE;YACf,cAAc,CAAC,KAAK;gBAClB,WAAW,IAAI,CAAC,CAAC;gBACjB,kBAAkB,IAAI,KAAK,CAAC;YAC9B,CAAC;SACF;KACF,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAErB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"openai.int.test.js","sourceRoot":"","sources":["../../../src/llms/tests/openai.int.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
1
  import { BaseOutputParser } from "./parser.js";
2
- import type { PromptTemplate, FewShotPromptTemplate } from "./index.js";
3
- export type SerializedBasePromptTemplate = ReturnType<InstanceType<typeof PromptTemplate | typeof FewShotPromptTemplate>["serialize"]>;
2
+ import type { FewShotPromptTemplate, PromptTemplate } from "./index.js";
3
+ import { ChatPromptTemplate } from "./index.js";
4
+ import { BasePromptValue, HumanChatMessage } from "../schema/index.js";
5
+ export type SerializedBasePromptTemplate = ReturnType<InstanceType<typeof PromptTemplate | typeof FewShotPromptTemplate | typeof ChatPromptTemplate>["serialize"]>;
4
6
  export type InputValues = Record<string, any>;
5
7
  export type PartialValues = Record<string, string | (() => Promise<string>) | (() => string)>;
8
+ export declare class StringPromptValue {
9
+ value: string;
10
+ constructor(value: string);
11
+ toString(): string;
12
+ toChatMessages(): HumanChatMessage[];
13
+ }
6
14
  /**
7
15
  * Input common to all prompt templates.
8
16
  */
@@ -33,7 +41,7 @@ export declare abstract class BasePromptTemplate implements BasePromptTemplateIn
33
41
  /**
34
42
  * Format the prompt given the input values.
35
43
  *
36
- * @param inputValues - A dictionary of arguments to be passed to the prompt template.
44
+ * @param values - A dictionary of arguments to be passed to the prompt template.
37
45
  * @returns A formatted prompt string.
38
46
  *
39
47
  * @example
@@ -42,6 +50,12 @@ export declare abstract class BasePromptTemplate implements BasePromptTemplateIn
42
50
  * ```
43
51
  */
44
52
  abstract format(values: InputValues): Promise<string>;
53
+ /**
54
+ * Format the prompt given the input values and return a formatted prompt value.
55
+ * @param values
56
+ * @returns A formatted PromptValue.
57
+ */
58
+ abstract formatPromptValue(values: InputValues): Promise<BasePromptValue>;
45
59
  /**
46
60
  * Return the string type key uniquely identifying this class of prompt template.
47
61
  */
@@ -60,3 +74,6 @@ export declare abstract class BasePromptTemplate implements BasePromptTemplateIn
60
74
  */
61
75
  static deserialize(data: SerializedBasePromptTemplate): Promise<BasePromptTemplate>;
62
76
  }
77
+ export declare abstract class BaseStringPromptTemplate extends BasePromptTemplate {
78
+ formatPromptValue(values: InputValues): Promise<BasePromptValue>;
79
+ }
@@ -1,3 +1,21 @@
1
+ import { HumanChatMessage } from "../schema/index.js";
2
+ export class StringPromptValue {
3
+ constructor(value) {
4
+ Object.defineProperty(this, "value", {
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true,
8
+ value: void 0
9
+ });
10
+ this.value = value;
11
+ }
12
+ toString() {
13
+ return this.value;
14
+ }
15
+ toChatMessages() {
16
+ return [new HumanChatMessage(this.value)];
17
+ }
18
+ }
1
19
  /**
2
20
  * Base class for prompt templates. Exposes a format method that returns a
3
21
  * string prompt given a set of input values.
@@ -72,4 +90,10 @@ export class BasePromptTemplate {
72
90
  }
73
91
  }
74
92
  }
93
+ export class BaseStringPromptTemplate extends BasePromptTemplate {
94
+ async formatPromptValue(values) {
95
+ const formattedPrompt = await this.format(values);
96
+ return new StringPromptValue(formattedPrompt);
97
+ }
98
+ }
75
99
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/prompts/base.ts"],"names":[],"mappings":"AAkCA;;;;GAIG;AACH,MAAM,OAAgB,kBAAkB;IAOtC,YAAY,KAA8B;QAN1C;;;;;WAAyB;QAEzB;;;;;WAAgC;QAEhC;;;;;WAA+B;QAG7B,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;SACH;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAID,KAAK,CAAC,4BAA4B,CAChC,aAA0B;QAE1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACrD,MAAM,aAAa,GAAgB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aAC5B;iBAAM;gBACL,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC;aACpC;SACF;QACD,MAAM,SAAS,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAyBD;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,IAAkC;QAElC,QAAQ,IAAI,CAAC,KAAK,EAAE;YAClB,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACzC;YACD,KAAK,SAAS,CAAC,CAAC;gBACd,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,OAAO,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;aACjE;YACD,KAAK,UAAU,CAAC,CAAC;gBACf,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAChE,OAAO,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAChD;YACD;gBACE,MAAM,IAAI,KAAK,CACb,kCACG,IAAqC,CAAC,KACzC,EAAE,CACH,CAAC;SACL;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/prompts/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { BasePromptTemplate, BaseStringPromptTemplate, BasePromptTemplateInput, InputValues, PartialValues } from "./base.js";
2
+ import { TemplateFormat } from "./template.js";
3
+ import { SerializedOutputParser } from "./parser.js";
4
+ import { BaseChatMessage, BasePromptValue } from "../schema/index.js";
5
+ /** Serialized Chat prompt template */
6
+ export type SerializedChatPromptTemplate = {
7
+ _type?: "chat_prompt";
8
+ input_variables: string[];
9
+ output_parser?: SerializedOutputParser;
10
+ template_format?: TemplateFormat;
11
+ prompt_messages: BaseMessagePromptTemplate[];
12
+ };
13
+ export declare abstract class BaseMessagePromptTemplate {
14
+ prompt: BaseStringPromptTemplate;
15
+ protected constructor(prompt: BaseStringPromptTemplate);
16
+ abstract format(values: InputValues): Promise<BaseChatMessage>;
17
+ }
18
+ export declare class ChatMessagePromptTemplate extends BaseMessagePromptTemplate {
19
+ role: string;
20
+ format(values: InputValues): Promise<BaseChatMessage>;
21
+ constructor(prompt: BaseStringPromptTemplate, role: string);
22
+ static fromTemplate(template: string, role: string): ChatMessagePromptTemplate;
23
+ }
24
+ export declare class HumanMessagePromptTemplate extends BaseMessagePromptTemplate {
25
+ format(values: InputValues): Promise<BaseChatMessage>;
26
+ constructor(prompt: BaseStringPromptTemplate);
27
+ static fromTemplate(template: string): HumanMessagePromptTemplate;
28
+ }
29
+ export declare class AIMessagePromptTemplate extends BaseMessagePromptTemplate {
30
+ format(values: InputValues): Promise<BaseChatMessage>;
31
+ constructor(prompt: BaseStringPromptTemplate);
32
+ static fromTemplate(template: string): AIMessagePromptTemplate;
33
+ }
34
+ export declare class SystemMessagePromptTemplate extends BaseMessagePromptTemplate {
35
+ format(values: InputValues): Promise<BaseChatMessage>;
36
+ constructor(prompt: BaseStringPromptTemplate);
37
+ static fromTemplate(template: string): SystemMessagePromptTemplate;
38
+ }
39
+ export declare class ChatPromptValue extends BasePromptValue {
40
+ messages: BaseChatMessage[];
41
+ constructor(messages: BaseChatMessage[]);
42
+ toString(): string;
43
+ toChatMessages(): BaseChatMessage[];
44
+ }
45
+ export interface ChatPromptTemplateInput extends BasePromptTemplateInput {
46
+ /**
47
+ * The prompt messages
48
+ */
49
+ promptMessages: BaseMessagePromptTemplate[];
50
+ /**
51
+ * The format of the prompt template. Options are 'f-string', 'jinja-2'
52
+ *
53
+ * @defaultValue 'f-string'
54
+ */
55
+ templateFormat?: TemplateFormat;
56
+ /**
57
+ * Whether to try validating the template on initialization
58
+ *
59
+ * @defaultValue `true`
60
+ */
61
+ validateTemplate?: boolean;
62
+ }
63
+ export declare class ChatPromptTemplate extends BasePromptTemplate implements ChatPromptTemplateInput {
64
+ promptMessages: BaseMessagePromptTemplate[];
65
+ templateFormat: TemplateFormat;
66
+ validateTemplate: boolean;
67
+ constructor(input: ChatPromptTemplateInput);
68
+ _getPromptType(): "chat";
69
+ format(values: InputValues): Promise<string>;
70
+ formatPromptValue(values: InputValues): Promise<BasePromptValue>;
71
+ serialize(): SerializedChatPromptTemplate;
72
+ partial(_: PartialValues): Promise<BasePromptTemplate>;
73
+ static fromPromptMessages(promptMessages: BaseMessagePromptTemplate[]): ChatPromptTemplate;
74
+ }
@@ -0,0 +1,179 @@
1
+ import { BasePromptTemplate, } from "./base.js";
2
+ import { DEFAULT_FORMATTER_MAPPING } from "./template.js";
3
+ import { AIChatMessage, BasePromptValue, ChatMessage, HumanChatMessage, SystemChatMessage, } from "../schema/index.js";
4
+ import { PromptTemplate } from "./prompt.js";
5
+ export class BaseMessagePromptTemplate {
6
+ constructor(prompt) {
7
+ Object.defineProperty(this, "prompt", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: void 0
12
+ });
13
+ this.prompt = prompt;
14
+ }
15
+ }
16
+ export class ChatMessagePromptTemplate extends BaseMessagePromptTemplate {
17
+ async format(values) {
18
+ return new ChatMessage(await this.prompt.format(values), this.role);
19
+ }
20
+ constructor(prompt, role) {
21
+ super(prompt);
22
+ Object.defineProperty(this, "role", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ this.role = role;
29
+ }
30
+ static fromTemplate(template, role) {
31
+ return new this(PromptTemplate.fromTemplate(template), role);
32
+ }
33
+ }
34
+ export class HumanMessagePromptTemplate extends BaseMessagePromptTemplate {
35
+ async format(values) {
36
+ return new HumanChatMessage(await this.prompt.format(values));
37
+ }
38
+ constructor(prompt) {
39
+ super(prompt);
40
+ }
41
+ static fromTemplate(template) {
42
+ return new this(PromptTemplate.fromTemplate(template));
43
+ }
44
+ }
45
+ export class AIMessagePromptTemplate extends BaseMessagePromptTemplate {
46
+ async format(values) {
47
+ return new AIChatMessage(await this.prompt.format(values));
48
+ }
49
+ constructor(prompt) {
50
+ super(prompt);
51
+ }
52
+ static fromTemplate(template) {
53
+ return new this(PromptTemplate.fromTemplate(template));
54
+ }
55
+ }
56
+ export class SystemMessagePromptTemplate extends BaseMessagePromptTemplate {
57
+ async format(values) {
58
+ return new SystemChatMessage(await this.prompt.format(values));
59
+ }
60
+ constructor(prompt) {
61
+ super(prompt);
62
+ }
63
+ static fromTemplate(template) {
64
+ return new this(PromptTemplate.fromTemplate(template));
65
+ }
66
+ }
67
+ export class ChatPromptValue extends BasePromptValue {
68
+ constructor(messages) {
69
+ super();
70
+ Object.defineProperty(this, "messages", {
71
+ enumerable: true,
72
+ configurable: true,
73
+ writable: true,
74
+ value: void 0
75
+ });
76
+ this.messages = messages;
77
+ }
78
+ toString() {
79
+ return JSON.stringify(this.messages);
80
+ }
81
+ toChatMessages() {
82
+ return this.messages;
83
+ }
84
+ }
85
+ export class ChatPromptTemplate extends BasePromptTemplate {
86
+ constructor(input) {
87
+ super(input);
88
+ Object.defineProperty(this, "promptMessages", {
89
+ enumerable: true,
90
+ configurable: true,
91
+ writable: true,
92
+ value: void 0
93
+ });
94
+ Object.defineProperty(this, "templateFormat", {
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true,
98
+ value: "f-string"
99
+ });
100
+ Object.defineProperty(this, "validateTemplate", {
101
+ enumerable: true,
102
+ configurable: true,
103
+ writable: true,
104
+ value: true
105
+ });
106
+ Object.assign(this, input);
107
+ if (this.validateTemplate) {
108
+ if (!(this.templateFormat in DEFAULT_FORMATTER_MAPPING)) {
109
+ const validFormats = Object.keys(DEFAULT_FORMATTER_MAPPING);
110
+ throw new Error(`Invalid template format. Got \`${this.templateFormat}\`;
111
+ should be one of ${validFormats}`);
112
+ }
113
+ const inputVariables = new Set();
114
+ for (const promptMessage of this.promptMessages) {
115
+ for (const inputVariable of promptMessage.prompt.inputVariables) {
116
+ inputVariables.add(inputVariable);
117
+ }
118
+ }
119
+ const difference = new Set([...this.inputVariables].filter((x) => !inputVariables.has(x)));
120
+ if (difference.size > 0) {
121
+ throw new Error(`Input variables \`${[
122
+ ...difference,
123
+ ]}\` are not used in any of the prompt messages.`);
124
+ }
125
+ const thisInputVariables = new Set(this.inputVariables);
126
+ const otherDifference = new Set([...inputVariables].filter((x) => !thisInputVariables.has(x)));
127
+ if (otherDifference.size > 0) {
128
+ throw new Error(`Input variables \`${[
129
+ ...otherDifference,
130
+ ]}\` are used in prompt messages but not in the prompt template.`);
131
+ }
132
+ }
133
+ }
134
+ _getPromptType() {
135
+ return "chat";
136
+ }
137
+ async format(values) {
138
+ return (await this.formatPromptValue(values)).toString();
139
+ }
140
+ async formatPromptValue(values) {
141
+ const resultMessages = [];
142
+ for (const promptMessage of this.promptMessages) {
143
+ const inputValues = {};
144
+ for (const inputVariable of promptMessage.prompt.inputVariables) {
145
+ if (!(inputVariable in values)) {
146
+ throw new Error(`Missing value for input variable \`${inputVariable}\``);
147
+ }
148
+ inputValues[inputVariable] = values[inputVariable];
149
+ }
150
+ const message = await promptMessage.format(inputValues);
151
+ resultMessages.push(message);
152
+ }
153
+ return new ChatPromptValue(resultMessages);
154
+ }
155
+ serialize() {
156
+ return {
157
+ input_variables: this.inputVariables,
158
+ output_parser: this.outputParser?.serialize(),
159
+ template_format: this.templateFormat,
160
+ prompt_messages: this.promptMessages,
161
+ };
162
+ }
163
+ async partial(_) {
164
+ throw new Error("ChatPromptTemplate.partial() not yet implemented");
165
+ }
166
+ static fromPromptMessages(promptMessages) {
167
+ const inputVariables = new Set();
168
+ for (const promptMessage of promptMessages) {
169
+ for (const inputVariable of promptMessage.prompt.inputVariables) {
170
+ inputVariables.add(inputVariable);
171
+ }
172
+ }
173
+ return new ChatPromptTemplate({
174
+ inputVariables: [...inputVariables],
175
+ promptMessages,
176
+ });
177
+ }
178
+ }
179
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/prompts/chat.ts"],"names":[],"mappings":"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"}