@langchain/openai 0.6.9 → 1.0.0-alpha.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 (162) hide show
  1. package/README.md +8 -8
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/azure/chat_models.cjs +661 -808
  4. package/dist/azure/chat_models.cjs.map +1 -0
  5. package/dist/azure/chat_models.d.cts +449 -0
  6. package/dist/azure/chat_models.d.cts.map +1 -0
  7. package/dist/azure/chat_models.d.ts +32 -28
  8. package/dist/azure/chat_models.d.ts.map +1 -0
  9. package/dist/azure/chat_models.js +660 -804
  10. package/dist/azure/chat_models.js.map +1 -0
  11. package/dist/azure/embeddings.cjs +81 -130
  12. package/dist/azure/embeddings.cjs.map +1 -0
  13. package/dist/azure/embeddings.d.cts +27 -0
  14. package/dist/azure/embeddings.d.cts.map +1 -0
  15. package/dist/azure/embeddings.d.ts +25 -20
  16. package/dist/azure/embeddings.d.ts.map +1 -0
  17. package/dist/azure/embeddings.js +80 -126
  18. package/dist/azure/embeddings.js.map +1 -0
  19. package/dist/azure/llms.cjs +109 -168
  20. package/dist/azure/llms.cjs.map +1 -0
  21. package/dist/azure/llms.d.cts +33 -0
  22. package/dist/azure/llms.d.cts.map +1 -0
  23. package/dist/azure/llms.d.ts +31 -25
  24. package/dist/azure/llms.d.ts.map +1 -0
  25. package/dist/azure/llms.js +108 -164
  26. package/dist/azure/llms.js.map +1 -0
  27. package/dist/chat_models.cjs +1951 -2774
  28. package/dist/chat_models.cjs.map +1 -0
  29. package/dist/chat_models.d.cts +930 -0
  30. package/dist/chat_models.d.cts.map +1 -0
  31. package/dist/chat_models.d.ts +365 -348
  32. package/dist/chat_models.d.ts.map +1 -0
  33. package/dist/chat_models.js +1946 -2764
  34. package/dist/chat_models.js.map +1 -0
  35. package/dist/embeddings.cjs +136 -193
  36. package/dist/embeddings.cjs.map +1 -0
  37. package/dist/embeddings.d.cts +115 -0
  38. package/dist/embeddings.d.cts.map +1 -0
  39. package/dist/embeddings.d.ts +88 -81
  40. package/dist/embeddings.d.ts.map +1 -0
  41. package/dist/embeddings.js +134 -188
  42. package/dist/embeddings.js.map +1 -0
  43. package/dist/index.cjs +47 -34
  44. package/dist/index.d.cts +16 -0
  45. package/dist/index.d.ts +16 -13
  46. package/dist/index.js +17 -13
  47. package/dist/langchain-core/dist/types/_internal.d.cts +11 -0
  48. package/dist/langchain-core/dist/types/_internal.d.cts.map +1 -0
  49. package/dist/langchain-core/dist/types/_internal.d.ts +11 -0
  50. package/dist/langchain-core/dist/types/_internal.d.ts.map +1 -0
  51. package/dist/langchain-core/dist/utils/stream.d.cts +26 -0
  52. package/dist/langchain-core/dist/utils/stream.d.cts.map +1 -0
  53. package/dist/langchain-core/dist/utils/stream.d.ts +26 -0
  54. package/dist/langchain-core/dist/utils/stream.d.ts.map +1 -0
  55. package/dist/llms.cjs +312 -468
  56. package/dist/llms.cjs.map +1 -0
  57. package/dist/llms.d.cts +123 -0
  58. package/dist/llms.d.cts.map +1 -0
  59. package/dist/llms.d.ts +93 -87
  60. package/dist/llms.d.ts.map +1 -0
  61. package/dist/llms.js +309 -462
  62. package/dist/llms.js.map +1 -0
  63. package/dist/tools/custom.cjs +25 -26
  64. package/dist/tools/custom.cjs.map +1 -0
  65. package/dist/tools/custom.d.cts +10 -0
  66. package/dist/tools/custom.d.cts.map +1 -0
  67. package/dist/tools/custom.d.ts +8 -3
  68. package/dist/tools/custom.d.ts.map +1 -0
  69. package/dist/tools/custom.js +24 -23
  70. package/dist/tools/custom.js.map +1 -0
  71. package/dist/tools/dalle.cjs +104 -194
  72. package/dist/tools/dalle.cjs.map +1 -0
  73. package/dist/tools/dalle.d.cts +123 -0
  74. package/dist/tools/dalle.d.cts.map +1 -0
  75. package/dist/tools/dalle.d.ts +111 -104
  76. package/dist/tools/dalle.d.ts.map +1 -0
  77. package/dist/tools/dalle.js +102 -189
  78. package/dist/tools/dalle.js.map +1 -0
  79. package/dist/tools/index.cjs +1 -17
  80. package/dist/tools/index.js +1 -1
  81. package/dist/types.d.cts +263 -0
  82. package/dist/types.d.cts.map +1 -0
  83. package/dist/types.d.ts +244 -237
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/utils/azure.cjs +86 -47
  86. package/dist/utils/azure.cjs.map +1 -0
  87. package/dist/utils/azure.d.cts +76 -0
  88. package/dist/utils/azure.d.cts.map +1 -0
  89. package/dist/utils/azure.d.ts +51 -9
  90. package/dist/utils/azure.d.ts.map +1 -0
  91. package/dist/utils/azure.js +85 -45
  92. package/dist/utils/azure.js.map +1 -0
  93. package/dist/utils/client.cjs +25 -0
  94. package/dist/utils/client.cjs.map +1 -0
  95. package/dist/utils/client.d.cts +5 -0
  96. package/dist/utils/client.d.cts.map +1 -0
  97. package/dist/utils/client.d.ts +5 -0
  98. package/dist/utils/client.d.ts.map +1 -0
  99. package/dist/utils/client.js +24 -0
  100. package/dist/utils/client.js.map +1 -0
  101. package/dist/utils/errors.cjs +9 -8
  102. package/dist/utils/errors.cjs.map +1 -0
  103. package/dist/utils/errors.js +9 -6
  104. package/dist/utils/errors.js.map +1 -0
  105. package/dist/utils/message_inputs.cjs +139 -0
  106. package/dist/utils/message_inputs.cjs.map +1 -0
  107. package/dist/utils/message_inputs.d.cts +9 -0
  108. package/dist/utils/message_inputs.d.cts.map +1 -0
  109. package/dist/utils/message_inputs.d.ts +9 -0
  110. package/dist/utils/message_inputs.d.ts.map +1 -0
  111. package/dist/utils/message_inputs.js +137 -0
  112. package/dist/utils/message_inputs.js.map +1 -0
  113. package/dist/utils/misc.cjs +30 -0
  114. package/dist/utils/misc.cjs.map +1 -0
  115. package/dist/utils/misc.d.cts +9 -0
  116. package/dist/utils/misc.d.cts.map +1 -0
  117. package/dist/utils/misc.d.ts +9 -0
  118. package/dist/utils/misc.d.ts.map +1 -0
  119. package/dist/utils/misc.js +27 -0
  120. package/dist/utils/misc.js.map +1 -0
  121. package/dist/utils/output.cjs +74 -0
  122. package/dist/utils/output.cjs.map +1 -0
  123. package/dist/utils/output.js +72 -0
  124. package/dist/utils/output.js.map +1 -0
  125. package/dist/utils/prompts.cjs +39 -38
  126. package/dist/utils/prompts.cjs.map +1 -0
  127. package/dist/utils/prompts.d.cts +42 -0
  128. package/dist/utils/prompts.d.cts.map +1 -0
  129. package/dist/utils/prompts.d.ts +10 -4
  130. package/dist/utils/prompts.d.ts.map +1 -0
  131. package/dist/utils/prompts.js +40 -36
  132. package/dist/utils/prompts.js.map +1 -0
  133. package/dist/utils/standard.cjs +113 -0
  134. package/dist/utils/standard.cjs.map +1 -0
  135. package/dist/utils/standard.js +111 -0
  136. package/dist/utils/standard.js.map +1 -0
  137. package/dist/utils/tools.cjs +150 -127
  138. package/dist/utils/tools.cjs.map +1 -0
  139. package/dist/utils/tools.d.cts +13 -0
  140. package/dist/utils/tools.d.cts.map +1 -0
  141. package/dist/utils/tools.d.ts +12 -42
  142. package/dist/utils/tools.d.ts.map +1 -0
  143. package/dist/utils/tools.js +146 -123
  144. package/dist/utils/tools.js.map +1 -0
  145. package/package.json +32 -40
  146. package/dist/tools/index.d.ts +0 -1
  147. package/dist/types.cjs +0 -2
  148. package/dist/types.js +0 -1
  149. package/dist/utils/errors.d.ts +0 -2
  150. package/dist/utils/headers.cjs +0 -39
  151. package/dist/utils/headers.d.ts +0 -8
  152. package/dist/utils/headers.js +0 -35
  153. package/dist/utils/openai-format-fndef.cjs +0 -80
  154. package/dist/utils/openai-format-fndef.d.ts +0 -44
  155. package/dist/utils/openai-format-fndef.js +0 -77
  156. package/dist/utils/openai.cjs +0 -127
  157. package/dist/utils/openai.d.ts +0 -15
  158. package/dist/utils/openai.js +0 -119
  159. package/index.cjs +0 -1
  160. package/index.d.cts +0 -1
  161. package/index.d.ts +0 -1
  162. package/index.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llms.cjs","names":["BaseLLM","fields?: Partial<OpenAIInput> &\n BaseLLMParams & {\n configuration?: ClientOptions;\n }","options?: this[\"ParsedCallOptions\"]","prompts: string[]","options: this[\"ParsedCallOptions\"]","runManager?: CallbackManagerForLLMRun","choices: OpenAIClient.CompletionChoice[]","tokenUsage: TokenUsage","response: Omit<OpenAIClient.Completion, \"choices\"> | undefined","choices","input: string","GenerationChunk","request:\n | OpenAIClient.CompletionCreateParamsStreaming\n | OpenAIClient.CompletionCreateParamsNonStreaming","options?: OpenAICoreRequestOptions","wrapOpenAIClientError","options: OpenAICoreRequestOptions | undefined","openAIEndpointConfig: OpenAIEndpointConfig","getEndpoint","OpenAIClient"],"sources":["../src/llms.ts"],"sourcesContent":["import type { TiktokenModel } from \"js-tiktoken/lite\";\nimport { type ClientOptions, OpenAI as OpenAIClient } from \"openai\";\nimport { calculateMaxTokens } from \"@langchain/core/language_models/base\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { GenerationChunk, type LLMResult } from \"@langchain/core/outputs\";\nimport { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport {\n BaseLLM,\n type BaseLLMParams,\n} from \"@langchain/core/language_models/llms\";\nimport { chunkArray } from \"@langchain/core/utils/chunk_array\";\nimport type {\n OpenAICallOptions,\n OpenAICoreRequestOptions,\n OpenAIInput,\n} from \"./types.js\";\nimport { OpenAIEndpointConfig, getEndpoint } from \"./utils/azure.js\";\nimport { wrapOpenAIClientError } from \"./utils/client.js\";\n\nexport type { OpenAICallOptions, OpenAIInput };\n\n/**\n * Interface for tracking token usage in OpenAI calls.\n */\ninterface TokenUsage {\n completionTokens?: number;\n promptTokens?: number;\n totalTokens?: number;\n}\n\n/**\n * Wrapper around OpenAI large language models.\n *\n * To use you should have the `openai` package installed, with the\n * `OPENAI_API_KEY` environment variable set.\n *\n * To use with Azure, import the `AzureOpenAI` class.\n *\n * @remarks\n * Any parameters that are valid to be passed to {@link\n * https://platform.openai.com/docs/api-reference/completions/create |\n * `openai.createCompletion`} can be passed through {@link modelKwargs}, even\n * if not explicitly available on this class.\n * @example\n * ```typescript\n * const model = new OpenAI({\n * modelName: \"gpt-4\",\n * temperature: 0.7,\n * maxTokens: 1000,\n * maxRetries: 5,\n * });\n *\n * const res = await model.invoke(\n * \"Question: What would be a good company name for a company that makes colorful socks?\\nAnswer:\"\n * );\n * console.log({ res });\n * ```\n */\nexport class OpenAI<CallOptions extends OpenAICallOptions = OpenAICallOptions>\n extends BaseLLM<CallOptions>\n implements Partial<OpenAIInput>\n{\n static lc_name() {\n return \"OpenAI\";\n }\n\n get callKeys() {\n return [...super.callKeys, \"options\"];\n }\n\n lc_serializable = true;\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n openAIApiKey: \"OPENAI_API_KEY\",\n apiKey: \"OPENAI_API_KEY\",\n organization: \"OPENAI_ORGANIZATION\",\n };\n }\n\n get lc_aliases(): Record<string, string> {\n return {\n modelName: \"model\",\n openAIApiKey: \"openai_api_key\",\n apiKey: \"openai_api_key\",\n };\n }\n\n temperature?: number;\n\n maxTokens?: number;\n\n topP?: number;\n\n frequencyPenalty?: number;\n\n presencePenalty?: number;\n\n n = 1;\n\n bestOf?: number;\n\n logitBias?: Record<string, number>;\n\n model = \"gpt-3.5-turbo-instruct\";\n\n /** @deprecated Use \"model\" instead */\n modelName: string;\n\n modelKwargs?: OpenAIInput[\"modelKwargs\"];\n\n batchSize = 20;\n\n timeout?: number;\n\n stop?: string[];\n\n stopSequences?: string[];\n\n user?: string;\n\n streaming = false;\n\n openAIApiKey?: string;\n\n apiKey?: string;\n\n organization?: string;\n\n protected client: OpenAIClient;\n\n protected clientConfig: ClientOptions;\n\n constructor(\n fields?: Partial<OpenAIInput> &\n BaseLLMParams & {\n configuration?: ClientOptions;\n }\n ) {\n super(fields ?? {});\n\n this.openAIApiKey =\n fields?.apiKey ??\n fields?.openAIApiKey ??\n getEnvironmentVariable(\"OPENAI_API_KEY\");\n this.apiKey = this.openAIApiKey;\n\n this.organization =\n fields?.configuration?.organization ??\n getEnvironmentVariable(\"OPENAI_ORGANIZATION\");\n\n this.model = fields?.model ?? fields?.modelName ?? this.model;\n if (\n (this.model?.startsWith(\"gpt-3.5-turbo\") ||\n this.model?.startsWith(\"gpt-4\") ||\n this.model?.startsWith(\"o1\")) &&\n !this.model?.includes(\"-instruct\")\n ) {\n throw new Error(\n [\n `Your chosen OpenAI model, \"${this.model}\", is a chat model and not a text-in/text-out LLM.`,\n `Passing it into the \"OpenAI\" class is no longer supported.`,\n `Please use the \"ChatOpenAI\" class instead.`,\n \"\",\n `See this page for more information:`,\n \"|\",\n `└> https://js.langchain.com/docs/integrations/chat/openai`,\n ].join(\"\\n\")\n );\n }\n this.modelName = this.model;\n this.modelKwargs = fields?.modelKwargs ?? {};\n this.batchSize = fields?.batchSize ?? this.batchSize;\n this.timeout = fields?.timeout;\n\n this.temperature = fields?.temperature ?? this.temperature;\n this.maxTokens = fields?.maxTokens ?? this.maxTokens;\n this.topP = fields?.topP ?? this.topP;\n this.frequencyPenalty = fields?.frequencyPenalty ?? this.frequencyPenalty;\n this.presencePenalty = fields?.presencePenalty ?? this.presencePenalty;\n this.n = fields?.n ?? this.n;\n this.bestOf = fields?.bestOf ?? this.bestOf;\n this.logitBias = fields?.logitBias;\n this.stop = fields?.stopSequences ?? fields?.stop;\n this.stopSequences = this.stop;\n this.user = fields?.user;\n\n this.streaming = fields?.streaming ?? false;\n\n if (this.streaming && this.bestOf && this.bestOf > 1) {\n throw new Error(\"Cannot stream results when bestOf > 1\");\n }\n\n this.clientConfig = {\n apiKey: this.apiKey,\n organization: this.organization,\n dangerouslyAllowBrowser: true,\n ...fields?.configuration,\n };\n }\n\n /**\n * Get the parameters used to invoke the model\n */\n invocationParams(\n options?: this[\"ParsedCallOptions\"]\n ): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> {\n return {\n model: this.model,\n temperature: this.temperature,\n max_tokens: this.maxTokens,\n top_p: this.topP,\n frequency_penalty: this.frequencyPenalty,\n presence_penalty: this.presencePenalty,\n n: this.n,\n best_of: this.bestOf,\n logit_bias: this.logitBias,\n stop: options?.stop ?? this.stopSequences,\n user: this.user,\n stream: this.streaming,\n ...this.modelKwargs,\n };\n }\n\n /** @ignore */\n _identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> & {\n model_name: string;\n } & ClientOptions {\n return {\n model_name: this.model,\n ...this.invocationParams(),\n ...this.clientConfig,\n };\n }\n\n /**\n * Get the identifying parameters for the model\n */\n identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> & {\n model_name: string;\n } & ClientOptions {\n return this._identifyingParams();\n }\n\n /**\n * Call out to OpenAI's endpoint with k unique prompts\n *\n * @param [prompts] - The prompts to pass into the model.\n * @param [options] - Optional list of stop words to use when generating.\n * @param [runManager] - Optional callback manager to use when generating.\n *\n * @returns The full LLM output.\n *\n * @example\n * ```ts\n * import { OpenAI } from \"langchain/llms/openai\";\n * const openai = new OpenAI();\n * const response = await openai.generate([\"Tell me a joke.\"]);\n * ```\n */\n async _generate(\n prompts: string[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): Promise<LLMResult> {\n const subPrompts = chunkArray(prompts, this.batchSize);\n const choices: OpenAIClient.CompletionChoice[] = [];\n const tokenUsage: TokenUsage = {};\n\n const params = this.invocationParams(options);\n\n if (params.max_tokens === -1) {\n if (prompts.length !== 1) {\n throw new Error(\n \"max_tokens set to -1 not supported for multiple inputs\"\n );\n }\n params.max_tokens = await calculateMaxTokens({\n prompt: prompts[0],\n // Cast here to allow for other models that may not fit the union\n modelName: this.model as TiktokenModel,\n });\n }\n\n for (let i = 0; i < subPrompts.length; i += 1) {\n const data = params.stream\n ? await (async () => {\n const choices: OpenAIClient.CompletionChoice[] = [];\n let response: Omit<OpenAIClient.Completion, \"choices\"> | undefined;\n const stream = await this.completionWithRetry(\n {\n ...params,\n stream: true,\n prompt: subPrompts[i],\n },\n options\n );\n for await (const message of stream) {\n // on the first message set the response properties\n if (!response) {\n response = {\n id: message.id,\n object: message.object,\n created: message.created,\n model: message.model,\n };\n }\n\n // on all messages, update choice\n for (const part of message.choices) {\n if (!choices[part.index]) {\n choices[part.index] = part;\n } else {\n const choice = choices[part.index];\n choice.text += part.text;\n choice.finish_reason = part.finish_reason;\n choice.logprobs = part.logprobs;\n }\n void runManager?.handleLLMNewToken(part.text, {\n prompt: Math.floor(part.index / this.n),\n completion: part.index % this.n,\n });\n }\n }\n if (options.signal?.aborted) {\n throw new Error(\"AbortError\");\n }\n return { ...response, choices };\n })()\n : await this.completionWithRetry(\n {\n ...params,\n stream: false,\n prompt: subPrompts[i],\n },\n {\n signal: options.signal,\n ...options.options,\n }\n );\n\n choices.push(...data.choices);\n const {\n completion_tokens: completionTokens,\n prompt_tokens: promptTokens,\n total_tokens: totalTokens,\n } = data.usage\n ? data.usage\n : {\n completion_tokens: undefined,\n prompt_tokens: undefined,\n total_tokens: undefined,\n };\n\n if (completionTokens) {\n tokenUsage.completionTokens =\n (tokenUsage.completionTokens ?? 0) + completionTokens;\n }\n\n if (promptTokens) {\n tokenUsage.promptTokens = (tokenUsage.promptTokens ?? 0) + promptTokens;\n }\n\n if (totalTokens) {\n tokenUsage.totalTokens = (tokenUsage.totalTokens ?? 0) + totalTokens;\n }\n }\n\n const generations = chunkArray(choices, this.n).map((promptChoices) =>\n promptChoices.map((choice) => ({\n text: choice.text ?? \"\",\n generationInfo: {\n finishReason: choice.finish_reason,\n logprobs: choice.logprobs,\n },\n }))\n );\n return {\n generations,\n llmOutput: { tokenUsage },\n };\n }\n\n // TODO(jacoblee): Refactor with _generate(..., {stream: true}) implementation?\n async *_streamResponseChunks(\n input: string,\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<GenerationChunk> {\n const params = {\n ...this.invocationParams(options),\n prompt: input,\n stream: true as const,\n };\n const stream = await this.completionWithRetry(params, options);\n for await (const data of stream) {\n const choice = data?.choices[0];\n if (!choice) {\n continue;\n }\n const chunk = new GenerationChunk({\n text: choice.text,\n generationInfo: {\n finishReason: choice.finish_reason,\n },\n });\n yield chunk;\n // eslint-disable-next-line no-void\n void runManager?.handleLLMNewToken(chunk.text ?? \"\");\n }\n if (options.signal?.aborted) {\n throw new Error(\"AbortError\");\n }\n }\n\n /**\n * Calls the OpenAI API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n async completionWithRetry(\n request: OpenAIClient.CompletionCreateParamsStreaming,\n options?: OpenAICoreRequestOptions\n ): Promise<AsyncIterable<OpenAIClient.Completion>>;\n\n async completionWithRetry(\n request: OpenAIClient.CompletionCreateParamsNonStreaming,\n options?: OpenAICoreRequestOptions\n ): Promise<OpenAIClient.Completions.Completion>;\n\n async completionWithRetry(\n request:\n | OpenAIClient.CompletionCreateParamsStreaming\n | OpenAIClient.CompletionCreateParamsNonStreaming,\n options?: OpenAICoreRequestOptions\n ): Promise<\n AsyncIterable<OpenAIClient.Completion> | OpenAIClient.Completions.Completion\n > {\n const requestOptions = this._getClientOptions(options);\n return this.caller.call(async () => {\n try {\n const res = await this.client.completions.create(\n request,\n requestOptions\n );\n return res;\n } catch (e) {\n const error = wrapOpenAIClientError(e);\n throw error;\n }\n });\n }\n\n /**\n * Calls the OpenAI API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n protected _getClientOptions(\n options: OpenAICoreRequestOptions | undefined\n ): OpenAICoreRequestOptions {\n if (!this.client) {\n const openAIEndpointConfig: OpenAIEndpointConfig = {\n baseURL: this.clientConfig.baseURL,\n };\n\n const endpoint = getEndpoint(openAIEndpointConfig);\n\n const params = {\n ...this.clientConfig,\n baseURL: endpoint,\n timeout: this.timeout,\n maxRetries: 0,\n };\n\n if (!params.baseURL) {\n delete params.baseURL;\n }\n\n this.client = new OpenAIClient(params);\n }\n const requestOptions = {\n ...this.clientConfig,\n ...options,\n } as OpenAICoreRequestOptions;\n return requestOptions;\n }\n\n _llmType() {\n return \"openai\";\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DA,IAAa,SAAb,cACUA,8CAEV;CACE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,WAAW;AACb,SAAO,CAAC,GAAG,MAAM,UAAU,SAAU;CACtC;CAED,kBAAkB;CAElB,IAAI,aAAoD;AACtD,SAAO;GACL,cAAc;GACd,QAAQ;GACR,cAAc;EACf;CACF;CAED,IAAI,aAAqC;AACvC,SAAO;GACL,WAAW;GACX,cAAc;GACd,QAAQ;EACT;CACF;CAED;CAEA;CAEA;CAEA;CAEA;CAEA,IAAI;CAEJ;CAEA;CAEA,QAAQ;;CAGR;CAEA;CAEA,YAAY;CAEZ;CAEA;CAEA;CAEA;CAEA,YAAY;CAEZ;CAEA;CAEA;CAEA,AAAU;CAEV,AAAU;CAEV,YACEC,QAIA;EACA,MAAM,UAAU,CAAE,EAAC;EAEnB,KAAK,eACH,QAAQ,UACR,QAAQ,uEACe,iBAAiB;EAC1C,KAAK,SAAS,KAAK;EAEnB,KAAK,eACH,QAAQ,eAAe,uEACA,sBAAsB;EAE/C,KAAK,QAAQ,QAAQ,SAAS,QAAQ,aAAa,KAAK;AACxD,OACG,KAAK,OAAO,WAAW,gBAAgB,IACtC,KAAK,OAAO,WAAW,QAAQ,IAC/B,KAAK,OAAO,WAAW,KAAK,KAC9B,CAAC,KAAK,OAAO,SAAS,YAAY,CAElC,OAAM,IAAI,MACR;GACE,CAAC,2BAA2B,EAAE,KAAK,MAAM,kDAAkD,CAAC;GAC5F,CAAC,0DAA0D,CAAC;GAC5D,CAAC,0CAA0C,CAAC;GAC5C;GACA,CAAC,mCAAmC,CAAC;GACrC;GACA,CAAC,yDAAyD,CAAC;EAC5D,EAAC,KAAK,KAAK;EAGhB,KAAK,YAAY,KAAK;EACtB,KAAK,cAAc,QAAQ,eAAe,CAAE;EAC5C,KAAK,YAAY,QAAQ,aAAa,KAAK;EAC3C,KAAK,UAAU,QAAQ;EAEvB,KAAK,cAAc,QAAQ,eAAe,KAAK;EAC/C,KAAK,YAAY,QAAQ,aAAa,KAAK;EAC3C,KAAK,OAAO,QAAQ,QAAQ,KAAK;EACjC,KAAK,mBAAmB,QAAQ,oBAAoB,KAAK;EACzD,KAAK,kBAAkB,QAAQ,mBAAmB,KAAK;EACvD,KAAK,IAAI,QAAQ,KAAK,KAAK;EAC3B,KAAK,SAAS,QAAQ,UAAU,KAAK;EACrC,KAAK,YAAY,QAAQ;EACzB,KAAK,OAAO,QAAQ,iBAAiB,QAAQ;EAC7C,KAAK,gBAAgB,KAAK;EAC1B,KAAK,OAAO,QAAQ;EAEpB,KAAK,YAAY,QAAQ,aAAa;AAEtC,MAAI,KAAK,aAAa,KAAK,UAAU,KAAK,SAAS,EACjD,OAAM,IAAI,MAAM;EAGlB,KAAK,eAAe;GAClB,QAAQ,KAAK;GACb,cAAc,KAAK;GACnB,yBAAyB;GACzB,GAAG,QAAQ;EACZ;CACF;;;;CAKD,iBACEC,SACqD;AACrD,SAAO;GACL,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,YAAY,KAAK;GACjB,OAAO,KAAK;GACZ,mBAAmB,KAAK;GACxB,kBAAkB,KAAK;GACvB,GAAG,KAAK;GACR,SAAS,KAAK;GACd,YAAY,KAAK;GACjB,MAAM,SAAS,QAAQ,KAAK;GAC5B,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,GAAG,KAAK;EACT;CACF;;CAGD,qBAEkB;AAChB,SAAO;GACL,YAAY,KAAK;GACjB,GAAG,KAAK,kBAAkB;GAC1B,GAAG,KAAK;EACT;CACF;;;;CAKD,oBAEkB;AAChB,SAAO,KAAK,oBAAoB;CACjC;;;;;;;;;;;;;;;;;CAkBD,MAAM,UACJC,SACAC,SACAC,YACoB;EACpB,MAAM,gEAAwB,SAAS,KAAK,UAAU;EACtD,MAAMC,UAA2C,CAAE;EACnD,MAAMC,aAAyB,CAAE;EAEjC,MAAM,SAAS,KAAK,iBAAiB,QAAQ;AAE7C,MAAI,OAAO,eAAe,IAAI;AAC5B,OAAI,QAAQ,WAAW,EACrB,OAAM,IAAI,MACR;GAGJ,OAAO,aAAa,oEAAyB;IAC3C,QAAQ,QAAQ;IAEhB,WAAW,KAAK;GACjB,EAAC;EACH;AAED,OAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;GAC7C,MAAM,OAAO,OAAO,SAChB,OAAO,YAAY;IACjB,MAAMD,YAA2C,CAAE;IACnD,IAAIE;IACJ,MAAM,SAAS,MAAM,KAAK,oBACxB;KACE,GAAG;KACH,QAAQ;KACR,QAAQ,WAAW;IACpB,GACD,QACD;AACD,eAAW,MAAM,WAAW,QAAQ;AAElC,SAAI,CAAC,UACH,WAAW;MACT,IAAI,QAAQ;MACZ,QAAQ,QAAQ;MAChB,SAAS,QAAQ;MACjB,OAAO,QAAQ;KAChB;AAIH,UAAK,MAAM,QAAQ,QAAQ,SAAS;AAClC,UAAI,CAACC,UAAQ,KAAK,QAChBA,UAAQ,KAAK,SAAS;WACjB;OACL,MAAM,SAASA,UAAQ,KAAK;OAC5B,OAAO,QAAQ,KAAK;OACpB,OAAO,gBAAgB,KAAK;OAC5B,OAAO,WAAW,KAAK;MACxB;MACI,YAAY,kBAAkB,KAAK,MAAM;OAC5C,QAAQ,KAAK,MAAM,KAAK,QAAQ,KAAK,EAAE;OACvC,YAAY,KAAK,QAAQ,KAAK;MAC/B,EAAC;KACH;IACF;AACD,QAAI,QAAQ,QAAQ,QAClB,OAAM,IAAI,MAAM;AAElB,WAAO;KAAE,GAAG;KAAU;IAAS;GAChC,IAAG,GACJ,MAAM,KAAK,oBACT;IACE,GAAG;IACH,QAAQ;IACR,QAAQ,WAAW;GACpB,GACD;IACE,QAAQ,QAAQ;IAChB,GAAG,QAAQ;GACZ,EACF;GAEL,QAAQ,KAAK,GAAG,KAAK,QAAQ;GAC7B,MAAM,EACJ,mBAAmB,kBACnB,eAAe,cACf,cAAc,aACf,GAAG,KAAK,QACL,KAAK,QACL;IACE,mBAAmB;IACnB,eAAe;IACf,cAAc;GACf;AAEL,OAAI,kBACF,WAAW,oBACR,WAAW,oBAAoB,KAAK;AAGzC,OAAI,cACF,WAAW,gBAAgB,WAAW,gBAAgB,KAAK;AAG7D,OAAI,aACF,WAAW,eAAe,WAAW,eAAe,KAAK;EAE5D;EAED,MAAM,iEAAyB,SAAS,KAAK,EAAE,CAAC,IAAI,CAAC,kBACnD,cAAc,IAAI,CAAC,YAAY;GAC7B,MAAM,OAAO,QAAQ;GACrB,gBAAgB;IACd,cAAc,OAAO;IACrB,UAAU,OAAO;GAClB;EACF,GAAE,CACJ;AACD,SAAO;GACL;GACA,WAAW,EAAE,WAAY;EAC1B;CACF;CAGD,OAAO,sBACLC,OACAN,SACAC,YACiC;EACjC,MAAM,SAAS;GACb,GAAG,KAAK,iBAAiB,QAAQ;GACjC,QAAQ;GACR,QAAQ;EACT;EACD,MAAM,SAAS,MAAM,KAAK,oBAAoB,QAAQ,QAAQ;AAC9D,aAAW,MAAM,QAAQ,QAAQ;GAC/B,MAAM,SAAS,MAAM,QAAQ;AAC7B,OAAI,CAAC,OACH;GAEF,MAAM,QAAQ,IAAIM,yCAAgB;IAChC,MAAM,OAAO;IACb,gBAAgB,EACd,cAAc,OAAO,cACtB;GACF;GACD,MAAM;GAED,YAAY,kBAAkB,MAAM,QAAQ,GAAG;EACrD;AACD,MAAI,QAAQ,QAAQ,QAClB,OAAM,IAAI,MAAM;CAEnB;CAkBD,MAAM,oBACJC,SAGAC,SAGA;EACA,MAAM,iBAAiB,KAAK,kBAAkB,QAAQ;AACtD,SAAO,KAAK,OAAO,KAAK,YAAY;AAClC,OAAI;IACF,MAAM,MAAM,MAAM,KAAK,OAAO,YAAY,OACxC,SACA,eACD;AACD,WAAO;GACR,SAAQ,GAAG;IACV,MAAM,QAAQC,qCAAsB,EAAE;AACtC,UAAM;GACP;EACF,EAAC;CACH;;;;;;;CAQD,AAAU,kBACRC,SAC0B;AAC1B,MAAI,CAAC,KAAK,QAAQ;GAChB,MAAMC,uBAA6C,EACjD,SAAS,KAAK,aAAa,QAC5B;GAED,MAAM,WAAWC,0BAAY,qBAAqB;GAElD,MAAM,SAAS;IACb,GAAG,KAAK;IACR,SAAS;IACT,SAAS,KAAK;IACd,YAAY;GACb;AAED,OAAI,CAAC,OAAO,SACV,OAAO,OAAO;GAGhB,KAAK,SAAS,IAAIC,cAAa;EAChC;EACD,MAAM,iBAAiB;GACrB,GAAG,KAAK;GACR,GAAG;EACJ;AACD,SAAO;CACR;CAED,WAAW;AACT,SAAO;CACR;AACF"}
