langchain 0.0.197-rc.0 → 0.0.197-rc.1

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 (202) hide show
  1. package/dist/agents/executor.cjs +351 -1
  2. package/dist/agents/executor.d.ts +61 -3
  3. package/dist/agents/executor.js +350 -1
  4. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +1 -1
  5. package/dist/base_language/count_tokens.cjs +1 -1
  6. package/dist/base_language/count_tokens.d.ts +1 -1
  7. package/dist/base_language/count_tokens.js +1 -1
  8. package/dist/base_language/index.cjs +1 -1
  9. package/dist/base_language/index.d.ts +1 -1
  10. package/dist/base_language/index.js +1 -1
  11. package/dist/cache/base.cjs +1 -1
  12. package/dist/cache/base.d.ts +1 -1
  13. package/dist/cache/base.js +1 -1
  14. package/dist/cache/index.cjs +1 -1
  15. package/dist/cache/index.d.ts +1 -1
  16. package/dist/cache/index.js +1 -1
  17. package/dist/callbacks/base.cjs +1 -1
  18. package/dist/callbacks/base.d.ts +1 -1
  19. package/dist/callbacks/base.js +1 -1
  20. package/dist/callbacks/handlers/console.cjs +1 -1
  21. package/dist/callbacks/handlers/console.d.ts +1 -1
  22. package/dist/callbacks/handlers/console.js +1 -1
  23. package/dist/callbacks/handlers/initialize.cjs +1 -1
  24. package/dist/callbacks/handlers/initialize.d.ts +1 -1
  25. package/dist/callbacks/handlers/initialize.js +1 -1
  26. package/dist/callbacks/handlers/log_stream.cjs +1 -1
  27. package/dist/callbacks/handlers/log_stream.d.ts +1 -1
  28. package/dist/callbacks/handlers/log_stream.js +1 -1
  29. package/dist/callbacks/handlers/run_collector.cjs +1 -1
  30. package/dist/callbacks/handlers/run_collector.d.ts +1 -1
  31. package/dist/callbacks/handlers/run_collector.js +1 -1
  32. package/dist/callbacks/handlers/tracer.cjs +1 -1
  33. package/dist/callbacks/handlers/tracer.d.ts +1 -1
  34. package/dist/callbacks/handlers/tracer.js +1 -1
  35. package/dist/callbacks/handlers/tracer_langchain.cjs +1 -1
  36. package/dist/callbacks/handlers/tracer_langchain.d.ts +1 -1
  37. package/dist/callbacks/handlers/tracer_langchain.js +1 -1
  38. package/dist/callbacks/handlers/tracer_langchain_v1.cjs +1 -1
  39. package/dist/callbacks/handlers/tracer_langchain_v1.d.ts +1 -1
  40. package/dist/callbacks/handlers/tracer_langchain_v1.js +1 -1
  41. package/dist/callbacks/manager.cjs +1 -1
  42. package/dist/callbacks/manager.d.ts +1 -1
  43. package/dist/callbacks/manager.js +1 -1
  44. package/dist/callbacks/promises.cjs +1 -1
  45. package/dist/callbacks/promises.d.ts +1 -1
  46. package/dist/callbacks/promises.js +1 -1
  47. package/dist/chains/base.cjs +16 -0
  48. package/dist/chains/base.d.ts +2 -0
  49. package/dist/chains/base.js +16 -0
  50. package/dist/chains/openai_functions/structured_output.cjs +1 -1
  51. package/dist/chains/openai_functions/structured_output.d.ts +1 -1
  52. package/dist/chains/openai_functions/structured_output.js +1 -1
  53. package/dist/chains/openai_moderation.cjs +2 -2
  54. package/dist/chains/openai_moderation.d.ts +1 -1
  55. package/dist/chains/openai_moderation.js +1 -1
  56. package/dist/chat_models/base.cjs +1 -1
  57. package/dist/chat_models/base.d.ts +1 -1
  58. package/dist/chat_models/base.js +1 -1
  59. package/dist/chat_models/fireworks.d.ts +2 -2
  60. package/dist/chat_models/iflytek_xinghuo/common.d.ts +1 -1
  61. package/dist/chat_models/minimax.d.ts +2 -2
  62. package/dist/chat_models/openai.cjs +4 -698
  63. package/dist/chat_models/openai.d.ts +4 -137
  64. package/dist/chat_models/openai.js +2 -695
  65. package/dist/document.cjs +1 -1
  66. package/dist/document.d.ts +1 -1
  67. package/dist/document.js +1 -1
  68. package/dist/document_loaders/fs/openai_whisper_audio.cjs +2 -2
  69. package/dist/document_loaders/fs/openai_whisper_audio.d.ts +1 -1
  70. package/dist/document_loaders/fs/openai_whisper_audio.js +1 -1
  71. package/dist/document_loaders/web/azure_blob_storage_file.d.ts +1 -1
  72. package/dist/document_loaders/web/s3.d.ts +1 -1
  73. package/dist/embeddings/base.cjs +1 -1
  74. package/dist/embeddings/base.d.ts +1 -1
  75. package/dist/embeddings/base.js +1 -1
  76. package/dist/embeddings/cache_backed.cjs +1 -1
  77. package/dist/embeddings/cache_backed.js +1 -1
  78. package/dist/embeddings/openai.cjs +2 -240
  79. package/dist/embeddings/openai.d.ts +1 -82
  80. package/dist/embeddings/openai.js +1 -239
  81. package/dist/experimental/openai_assistant/index.cjs +3 -3
  82. package/dist/experimental/openai_assistant/index.d.ts +1 -1
  83. package/dist/experimental/openai_assistant/index.js +1 -1
  84. package/dist/experimental/openai_assistant/schema.d.ts +1 -1
  85. package/dist/experimental/openai_files/index.cjs +2 -2
  86. package/dist/experimental/openai_files/index.d.ts +1 -1
  87. package/dist/experimental/openai_files/index.js +1 -1
  88. package/dist/experimental/plan_and_execute/prompt.d.ts +1 -1
  89. package/dist/llms/base.cjs +1 -1
  90. package/dist/llms/base.d.ts +1 -1
  91. package/dist/llms/base.js +1 -1
  92. package/dist/llms/fireworks.d.ts +2 -2
  93. package/dist/llms/openai-chat.cjs +3 -445
  94. package/dist/llms/openai-chat.d.ts +4 -123
  95. package/dist/llms/openai-chat.js +2 -443
  96. package/dist/llms/openai.cjs +6 -530
  97. package/dist/llms/openai.d.ts +4 -123
  98. package/dist/llms/openai.js +2 -525
  99. package/dist/load/index.cjs +4 -2
  100. package/dist/load/index.d.ts +2 -2
  101. package/dist/load/index.js +4 -2
  102. package/dist/load/serializable.cjs +1 -1
  103. package/dist/load/serializable.d.ts +1 -1
  104. package/dist/load/serializable.js +1 -1
  105. package/dist/memory/base.cjs +2 -2
  106. package/dist/memory/base.d.ts +2 -2
  107. package/dist/memory/base.js +2 -2
  108. package/dist/output_parsers/list.cjs +1 -1
  109. package/dist/output_parsers/list.d.ts +1 -1
  110. package/dist/output_parsers/list.js +1 -1
  111. package/dist/output_parsers/openai_functions.cjs +1 -1
  112. package/dist/output_parsers/openai_functions.d.ts +1 -1
  113. package/dist/output_parsers/openai_functions.js +1 -1
  114. package/dist/output_parsers/structured.d.ts +1 -1
  115. package/dist/prompts/base.cjs +3 -3
  116. package/dist/prompts/base.d.ts +3 -3
  117. package/dist/prompts/base.js +3 -3
  118. package/dist/prompts/chat.cjs +2 -2
  119. package/dist/prompts/chat.d.ts +2 -2
  120. package/dist/prompts/chat.js +2 -2
  121. package/dist/prompts/few_shot.cjs +1 -1
  122. package/dist/prompts/few_shot.d.ts +1 -1
  123. package/dist/prompts/few_shot.js +1 -1
  124. package/dist/prompts/index.cjs +1 -1
  125. package/dist/prompts/index.d.ts +1 -1
  126. package/dist/prompts/index.js +1 -1
  127. package/dist/prompts/pipeline.cjs +1 -1
  128. package/dist/prompts/pipeline.d.ts +1 -1
  129. package/dist/prompts/pipeline.js +1 -1
  130. package/dist/prompts/prompt.cjs +1 -1
  131. package/dist/prompts/prompt.d.ts +1 -1
  132. package/dist/prompts/prompt.js +1 -1
  133. package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +1 -1
  134. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +1 -1
  135. package/dist/prompts/selectors/LengthBasedExampleSelector.js +1 -1
  136. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +1 -1
  137. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +1 -1
  138. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +1 -1
  139. package/dist/prompts/selectors/conditional.cjs +1 -1
  140. package/dist/prompts/selectors/conditional.d.ts +1 -1
  141. package/dist/prompts/selectors/conditional.js +1 -1
  142. package/dist/prompts/serde.d.ts +1 -1
  143. package/dist/prompts/template.cjs +1 -1
  144. package/dist/prompts/template.d.ts +1 -1
  145. package/dist/prompts/template.js +1 -1
  146. package/dist/runnables/index.cjs +1 -1
  147. package/dist/runnables/index.d.ts +1 -1
  148. package/dist/runnables/index.js +1 -1
  149. package/dist/schema/document.cjs +1 -1
  150. package/dist/schema/document.d.ts +1 -1
  151. package/dist/schema/document.js +1 -1
  152. package/dist/schema/index.cjs +7 -7
  153. package/dist/schema/index.d.ts +11 -11
  154. package/dist/schema/index.js +7 -7
  155. package/dist/schema/output_parser.cjs +1 -1
  156. package/dist/schema/output_parser.d.ts +1 -1
  157. package/dist/schema/output_parser.js +1 -1
  158. package/dist/schema/retriever.cjs +1 -1
  159. package/dist/schema/retriever.d.ts +1 -1
  160. package/dist/schema/retriever.js +1 -1
  161. package/dist/schema/runnable/base.cjs +1 -1
  162. package/dist/schema/runnable/base.d.ts +1 -1
  163. package/dist/schema/runnable/base.js +1 -1
  164. package/dist/schema/runnable/branch.cjs +1 -1
  165. package/dist/schema/runnable/branch.d.ts +1 -1
  166. package/dist/schema/runnable/branch.js +1 -1
  167. package/dist/schema/runnable/config.d.ts +1 -1
  168. package/dist/schema/runnable/index.cjs +1 -1
  169. package/dist/schema/runnable/index.d.ts +1 -1
  170. package/dist/schema/runnable/index.js +1 -1
  171. package/dist/schema/runnable/passthrough.cjs +1 -1
  172. package/dist/schema/runnable/passthrough.d.ts +1 -1
  173. package/dist/schema/runnable/passthrough.js +1 -1
  174. package/dist/schema/runnable/router.cjs +1 -1
  175. package/dist/schema/runnable/router.d.ts +1 -1
  176. package/dist/schema/runnable/router.js +1 -1
  177. package/dist/schema/storage.cjs +1 -1
  178. package/dist/schema/storage.d.ts +1 -1
  179. package/dist/schema/storage.js +1 -1
  180. package/dist/tools/base.cjs +4 -108
  181. package/dist/tools/base.d.ts +1 -72
  182. package/dist/tools/base.js +1 -105
  183. package/dist/tools/bingserpapi.d.ts +1 -1
  184. package/dist/tools/convert_to_openai.cjs +4 -38
  185. package/dist/tools/convert_to_openai.d.ts +1 -11
  186. package/dist/tools/convert_to_openai.js +1 -35
  187. package/dist/tools/searchapi.d.ts +1 -1
  188. package/dist/tools/serpapi.d.ts +1 -1
  189. package/dist/tools/serper.d.ts +1 -1
  190. package/dist/types/openai-types.d.ts +1 -133
  191. package/dist/util/async_caller.cjs +1 -1
  192. package/dist/util/async_caller.d.ts +1 -1
  193. package/dist/util/async_caller.js +1 -1
  194. package/dist/util/openai.cjs +2 -18
  195. package/dist/util/openai.d.ts +1 -1
  196. package/dist/util/openai.js +1 -17
  197. package/dist/util/openapi.d.ts +2 -2
  198. package/dist/util/prompt-layer.d.ts +1 -1
  199. package/package.json +6 -5
  200. package/dist/util/openai-format-fndef.cjs +0 -81
  201. package/dist/util/openai-format-fndef.d.ts +0 -44
  202. package/dist/util/openai-format-fndef.js +0 -77
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenAIAssistantRunnable = void 0;
4
- const openai_1 = require("openai");
4
+ const openai_1 = require("@langchain/openai");
5
5
  const base_js_1 = require("../../schema/runnable/base.cjs");
