@langchain/openai 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -14,7 +14,7 @@ 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
- exports.toFile = exports.OpenAIClient = void 0;
17
+ exports.convertPromptToOpenAI = exports.toFile = exports.OpenAIClient = void 0;
18
18
  var openai_1 = require("openai");
19
19
  Object.defineProperty(exports, "OpenAIClient", { enumerable: true, get: function () { return openai_1.OpenAI; } });
20
20
  Object.defineProperty(exports, "toFile", { enumerable: true, get: function () { return openai_1.toFile; } });
@@ -28,3 +28,5 @@ __exportStar(require("./types.cjs"), exports);
28
28
  __exportStar(require("./utils/openai.cjs"), exports);
29
29
  __exportStar(require("./utils/azure.cjs"), exports);
30
30
  __exportStar(require("./tools/index.cjs"), exports);
31
+ var prompts_js_1 = require("./utils/prompts.cjs");
32
+ Object.defineProperty(exports, "convertPromptToOpenAI", { enumerable: true, get: function () { return prompts_js_1.convertPromptToOpenAI; } });
package/dist/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from "./types.js";
9
9
  export * from "./utils/openai.js";
10
10
  export * from "./utils/azure.js";
11
11
  export * from "./tools/index.js";
12
+ export { convertPromptToOpenAI } from "./utils/prompts.js";
package/dist/index.js CHANGED
@@ -9,3 +9,4 @@ export * from "./types.js";
9
9
  export * from "./utils/openai.js";
10
10
  export * from "./utils/azure.js";
11
11
  export * from "./tools/index.js";
12
+ export { convertPromptToOpenAI } from "./utils/prompts.js";
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertPromptToOpenAI = void 0;
4
+ const chat_models_js_1 = require("../chat_models.cjs");
5
+ /**
6
+ * Convert a formatted LangChain prompt (e.g. pulled from the hub) into
7
+ * a format expected by OpenAI's JS SDK.
8
+ *
9
+ * Requires the "@langchain/openai" package to be installed in addition
10
+ * to the OpenAI SDK.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { convertPromptToOpenAI } from "langsmith/utils/hub/openai";
15
+ * import { pull } from "langchain/hub";
16
+ *
17
+ * import OpenAI from 'openai';
18
+ *
19
+ * const prompt = await pull("jacob/joke-generator");
20
+ * const formattedPrompt = await prompt.invoke({
21
+ * topic: "cats",
22
+ * });
23
+ *
24
+ * const { messages } = convertPromptToOpenAI(formattedPrompt);
25
+ *
26
+ * const openAIClient = new OpenAI();
27
+ *
28
+ * const openaiResponse = await openAIClient.chat.completions.create({
29
+ * model: "gpt-4o",
30
+ * messages,
31
+ * });
32
+ * ```
33
+ * @param formattedPrompt
34
+ * @returns A partial OpenAI payload.
35
+ */
36
+ function convertPromptToOpenAI(formattedPrompt) {
37
+ const messages = formattedPrompt.toChatMessages();
38
+ return {
39
+ messages: (0, chat_models_js_1._convertMessagesToOpenAIParams)(messages),
40
+ };
41
+ }
42
+ exports.convertPromptToOpenAI = convertPromptToOpenAI;
@@ -0,0 +1,36 @@
1
+ import type { BasePromptValue } from "@langchain/core/prompt_values";
2
+ import type { OpenAI } from "openai";
3
+ /**
4
+ * Convert a formatted LangChain prompt (e.g. pulled from the hub) into
5
+ * a format expected by OpenAI's JS SDK.
6
+ *
7
+ * Requires the "@langchain/openai" package to be installed in addition
8
+ * to the OpenAI SDK.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { convertPromptToOpenAI } from "langsmith/utils/hub/openai";
13
+ * import { pull } from "langchain/hub";
14
+ *
15
+ * import OpenAI from 'openai';
16
+ *
17
+ * const prompt = await pull("jacob/joke-generator");
18
+ * const formattedPrompt = await prompt.invoke({
19
+ * topic: "cats",
20
+ * });
21
+ *
22
+ * const { messages } = convertPromptToOpenAI(formattedPrompt);
23
+ *
24
+ * const openAIClient = new OpenAI();
25
+ *
26
+ * const openaiResponse = await openAIClient.chat.completions.create({
27
+ * model: "gpt-4o",
28
+ * messages,
29
+ * });
30
+ * ```
31
+ * @param formattedPrompt
32
+ * @returns A partial OpenAI payload.
33
+ */
34
+ export declare function convertPromptToOpenAI(formattedPrompt: BasePromptValue): {
35
+ messages: OpenAI.Chat.ChatCompletionMessageParam[];
36
+ };
@@ -0,0 +1,38 @@
1
+ import { _convertMessagesToOpenAIParams } from "../chat_models.js";
2
+ /**
3
+ * Convert a formatted LangChain prompt (e.g. pulled from the hub) into
4
+ * a format expected by OpenAI's JS SDK.
5
+ *
6
+ * Requires the "@langchain/openai" package to be installed in addition
7
+ * to the OpenAI SDK.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { convertPromptToOpenAI } from "langsmith/utils/hub/openai";
12
+ * import { pull } from "langchain/hub";
13
+ *
14
+ * import OpenAI from 'openai';
15
+ *
16
+ * const prompt = await pull("jacob/joke-generator");
17
+ * const formattedPrompt = await prompt.invoke({
18
+ * topic: "cats",
19
+ * });
20
+ *
21
+ * const { messages } = convertPromptToOpenAI(formattedPrompt);
22
+ *
23
+ * const openAIClient = new OpenAI();
24
+ *
25
+ * const openaiResponse = await openAIClient.chat.completions.create({
26
+ * model: "gpt-4o",
27
+ * messages,
28
+ * });
29
+ * ```
30
+ * @param formattedPrompt
31
+ * @returns A partial OpenAI payload.
32
+ */
33
+ export function convertPromptToOpenAI(formattedPrompt) {
34
+ const messages = formattedPrompt.toChatMessages();
35
+ return {
36
+ messages: _convertMessagesToOpenAIParams(messages),
37
+ };
38
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/openai",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "OpenAI integrations for LangChain.js",
5
5
  "type": "module",
6
6
  "engines": {