@@ -0,0 +1,123 @@
1
+ import { OpenAICallOptions, OpenAICoreRequestOptions, OpenAIInput } from "./types.cjs";
2
+ import { ClientOptions, OpenAI as OpenAI$1 } from "openai";
3
+ import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
4
+ import { GenerationChunk, LLMResult } from "@langchain/core/outputs";
5
+ import { BaseLLM, BaseLLMParams } from "@langchain/core/language_models/llms";
6
+
7
+ //#region src/llms.d.ts
8
+
9
+ /**
10
+ * Wrapper around OpenAI large language models.
11
+ *
12
+ * To use you should have the `openai` package installed, with the
13
+ * `OPENAI_API_KEY` environment variable set.
14
+ *
15
+ * To use with Azure, import the `AzureOpenAI` class.
16
+ *
17
+ * @remarks
18
+ * Any parameters that are valid to be passed to {@link
19
+ * https://platform.openai.com/docs/api-reference/completions/create |
20
+ * `openai.createCompletion`} can be passed through {@link modelKwargs}, even
21
+ * if not explicitly available on this class.
22
+ * @example
23
+ * ```typescript
24
+ * const model = new OpenAI({
25
+ * modelName: "gpt-4",
26
+ * temperature: 0.7,
27
+ * maxTokens: 1000,
28
+ * maxRetries: 5,
29
+ * });
30
+ *
31
+ * const res = await model.invoke(
32
+ * "Question: What would be a good company name for a company that makes colorful socks?\nAnswer:"
33
+ * );
34
+ * console.log({ res });
35
+ * ```
36
+ */
37
+ declare class OpenAI$2<CallOptions extends OpenAICallOptions = OpenAICallOptions> extends BaseLLM<CallOptions> implements Partial<OpenAIInput> {
38
+ static lc_name(): string;
39
+ get callKeys(): string[];
40
+ lc_serializable: boolean;
41
+ get lc_secrets(): {
42
+ [key: string]: string;
43
+ } | undefined;
44
+ get lc_aliases(): Record<string, string>;
45
+ temperature?: number;
46
+ maxTokens?: number;
47
+ topP?: number;
48
+ frequencyPenalty?: number;
49
+ presencePenalty?: number;
50
+ n: number;
51
+ bestOf?: number;
52
+ logitBias?: Record<string, number>;
53
+ model: string;
54
+ /** @deprecated Use "model" instead */
55
+ modelName: string;
56
+ modelKwargs?: OpenAIInput["modelKwargs"];
57
+ batchSize: number;
58
+ timeout?: number;
59
+ stop?: string[];
60
+ stopSequences?: string[];
61
+ user?: string;
62
+ streaming: boolean;
63
+ openAIApiKey?: string;
64
+ apiKey?: string;
65
+ organization?: string;
66
+ protected client: OpenAI$1;
67
+ protected clientConfig: ClientOptions;
68
+ constructor(fields?: Partial<OpenAIInput> & BaseLLMParams & {
69
+ configuration?: ClientOptions;
70
+ });
71
+ /**
72
+ * Get the parameters used to invoke the model
73
+ */
74
+ invocationParams(options?: this["ParsedCallOptions"]): Omit<OpenAI$1.CompletionCreateParams, "prompt">;
75
+ /** @ignore */
76
+ _identifyingParams(): Omit<OpenAI$1.CompletionCreateParams, "prompt"> & {
77
+ model_name: string;
78
+ } & ClientOptions;
79
+ /**
80
+ * Get the identifying parameters for the model
81
+ */
82
+ identifyingParams(): Omit<OpenAI$1.CompletionCreateParams, "prompt"> & {
83
+ model_name: string;
84
+ } & ClientOptions;
85
+ /**
86
+ * Call out to OpenAI's endpoint with k unique prompts
87
+ *
88
+ * @param [prompts] - The prompts to pass into the model.
89
+ * @param [options] - Optional list of stop words to use when generating.
90
+ * @param [runManager] - Optional callback manager to use when generating.
91
+ *
92
+ * @returns The full LLM output.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { OpenAI } from "langchain/llms/openai";
97
+ * const openai = new OpenAI();
98
+ * const response = await openai.generate(["Tell me a joke."]);
99
+ * ```
100
+ */
101
+ _generate(prompts: string[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<LLMResult>;
102
+ // TODO(jacoblee): Refactor with _generate(..., {stream: true}) implementation?
103
+ _streamResponseChunks(input: string, options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;
104
+ /**
105
+ * Calls the OpenAI API with retry logic in case of failures.
106
+ * @param request The request to send to the OpenAI API.
107
+ * @param options Optional configuration for the API call.
108
+ * @returns The response from the OpenAI API.
109
+ */
110
+ completionWithRetry(request: OpenAI$1.CompletionCreateParamsStreaming, options?: OpenAICoreRequestOptions): Promise<AsyncIterable<OpenAI$1.Completion>>;
111
+ completionWithRetry(request: OpenAI$1.CompletionCreateParamsNonStreaming, options?: OpenAICoreRequestOptions): Promise<OpenAI$1.Completions.Completion>;
112
+ /**
113
+ * Calls the OpenAI API with retry logic in case of failures.
114
+ * @param request The request to send to the OpenAI API.
115
+ * @param options Optional configuration for the API call.
116
+ * @returns The response from the OpenAI API.
117
+ */
118
+ protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
119
+ _llmType(): string;
120
+ }
121
+ //#endregion
122
+ export { OpenAI$2 as OpenAI };
123
+ //# sourceMappingURL=llms.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llms.d.cts","names":["ClientOptions","OpenAI","OpenAIClient","CallbackManagerForLLMRun","GenerationChunk","LLMResult","BaseLLM","BaseLLMParams","OpenAICallOptions","OpenAICoreRequestOptions","OpenAIInput","CallOptions","Record","Partial","CompletionCreateParams","Omit","Promise","AsyncGenerator","CompletionCreateParamsStreaming","Completion","AsyncIterable","CompletionCreateParamsNonStreaming","Completions"],"sources":["../src/llms.d.ts"],"sourcesContent":["import { type ClientOptions, OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { GenerationChunk, type LLMResult } from \"@langchain/core/outputs\";\nimport { BaseLLM, type BaseLLMParams } from \"@langchain/core/language_models/llms\";\nimport type { OpenAICallOptions, OpenAICoreRequestOptions, OpenAIInput } from \"./types.js\";\nexport type { OpenAICallOptions, OpenAIInput };\n/**\n * Wrapper around OpenAI large language models.\n *\n * To use you should have the `openai` package installed, with the\n * `OPENAI_API_KEY` environment variable set.\n *\n * To use with Azure, import the `AzureOpenAI` class.\n *\n * @remarks\n * Any parameters that are valid to be passed to {@link\n * https://platform.openai.com/docs/api-reference/completions/create |\n * `openai.createCompletion`} can be passed through {@link modelKwargs}, even\n * if not explicitly available on this class.\n * @example\n * ```typescript\n * const model = new OpenAI({\n * modelName: \"gpt-4\",\n * temperature: 0.7,\n * maxTokens: 1000,\n * maxRetries: 5,\n * });\n *\n * const res = await model.invoke(\n * \"Question: What would be a good company name for a company that makes colorful socks?\\nAnswer:\"\n * );\n * console.log({ res });\n * ```\n */\nexport declare class OpenAI<CallOptions extends OpenAICallOptions = OpenAICallOptions> extends BaseLLM<CallOptions> implements Partial<OpenAIInput> {\n static lc_name(): string;\n get callKeys(): string[];\n lc_serializable: boolean;\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n get lc_aliases(): Record<string, string>;\n temperature?: number;\n maxTokens?: number;\n topP?: number;\n frequencyPenalty?: number;\n presencePenalty?: number;\n n: number;\n bestOf?: number;\n logitBias?: Record<string, number>;\n model: string;\n /** @deprecated Use \"model\" instead */\n modelName: string;\n modelKwargs?: OpenAIInput[\"modelKwargs\"];\n batchSize: number;\n timeout?: number;\n stop?: string[];\n stopSequences?: string[];\n user?: string;\n streaming: boolean;\n openAIApiKey?: string;\n apiKey?: string;\n organization?: string;\n protected client: OpenAIClient;\n protected clientConfig: ClientOptions;\n constructor(fields?: Partial<OpenAIInput> & BaseLLMParams & {\n configuration?: ClientOptions;\n });\n /**\n * Get the parameters used to invoke the model\n */\n invocationParams(options?: this[\"ParsedCallOptions\"]): Omit<OpenAIClient.CompletionCreateParams, \"prompt\">;\n /** @ignore */\n _identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> & {\n model_name: string;\n } & ClientOptions;\n /**\n * Get the identifying parameters for the model\n */\n identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> & {\n model_name: string;\n } & ClientOptions;\n /**\n * Call out to OpenAI's endpoint with k unique prompts\n *\n * @param [prompts] - The prompts to pass into the model.\n * @param [options] - Optional list of stop words to use when generating.\n * @param [runManager] - Optional callback manager to use when generating.\n *\n * @returns The full LLM output.\n *\n * @example\n * ```ts\n * import { OpenAI } from \"langchain/llms/openai\";\n * const openai = new OpenAI();\n * const response = await openai.generate([\"Tell me a joke.\"]);\n * ```\n */\n _generate(prompts: string[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<LLMResult>;\n // TODO(jacoblee): Refactor with _generate(..., {stream: true}) implementation?\n _streamResponseChunks(input: string, options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;\n /**\n * Calls the OpenAI API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.CompletionCreateParamsStreaming, options?: OpenAICoreRequestOptions): Promise<AsyncIterable<OpenAIClient.Completion>>;\n completionWithRetry(request: OpenAIClient.CompletionCreateParamsNonStreaming, options?: OpenAICoreRequestOptions): Promise<OpenAIClient.Completions.Completion>;\n /**\n * Calls the OpenAI API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;\n _llmType(): string;\n}\n"],"mappings":";;;;;;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEoII,cAlE/GH,QAkE+GG,CAAAA,oBAlEpFI,iBAkEoFJ,GAlEhEI,iBAkEgEJ,CAAAA,SAlErCE,OAkEqCF,CAlE7BO,WAkE6BP,CAAAA,YAlELS,OAkEKT,CAlEGM,WAkEHN,CAAAA,CAAAA;EAAe,OAA9Ba,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAc,IAOlGf,QAAagB,CAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAA+B,eAAYT,EAAAA,OAAAA;EAAwB,IAAyBP,UAAaiB,CAAAA,CAAAA,EAAAA;IAA3BC,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAAa,CAAA,GAArBJ,SAAAA;EAAO,IAC1Fd,UAAamB,CAAAA,CAAAA,EAnExBT,MAmEwBS,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;EAAkC,WAAYZ,CAAAA,EAAAA,MAAAA;EAAwB,SAAWP,CAAAA,EAAaoB,MAAAA;EAAsB,IAA3CN,CAAAA,EAAAA,MAAAA;EAAO,gBAOrFP,CAAAA,EAAAA,MAAAA;EAAwB,eAAeA,CAAAA,EAAAA,MAAAA;EAAwB,CAAA,EAjFTH,MAAAA;EAAO,MAAyBO,CAAAA,EAAAA,MAAAA;EAAO,SAAA,CAAA,EAetHD,MAfsH,CAAA,MAAA,EAAA,MAAA,CAAA;;;;gBAmBpHF;;;;;;;;;;oBAUIR;0BACMF;uBACHa,QAAQH,eAAeH;oBACxBP;;;;;yDAKmCe,KAAKb,QAAAA,CAAaY;;wBAEnDC,KAAKb,QAAAA,CAAaY;;MAEpCd;;;;uBAIiBe,KAAKb,QAAAA,CAAaY;;MAEnCd;;;;;;;;;;;;;;;;;gFAiB0EG,2BAA2Ba,QAAQX;;wFAE3BF,2BAA2Bc,eAAeb;;;;;;;+BAOnGF,QAAAA,CAAagB,2CAA2CT,2BAA2BO,QAAQI,cAAclB,QAAAA,CAAaiB;+BACtHjB,QAAAA,CAAamB,8CAA8CZ,2BAA2BO,QAAQd,QAAAA,CAAaoB,WAAAA,CAAYH;;;;;;;uCAO/GV,uCAAuCA"}
package/dist/llms.d.ts CHANGED
@@ -1,9 +1,11 @@
1
- import { type ClientOptions, OpenAI as OpenAIClient } from "openai";
1
+ import { OpenAICallOptions, OpenAICoreRequestOptions, OpenAIInput } from "./types.js";
2
+ import { ClientOptions, OpenAI as OpenAI$1 } from "openai";
3
+ import { GenerationChunk, LLMResult } from "@langchain/core/outputs";
4
+ import { BaseLLM, BaseLLMParams } from "@langchain/core/language_models/llms";
2
5
  import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
3
- import { GenerationChunk, type LLMResult } from "@langchain/core/outputs";
4
- import { BaseLLM, type BaseLLMParams } from "@langchain/core/language_models/llms";
5
- import type { OpenAICallOptions, OpenAICoreRequestOptions, OpenAIInput } from "./types.js";
6
- export type { OpenAICallOptions, OpenAIInput };
6
+
7
+ //#region src/llms.d.ts
8
+
7
9
  /**
8
10
  * Wrapper around OpenAI large language models.
9
11
  *
@@ -32,86 +34,90 @@ export type { OpenAICallOptions, OpenAIInput };
32
34
  * console.log({ res });
33
35
  * ```
34
36
  */
35
- export declare class OpenAI<CallOptions extends OpenAICallOptions = OpenAICallOptions> extends BaseLLM<CallOptions> implements Partial<OpenAIInput> {
36
- static lc_name(): string;
37
- get callKeys(): string[];
38
- lc_serializable: boolean;
39
- get lc_secrets(): {
40
- [key: string]: string;
41
- } | undefined;
42
- get lc_aliases(): Record<string, string>;
43
- temperature?: number;
44
- maxTokens?: number;
45
- topP?: number;
46
- frequencyPenalty?: number;
47
- presencePenalty?: number;
48
- n: number;
49
- bestOf?: number;
50
- logitBias?: Record<string, number>;
51
- model: string;
52
- /** @deprecated Use "model" instead */
53
- modelName: string;
54
- modelKwargs?: OpenAIInput["modelKwargs"];
55
- batchSize: number;
56
- timeout?: number;
57
- stop?: string[];
58
- stopSequences?: string[];
59
- user?: string;
60
- streaming: boolean;
61
- openAIApiKey?: string;
62
- apiKey?: string;
63
- organization?: string;
64
- protected client: OpenAIClient;
65
- protected clientConfig: ClientOptions;
66
- constructor(fields?: Partial<OpenAIInput> & BaseLLMParams & {
67
- configuration?: ClientOptions;
68
- });
69
- /**
70
- * Get the parameters used to invoke the model
71
- */
72
- invocationParams(options?: this["ParsedCallOptions"]): Omit<OpenAIClient.CompletionCreateParams, "prompt">;
73
- /** @ignore */
74
- _identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, "prompt"> & {
75
- model_name: string;
76
- } & ClientOptions;
77
- /**
78
- * Get the identifying parameters for the model
79
- */
80
- identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, "prompt"> & {
81
- model_name: string;
82
- } & ClientOptions;
83
- /**
84
- * Call out to OpenAI's endpoint with k unique prompts
85
- *
86
- * @param [prompts] - The prompts to pass into the model.
87
- * @param [options] - Optional list of stop words to use when generating.
88
- * @param [runManager] - Optional callback manager to use when generating.
89
- *
90
- * @returns The full LLM output.
91
- *
92
- * @example
93
- * ```ts
94
- * import { OpenAI } from "langchain/llms/openai";
95
- * const openai = new OpenAI();
96
- * const response = await openai.generate(["Tell me a joke."]);
97
- * ```
98
- */
99
- _generate(prompts: string[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<LLMResult>;
100
- _streamResponseChunks(input: string, options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;
101
- /**
102
- * Calls the OpenAI API with retry logic in case of failures.
103
- * @param request The request to send to the OpenAI API.
104
- * @param options Optional configuration for the API call.
105
- * @returns The response from the OpenAI API.
106
- */
107
- completionWithRetry(request: OpenAIClient.CompletionCreateParamsStreaming, options?: OpenAICoreRequestOptions): Promise<AsyncIterable<OpenAIClient.Completion>>;
108
- completionWithRetry(request: OpenAIClient.CompletionCreateParamsNonStreaming, options?: OpenAICoreRequestOptions): Promise<OpenAIClient.Completions.Completion>;
109
- /**
110
- * Calls the OpenAI API with retry logic in case of failures.
111
- * @param request The request to send to the OpenAI API.
112
- * @param options Optional configuration for the API call.
113
- * @returns The response from the OpenAI API.
114
- */
115
- protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
116
- _llmType(): string;
37
+ declare class OpenAI$2<CallOptions extends OpenAICallOptions = OpenAICallOptions> extends BaseLLM<CallOptions> implements Partial<OpenAIInput> {
38
+ static lc_name(): string;
39
+ get callKeys(): string[];
40
+ lc_serializable: boolean;
41
+ get lc_secrets(): {
42
+ [key: string]: string;
43
+ } | undefined;
44
+ get lc_aliases(): Record<string, string>;
45
+ temperature?: number;
46
+ maxTokens?: number;
47
+ topP?: number;
48
+ frequencyPenalty?: number;
49
+ presencePenalty?: number;
50
+ n: number;
51
+ bestOf?: number;
52
+ logitBias?: Record<string, number>;
53
+ model: string;
54
+ /** @deprecated Use "model" instead */
55
+ modelName: string;
56
+ modelKwargs?: OpenAIInput["modelKwargs"];
57
+ batchSize: number;
58
+ timeout?: number;
59
+ stop?: string[];
60
+ stopSequences?: string[];
61
+ user?: string;
62
+ streaming: boolean;
63
+ openAIApiKey?: string;
64
+ apiKey?: string;
65
+ organization?: string;
66
+ protected client: OpenAI$1;
67
+ protected clientConfig: ClientOptions;
68
+ constructor(fields?: Partial<OpenAIInput> & BaseLLMParams & {
69
+ configuration?: ClientOptions;
70
+ });
71
+ /**
72
+ * Get the parameters used to invoke the model
73
+ */
74
+ invocationParams(options?: this["ParsedCallOptions"]): Omit<OpenAI$1.CompletionCreateParams, "prompt">;
75
+ /** @ignore */
76
+ _identifyingParams(): Omit<OpenAI$1.CompletionCreateParams, "prompt"> & {
77
+ model_name: string;
78
+ } & ClientOptions;
79
+ /**
80
+ * Get the identifying parameters for the model
81
+ */
82
+ identifyingParams(): Omit<OpenAI$1.CompletionCreateParams, "prompt"> & {
83
+ model_name: string;
84
+ } & ClientOptions;
85
+ /**
86
+ * Call out to OpenAI's endpoint with k unique prompts
87
+ *
88
+ * @param [prompts] - The prompts to pass into the model.
89
+ * @param [options] - Optional list of stop words to use when generating.
90
+ * @param [runManager] - Optional callback manager to use when generating.
91
+ *
92
+ * @returns The full LLM output.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { OpenAI } from "langchain/llms/openai";
97
+ * const openai = new OpenAI();
98
+ * const response = await openai.generate(["Tell me a joke."]);
99
+ * ```
100
+ */
101
+ _generate(prompts: string[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<LLMResult>;
102
+ // TODO(jacoblee): Refactor with _generate(..., {stream: true}) implementation?
103
+ _streamResponseChunks(input: string, options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;
104
+ /**
105
+ * Calls the OpenAI API with retry logic in case of failures.
106
+ * @param request The request to send to the OpenAI API.
107
+ * @param options Optional configuration for the API call.
108
+ * @returns The response from the OpenAI API.
109
+ */
110
+ completionWithRetry(request: OpenAI$1.CompletionCreateParamsStreaming, options?: OpenAICoreRequestOptions): Promise<AsyncIterable<OpenAI$1.Completion>>;
111
+ completionWithRetry(request: OpenAI$1.CompletionCreateParamsNonStreaming, options?: OpenAICoreRequestOptions): Promise<OpenAI$1.Completions.Completion>;
112
+ /**
113
+ * Calls the OpenAI API with retry logic in case of failures.
114
+ * @param request The request to send to the OpenAI API.
115
+ * @param options Optional configuration for the API call.
116
+ * @returns The response from the OpenAI API.
117
+ */
118
+ protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;
119
+ _llmType(): string;
117
120
  }
121
+ //#endregion
122
+ export { OpenAI$2 as OpenAI };
123
+ //# sourceMappingURL=llms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llms.d.ts","names":["ClientOptions","OpenAI","OpenAIClient","CallbackManagerForLLMRun","GenerationChunk","LLMResult","BaseLLM","BaseLLMParams","OpenAICallOptions","OpenAICoreRequestOptions","OpenAIInput","CallOptions","Record","Partial","CompletionCreateParams","Omit","Promise","AsyncGenerator","CompletionCreateParamsStreaming","Completion","AsyncIterable","CompletionCreateParamsNonStreaming","Completions"],"sources":["../src/llms.d.ts"],"sourcesContent":["import { type ClientOptions, OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { GenerationChunk, type LLMResult } from \"@langchain/core/outputs\";\nimport { BaseLLM, type BaseLLMParams } from \"@langchain/core/language_models/llms\";\nimport type { OpenAICallOptions, OpenAICoreRequestOptions, OpenAIInput } from \"./types.js\";\nexport type { OpenAICallOptions, OpenAIInput };\n/**\n * Wrapper around OpenAI large language models.\n *\n * To use you should have the `openai` package installed, with the\n * `OPENAI_API_KEY` environment variable set.\n *\n * To use with Azure, import the `AzureOpenAI` class.\n *\n * @remarks\n * Any parameters that are valid to be passed to {@link\n * https://platform.openai.com/docs/api-reference/completions/create |\n * `openai.createCompletion`} can be passed through {@link modelKwargs}, even\n * if not explicitly available on this class.\n * @example\n * ```typescript\n * const model = new OpenAI({\n * modelName: \"gpt-4\",\n * temperature: 0.7,\n * maxTokens: 1000,\n * maxRetries: 5,\n * });\n *\n * const res = await model.invoke(\n * \"Question: What would be a good company name for a company that makes colorful socks?\\nAnswer:\"\n * );\n * console.log({ res });\n * ```\n */\nexport declare class OpenAI<CallOptions extends OpenAICallOptions = OpenAICallOptions> extends BaseLLM<CallOptions> implements Partial<OpenAIInput> {\n static lc_name(): string;\n get callKeys(): string[];\n lc_serializable: boolean;\n get lc_secrets(): {\n [key: string]: string;\n } | undefined;\n get lc_aliases(): Record<string, string>;\n temperature?: number;\n maxTokens?: number;\n topP?: number;\n frequencyPenalty?: number;\n presencePenalty?: number;\n n: number;\n bestOf?: number;\n logitBias?: Record<string, number>;\n model: string;\n /** @deprecated Use \"model\" instead */\n modelName: string;\n modelKwargs?: OpenAIInput[\"modelKwargs\"];\n batchSize: number;\n timeout?: number;\n stop?: string[];\n stopSequences?: string[];\n user?: string;\n streaming: boolean;\n openAIApiKey?: string;\n apiKey?: string;\n organization?: string;\n protected client: OpenAIClient;\n protected clientConfig: ClientOptions;\n constructor(fields?: Partial<OpenAIInput> & BaseLLMParams & {\n configuration?: ClientOptions;\n });\n /**\n * Get the parameters used to invoke the model\n */\n invocationParams(options?: this[\"ParsedCallOptions\"]): Omit<OpenAIClient.CompletionCreateParams, \"prompt\">;\n /** @ignore */\n _identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> & {\n model_name: string;\n } & ClientOptions;\n /**\n * Get the identifying parameters for the model\n */\n identifyingParams(): Omit<OpenAIClient.CompletionCreateParams, \"prompt\"> & {\n model_name: string;\n } & ClientOptions;\n /**\n * Call out to OpenAI's endpoint with k unique prompts\n *\n * @param [prompts] - The prompts to pass into the model.\n * @param [options] - Optional list of stop words to use when generating.\n * @param [runManager] - Optional callback manager to use when generating.\n *\n * @returns The full LLM output.\n *\n * @example\n * ```ts\n * import { OpenAI } from \"langchain/llms/openai\";\n * const openai = new OpenAI();\n * const response = await openai.generate([\"Tell me a joke.\"]);\n * ```\n */\n _generate(prompts: string[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<LLMResult>;\n // TODO(jacoblee): Refactor with _generate(..., {stream: true}) implementation?\n _streamResponseChunks(input: string, options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;\n /**\n * Calls the OpenAI API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.CompletionCreateParamsStreaming, options?: OpenAICoreRequestOptions): Promise<AsyncIterable<OpenAIClient.Completion>>;\n completionWithRetry(request: OpenAIClient.CompletionCreateParamsNonStreaming, options?: OpenAICoreRequestOptions): Promise<OpenAIClient.Completions.Completion>;\n /**\n * Calls the OpenAI API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n protected _getClientOptions(options: OpenAICoreRequestOptions | undefined): OpenAICoreRequestOptions;\n _llmType(): string;\n}\n"],"mappings":";;;;;;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEoII,cAlE/GH,QAkE+GG,CAAAA,oBAlEpFI,iBAkEoFJ,GAlEhEI,iBAkEgEJ,CAAAA,SAlErCE,OAkEqCF,CAlE7BO,WAkE6BP,CAAAA,YAlELS,OAkEKT,CAlEGM,WAkEHN,CAAAA,CAAAA;EAAe,OAA9Ba,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAc,IAOlGf,QAAagB,CAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAA+B,eAAYT,EAAAA,OAAAA;EAAwB,IAAyBP,UAAaiB,CAAAA,CAAAA,EAAAA;IAA3BC,CAAAA,GAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAAa,CAAA,GAArBJ,SAAAA;EAAO,IAC1Fd,UAAamB,CAAAA,CAAAA,EAnExBT,MAmEwBS,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA;EAAkC,WAAYZ,CAAAA,EAAAA,MAAAA;EAAwB,SAAWP,CAAAA,EAAaoB,MAAAA;EAAsB,IAA3CN,CAAAA,EAAAA,MAAAA;EAAO,gBAOrFP,CAAAA,EAAAA,MAAAA;EAAwB,eAAeA,CAAAA,EAAAA,MAAAA;EAAwB,CAAA,EAjFTH,MAAAA;EAAO,MAAyBO,CAAAA,EAAAA,MAAAA;EAAO,SAAA,CAAA,EAetHD,MAfsH,CAAA,MAAA,EAAA,MAAA,CAAA;;;;gBAmBpHF;;;;;;;;;;oBAUIR;0BACMF;uBACHa,QAAQH,eAAeH;oBACxBP;;;;;yDAKmCe,KAAKb,QAAAA,CAAaY;;wBAEnDC,KAAKb,QAAAA,CAAaY;;MAEpCd;;;;uBAIiBe,KAAKb,QAAAA,CAAaY;;MAEnCd;;;;;;;;;;;;;;;;;gFAiB0EG,2BAA2Ba,QAAQX;;wFAE3BF,2BAA2Bc,eAAeb;;;;;;;+BAOnGF,QAAAA,CAAagB,2CAA2CT,2BAA2BO,QAAQI,cAAclB,QAAAA,CAAaiB;+BACtHjB,QAAAA,CAAamB,8CAA8CZ,2BAA2BO,QAAQd,QAAAA,CAAaoB,WAAAA,CAAYH;;;;;;;uCAO/GV,uCAAuCA"}