6
6
  const time_js_1 = require("../../util/time.cjs");
7
7
  const base_js_2 = require("../../tools/base.cjs");
@@ -39,7 +39,7 @@ class OpenAIAssistantRunnable extends base_js_1.Runnable {
39
39
  writable: true,
40
40
  value: void 0
41
41
  });
42
- this.client = fields.client ?? new openai_1.OpenAI(fields?.clientOptions);
42
+ this.client = fields.client ?? new openai_1.OpenAIClient(fields?.clientOptions);
43
43
  this.assistantId = fields.assistantId;
44
44
  this.asAgent = fields.asAgent ?? this.asAgent;
45
45
  }
@@ -51,7 +51,7 @@ class OpenAIAssistantRunnable extends base_js_1.Runnable {
51
51
  }
52
52
  return tool;
53
53
  }) ?? [];
54
- const oaiClient = client ?? new openai_1.OpenAI(clientOptions);
54
+ const oaiClient = client ?? new openai_1.OpenAIClient(clientOptions);
55
55
  const assistant = await oaiClient.beta.assistants.create({
56
56
  name,
57
57
  instructions,
@@ -1,4 +1,4 @@
1
- import { type ClientOptions, OpenAI as OpenAIClient } from "openai";
1
+ import { type ClientOptions, OpenAIClient } from "@langchain/openai";
2
2
  import { Runnable } from "../../schema/runnable/base.js";
3
3
  import type { RunnableConfig } from "../../schema/runnable/config.js";
4
4
  import type { OpenAIAssistantFinish, OpenAIAssistantAction, OpenAIToolType } from "./schema.js";
@@ -1,4 +1,4 @@
1
- import { OpenAI as OpenAIClient } from "openai";
1
+ import { OpenAIClient } from "@langchain/openai";
2
2
  import { Runnable } from "../../schema/runnable/base.js";
3
3
  import { sleep } from "../../util/time.js";
4
4
  import { StructuredTool } from "../../tools/base.js";
@@ -1,4 +1,4 @@
1
- import type { OpenAI as OpenAIClient } from "openai";
1
+ import type { OpenAIClient } from "@langchain/openai";
2
2
  import type { AgentFinish, AgentAction } from "../../schema/index.js";
3
3
  export type OpenAIAssistantFinish = AgentFinish & {
4
4
  runId: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenAIFiles = void 0;
4
- const openai_1 = require("openai");
4
+ const openai_1 = require("@langchain/openai");
5
5
  const serializable_js_1 = require("../../load/serializable.cjs");
6
6
  class OpenAIFiles extends serializable_js_1.Serializable {
7
7
  constructor(fields) {
@@ -18,7 +18,7 @@ class OpenAIFiles extends serializable_js_1.Serializable {
18
18
  writable: true,
19
19
  value: void 0
20
20
  });
21
- this.oaiClient = fields?.client ?? new openai_1.OpenAI(fields?.clientOptions);
21
+ this.oaiClient = fields?.client ?? new openai_1.OpenAIClient(fields?.clientOptions);
22
22
  }
23
23
  /**
24
24
  * Upload file
@@ -1,4 +1,4 @@
1
- import { ClientOptions, OpenAI as OpenAIClient } from "openai";
1
+ import { OpenAIClient, type ClientOptions } from "@langchain/openai";
2
2
  import { Serializable } from "../../load/serializable.js";
3
3
  export type OpenAIFilesInput = {
4
4
  client?: OpenAIClient;
@@ -1,4 +1,4 @@
1
- import { OpenAI as OpenAIClient } from "openai";
1
+ import { OpenAIClient } from "@langchain/openai";
2
2
  import { Serializable } from "../../load/serializable.js";
3
3
  export class OpenAIFiles extends Serializable {
4
4
  constructor(fields) {
@@ -10,4 +10,4 @@ export declare const DEFAULT_STEP_EXECUTOR_HUMAN_CHAT_MESSAGE_TEMPLATE = "Previo
10
10
  * @param tools the tools available to the `planner`
11
11
  * @returns
12
12
  */
13
- export declare const getPlannerChatPrompt: (tools: Tool[] | DynamicStructuredTool[]) => Promise<ChatPromptTemplate<import("langchain-core/utils/types").InputValues<string>, any>>;
13
+ export declare const getPlannerChatPrompt: (tools: Tool[] | DynamicStructuredTool[]) => Promise<ChatPromptTemplate<import("@langchain/core/utils/types").InputValues<string>, any>>;
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("langchain-core/language_models/llms"), exports);
17
+ __exportStar(require("@langchain/core/language_models/llms"), exports);
@@ -1 +1 @@
1
- export * from "langchain-core/language_models/llms";
1
+ export * from "@langchain/core/language_models/llms";
package/dist/llms/base.js CHANGED
@@ -1 +1 @@
1
- export * from "langchain-core/language_models/llms";
1
+ export * from "@langchain/core/language_models/llms";
@@ -1,4 +1,4 @@
1
- import type { OpenAI as OpenAIClient } from "openai";
1
+ import type { OpenAIClient } from "@langchain/openai";
2
2
  import type { BaseLLMParams } from "./base.js";
3
3
  import type { OpenAICallOptions, OpenAIInput } from "./openai.js";
4
4
  import type { OpenAICoreRequestOptions } from "../types/openai-types.js";
@@ -26,7 +26,7 @@ export declare class Fireworks extends OpenAI<FireworksCallOptions> {
26
26
  constructor(fields?: Partial<Omit<OpenAIInput, "openAIApiKey" | FireworksUnsupportedArgs>> & BaseLLMParams & {
27
27
  fireworksApiKey?: string;
28
28
  });
29
- toJSON(): import("langchain-core/load/serializable").Serialized;
29
+ toJSON(): import("@langchain/core/load/serializable").Serialized;
30
30
  completionWithRetry(request: OpenAIClient.CompletionCreateParamsStreaming, options?: OpenAICoreRequestOptions): Promise<AsyncIterable<OpenAIClient.Completion>>;
31
31
  completionWithRetry(request: OpenAIClient.CompletionCreateParamsNonStreaming, options?: OpenAICoreRequestOptions): Promise<OpenAIClient.Completions.Completion>;
32
32
  }
@@ -1,456 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PromptLayerOpenAIChat = exports.OpenAIChat = void 0;
4
- const openai_1 = require("openai");
5
- const index_js_1 = require("../schema/index.cjs");
6
- const azure_js_1 = require("../util/azure.cjs");
4
+ const openai_1 = require("@langchain/openai");
5
+ Object.defineProperty(exports, "OpenAIChat", { enumerable: true, get: function () { return openai_1.OpenAIChat; } });
7
6
  const env_js_1 = require("../util/env.cjs");
8
7
  const prompt_layer_js_1 = require("../util/prompt-layer.cjs");
9
- const base_js_1 = require("./base.cjs");
10
- const openai_js_1 = require("../util/openai.cjs");
11
- /**
12
- * Wrapper around OpenAI large language models that use the Chat endpoint.
13
- *
14
- * To use you should have the `openai` package installed, with the
15
- * `OPENAI_API_KEY` environment variable set.
16
- *
17
- * To use with Azure you should have the `openai` package installed, with the
18
- * `AZURE_OPENAI_API_KEY`,
19
- * `AZURE_OPENAI_API_INSTANCE_NAME`,
20
- * `AZURE_OPENAI_API_DEPLOYMENT_NAME`
21
- * and `AZURE_OPENAI_API_VERSION` environment variable set.
22
- *
23
- * @remarks
24
- * Any parameters that are valid to be passed to {@link
25
- * https://platform.openai.com/docs/api-reference/chat/create |
26
- * `openai.createCompletion`} can be passed through {@link modelKwargs}, even
27
- * if not explicitly available on this class.
28
- *
29
- * @augments BaseLLM
30
- * @augments OpenAIInput
31
- * @augments AzureOpenAIChatInput
32
- * @example
33
- * ```typescript
34
- * const model = new OpenAIChat({
35
- * prefixMessages: [
36
- * {
37
- * role: "system",
38
- * content: "You are a helpful assistant that answers in pirate language",
39
- * },
40
- * ],
41
- * maxTokens: 50,
42
- * });
43
- *
44
- * const res = await model.call(
45
- * "What would be a good company name for a company that makes colorful socks?"
46
- * );
47
- * console.log({ res });
48
- * ```
49
- */
50
- class OpenAIChat extends base_js_1.LLM {
51
- static lc_name() {
52
- return "OpenAIChat";
53
- }
54
- get callKeys() {
55
- return [...super.callKeys, "options", "promptIndex"];
56
- }
57
- get lc_secrets() {
58
- return {
59
- openAIApiKey: "OPENAI_API_KEY",
60
- azureOpenAIApiKey: "AZURE_OPENAI_API_KEY",
61
- organization: "OPENAI_ORGANIZATION",
62
- };
63
- }
64
- get lc_aliases() {
65
- return {
66
- modelName: "model",
67
- openAIApiKey: "openai_api_key",
68
- azureOpenAIApiVersion: "azure_openai_api_version",
69
- azureOpenAIApiKey: "azure_openai_api_key",
70
- azureOpenAIApiInstanceName: "azure_openai_api_instance_name",
71
- azureOpenAIApiDeploymentName: "azure_openai_api_deployment_name",
72
- };
73
- }
74
- constructor(fields,
75
- /** @deprecated */
76
- configuration) {
77
- super(fields ?? {});
78
- Object.defineProperty(this, "lc_serializable", {
79
- enumerable: true,
80
- configurable: true,
81
- writable: true,
82
- value: true
83
- });
84
- Object.defineProperty(this, "temperature", {
85
- enumerable: true,
86
- configurable: true,
87
- writable: true,
88
- value: 1
89
- });
90
- Object.defineProperty(this, "topP", {
91
- enumerable: true,
92
- configurable: true,
93
- writable: true,
94
- value: 1
95
- });
96
- Object.defineProperty(this, "frequencyPenalty", {
97
- enumerable: true,
98
- configurable: true,
99
- writable: true,
100
- value: 0
101
- });
102
- Object.defineProperty(this, "presencePenalty", {
103
- enumerable: true,
104
- configurable: true,
105
- writable: true,
106
- value: 0
107
- });
108
- Object.defineProperty(this, "n", {
109
- enumerable: true,
110
- configurable: true,
111
- writable: true,
112
- value: 1
113
- });
114
- Object.defineProperty(this, "logitBias", {
115
- enumerable: true,
116
- configurable: true,
117
- writable: true,
118
- value: void 0
119
- });
120
- Object.defineProperty(this, "maxTokens", {
121
- enumerable: true,
122
- configurable: true,
123
- writable: true,
124
- value: void 0
125
- });
126
- Object.defineProperty(this, "modelName", {
127
- enumerable: true,
128
- configurable: true,
129
- writable: true,
130
- value: "gpt-3.5-turbo"
131
- });
132
- Object.defineProperty(this, "prefixMessages", {
133
- enumerable: true,
134
- configurable: true,
135
- writable: true,
136
- value: void 0
137
- });
138
- Object.defineProperty(this, "modelKwargs", {
139
- enumerable: true,
140
- configurable: true,
141
- writable: true,
142
- value: void 0
143
- });
144
- Object.defineProperty(this, "timeout", {
145
- enumerable: true,
146
- configurable: true,
147
- writable: true,
148
- value: void 0
149
- });
150
- Object.defineProperty(this, "stop", {
151
- enumerable: true,
152
- configurable: true,
153
- writable: true,
154
- value: void 0
155
- });
156
- Object.defineProperty(this, "user", {
157
- enumerable: true,
158
- configurable: true,
159
- writable: true,
160
- value: void 0
161
- });
162
- Object.defineProperty(this, "streaming", {
163
- enumerable: true,
164
- configurable: true,
165
- writable: true,
166
- value: false
167
- });
168
- Object.defineProperty(this, "openAIApiKey", {
169
- enumerable: true,
170
- configurable: true,
171
- writable: true,
172
- value: void 0
173
- });
174
- Object.defineProperty(this, "azureOpenAIApiVersion", {
175
- enumerable: true,
176
- configurable: true,
177
- writable: true,
178
- value: void 0
179
- });
180
- Object.defineProperty(this, "azureOpenAIApiKey", {
181
- enumerable: true,
182
- configurable: true,
183
- writable: true,
184
- value: void 0
185
- });
186
- Object.defineProperty(this, "azureOpenAIApiInstanceName", {
187
- enumerable: true,
188
- configurable: true,
189
- writable: true,
190
- value: void 0
191
- });
192
- Object.defineProperty(this, "azureOpenAIApiDeploymentName", {
193
- enumerable: true,
194
- configurable: true,
195
- writable: true,
196
- value: void 0
197
- });
198
- Object.defineProperty(this, "azureOpenAIBasePath", {
199
- enumerable: true,
200
- configurable: true,
201
- writable: true,
202
- value: void 0
203
- });
204
- Object.defineProperty(this, "organization", {
205
- enumerable: true,
206
- configurable: true,
207
- writable: true,
208
- value: void 0
209
- });
210
- Object.defineProperty(this, "client", {
211
- enumerable: true,
212
- configurable: true,
213
- writable: true,
214
- value: void 0
215
- });
216
- Object.defineProperty(this, "clientConfig", {
217
- enumerable: true,
218
- configurable: true,
219
- writable: true,
220
- value: void 0
221
- });
222
- this.openAIApiKey =
223
- fields?.openAIApiKey ?? (0, env_js_1.getEnvironmentVariable)("OPENAI_API_KEY");
224
- this.azureOpenAIApiKey =
225
- fields?.azureOpenAIApiKey ??
226
- (0, env_js_1.getEnvironmentVariable)("AZURE_OPENAI_API_KEY");
227
- if (!this.azureOpenAIApiKey && !this.openAIApiKey) {
228
- throw new Error("OpenAI or Azure OpenAI API key not found");
229
- }
230
- this.azureOpenAIApiInstanceName =
231
- fields?.azureOpenAIApiInstanceName ??
232
- (0, env_js_1.getEnvironmentVariable)("AZURE_OPENAI_API_INSTANCE_NAME");
233
- this.azureOpenAIApiDeploymentName =
234
- (fields?.azureOpenAIApiCompletionsDeploymentName ||
235
- fields?.azureOpenAIApiDeploymentName) ??
236
- ((0, env_js_1.getEnvironmentVariable)("AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME") ||
237
- (0, env_js_1.getEnvironmentVariable)("AZURE_OPENAI_API_DEPLOYMENT_NAME"));
238
- this.azureOpenAIApiVersion =
239
- fields?.azureOpenAIApiVersion ??
240
- (0, env_js_1.getEnvironmentVariable)("AZURE_OPENAI_API_VERSION");
241
- this.azureOpenAIBasePath =
242
- fields?.azureOpenAIBasePath ??
243
- (0, env_js_1.getEnvironmentVariable)("AZURE_OPENAI_BASE_PATH");
244
- this.organization =
245
- fields?.configuration?.organization ??
246
- (0, env_js_1.getEnvironmentVariable)("OPENAI_ORGANIZATION");
247
- this.modelName = fields?.modelName ?? this.modelName;
248
- this.prefixMessages = fields?.prefixMessages ?? this.prefixMessages;
249
- this.modelKwargs = fields?.modelKwargs ?? {};
250
- this.timeout = fields?.timeout;
251
- this.temperature = fields?.temperature ?? this.temperature;
252
- this.topP = fields?.topP ?? this.topP;
253
- this.frequencyPenalty = fields?.frequencyPenalty ?? this.frequencyPenalty;
254
- this.presencePenalty = fields?.presencePenalty ?? this.presencePenalty;
255
- this.n = fields?.n ?? this.n;
256
- this.logitBias = fields?.logitBias;
257
- this.maxTokens = fields?.maxTokens;
258
- this.stop = fields?.stop;
259
- this.user = fields?.user;
260
- this.streaming = fields?.streaming ?? false;
261
- if (this.n > 1) {
262
- throw new Error("Cannot use n > 1 in OpenAIChat LLM. Use ChatOpenAI Chat Model instead.");
263
- }
264
- if (this.azureOpenAIApiKey) {
265
- if (!this.azureOpenAIApiInstanceName && !this.azureOpenAIBasePath) {
266
- throw new Error("Azure OpenAI API instance name not found");
267
- }
268
- if (!this.azureOpenAIApiDeploymentName) {
269
- throw new Error("Azure OpenAI API deployment name not found");
270
- }
271
- if (!this.azureOpenAIApiVersion) {
272
- throw new Error("Azure OpenAI API version not found");
273
- }
274
- this.openAIApiKey = this.openAIApiKey ?? "";
275
- }
276
- this.clientConfig = {
277
- apiKey: this.openAIApiKey,
278
- organization: this.organization,
279
- baseURL: configuration?.basePath ?? fields?.configuration?.basePath,
280
- dangerouslyAllowBrowser: true,
281
- defaultHeaders: configuration?.baseOptions?.headers ??
282
- fields?.configuration?.baseOptions?.headers,
283
- defaultQuery: configuration?.baseOptions?.params ??
284
- fields?.configuration?.baseOptions?.params,
285
- ...configuration,
286
- ...fields?.configuration,
287
- };
288
- }
289
- /**
290
- * Get the parameters used to invoke the model
291
- */
292
- invocationParams(options) {
293
- return {
294
- model: this.modelName,
295
- temperature: this.temperature,
296
- top_p: this.topP,
297
- frequency_penalty: this.frequencyPenalty,
298
- presence_penalty: this.presencePenalty,
299
- n: this.n,
300
- logit_bias: this.logitBias,
301
- max_tokens: this.maxTokens === -1 ? undefined : this.maxTokens,
302
- stop: options?.stop ?? this.stop,
303
- user: this.user,
304
- stream: this.streaming,
305
- ...this.modelKwargs,
306
- };
307
- }
308
- /** @ignore */
309
- _identifyingParams() {
310
- return {
311
- model_name: this.modelName,
312
- ...this.invocationParams(),
313
- ...this.clientConfig,
314
- };
315
- }
316
- /**
317
- * Get the identifying parameters for the model
318
- */
319
- identifyingParams() {
320
- return {
321
- model_name: this.modelName,
322
- ...this.invocationParams(),
323
- ...this.clientConfig,
324
- };
325
- }
326
- /**
327
- * Formats the messages for the OpenAI API.
328
- * @param prompt The prompt to be formatted.
329
- * @returns Array of formatted messages.
330
- */
331
- formatMessages(prompt) {
332
- const message = {
333
- role: "user",
334
- content: prompt,
335
- };
336
- return this.prefixMessages ? [...this.prefixMessages, message] : [message];
337
- }
338
- async *_streamResponseChunks(prompt, options, runManager) {
339
- const params = {
340
- ...this.invocationParams(options),
341
- messages: this.formatMessages(prompt),
342
- stream: true,
343
- };
344
- const stream = await this.completionWithRetry(params, options);
345
- for await (const data of stream) {
346
- const choice = data?.choices[0];
347
- if (!choice) {
348
- continue;
349
- }
350
- const { delta } = choice;
351
- const generationChunk = new index_js_1.GenerationChunk({
352
- text: delta.content ?? "",
353
- });
354
- yield generationChunk;
355
- const newTokenIndices = {
356
- prompt: options.promptIndex ?? 0,
357
- completion: choice.index ?? 0,
358
- };
359
- // eslint-disable-next-line no-void
360
- void runManager?.handleLLMNewToken(generationChunk.text ?? "", newTokenIndices);
361
- }
362
- if (options.signal?.aborted) {
363
- throw new Error("AbortError");
364
- }
365
- }
366
- /** @ignore */
367
- async _call(prompt, options, runManager) {
368
- const params = this.invocationParams(options);
369
- if (params.stream) {
370
- const stream = await this._streamResponseChunks(prompt, options, runManager);
371
- let finalChunk;
372
- for await (const chunk of stream) {
373
- if (finalChunk === undefined) {
374
- finalChunk = chunk;
375
- }
376
- else {
377
- finalChunk = finalChunk.concat(chunk);
378
- }
379
- }
380
- return finalChunk?.text ?? "";
381
- }
382
- else {
383
- const response = await this.completionWithRetry({
384
- ...params,
385
- stream: false,
386
- messages: this.formatMessages(prompt),
387
- }, {
388
- signal: options.signal,
389
- ...options.options,
390
- });
391
- return response?.choices[0]?.message?.content ?? "";
392
- }
393
- }
394
- async completionWithRetry(request, options) {
395
- const requestOptions = this._getClientOptions(options);
396
- return this.caller.call(async () => {
397
- try {
398
- const res = await this.client.chat.completions.create(request, requestOptions);
399
- return res;
400
- }
401
- catch (e) {
402
- const error = (0, openai_js_1.wrapOpenAIClientError)(e);
403
- throw error;
404
- }
405
- });
406
- }
407
- /** @ignore */
408
- _getClientOptions(options) {
409
- if (!this.client) {
410
- const openAIEndpointConfig = {
411
- azureOpenAIApiDeploymentName: this.azureOpenAIApiDeploymentName,
412
- azureOpenAIApiInstanceName: this.azureOpenAIApiInstanceName,
413
- azureOpenAIApiKey: this.azureOpenAIApiKey,
414
- azureOpenAIBasePath: this.azureOpenAIBasePath,
415
- baseURL: this.clientConfig.baseURL,
416
- };
417
- const endpoint = (0, azure_js_1.getEndpoint)(openAIEndpointConfig);
418
- const params = {
419
- ...this.clientConfig,
420
- baseURL: endpoint,
421
- timeout: this.timeout,
422
- maxRetries: 0,
423
- };
424
- if (!params.baseURL) {
425
- delete params.baseURL;
426
- }
427
- this.client = new openai_1.OpenAI(params);
428
- }
429
- const requestOptions = {
430
- ...this.clientConfig,
431
- ...options,
432
- };
433
- if (this.azureOpenAIApiKey) {
434
- requestOptions.headers = {
435
- "api-key": this.azureOpenAIApiKey,
436
- ...requestOptions.headers,
437
- };
438
- requestOptions.query = {
439
- "api-version": this.azureOpenAIApiVersion,
440
- ...requestOptions.query,
441
- };
442
- }
443
- return requestOptions;
444
- }
445
- _llmType() {
446
- return "openai";
447
- }
448
- }
449
- exports.OpenAIChat = OpenAIChat;
450
8
  /**
451
9
  * PromptLayer wrapper to OpenAIChat
452
10
  */
453
- class PromptLayerOpenAIChat extends OpenAIChat {
11
+ class PromptLayerOpenAIChat extends openai_1.OpenAIChat {
454
12
  get lc_secrets() {
455
13
  return {
456
14
  promptLayerApiKey: "PROMPTLAYER_API_KEY",