@langchain/openai 0.0.22 → 0.0.24

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.
@@ -106,14 +106,26 @@ delta, defaultRole) {
106
106
  }
107
107
  function convertMessagesToOpenAIParams(messages) {
108
108
  // TODO: Function messages do not support array content, fix cast
109
- return messages.map((message) => ({
110
- role: messageToOpenAIRole(message),
111
- content: message.content,
112
- name: message.name,
113
- function_call: message.additional_kwargs.function_call,
114
- tool_calls: message.additional_kwargs.tool_calls,
115
- tool_call_id: message.tool_call_id,
116
- }));
109
+ return messages.map((message) => {
110
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
+ const completionParam = {
112
+ role: messageToOpenAIRole(message),
113
+ content: message.content,
114
+ };
115
+ if (message.name != null) {
116
+ completionParam.name = message.name;
117
+ }
118
+ if (message.additional_kwargs.function_call != null) {
119
+ completionParam.function_call = message.additional_kwargs.function_call;
120
+ }
121
+ if (message.additional_kwargs.tool_calls != null) {
122
+ completionParam.tool_calls = message.additional_kwargs.tool_calls;
123
+ }
124
+ if (message.tool_call_id != null) {
125
+ completionParam.tool_call_id = message.tool_call_id;
126
+ }
127
+ return completionParam;
128
+ });
117
129
  }
118
130
  /**
119
131
  * Wrapper around OpenAI large language models that use the Chat endpoint.
@@ -806,7 +818,7 @@ class ChatOpenAI extends chat_models_1.BaseChatModel {
806
818
  }
807
819
  else {
808
820
  openAIFunctionDefinition = {
809
- name: functionName,
821
+ name: schema.title ?? functionName,
810
822
  description: schema.description ?? "",
811
823
  parameters: schema,
812
824
  };
@@ -102,14 +102,26 @@ delta, defaultRole) {
102
102
  }
103
103
  function convertMessagesToOpenAIParams(messages) {
104
104
  // TODO: Function messages do not support array content, fix cast
105
- return messages.map((message) => ({
106
- role: messageToOpenAIRole(message),
107
- content: message.content,
108
- name: message.name,
109
- function_call: message.additional_kwargs.function_call,
110
- tool_calls: message.additional_kwargs.tool_calls,
111
- tool_call_id: message.tool_call_id,
112
- }));
105
+ return messages.map((message) => {
106
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
+ const completionParam = {
108
+ role: messageToOpenAIRole(message),
109
+ content: message.content,
110
+ };
111
+ if (message.name != null) {
112
+ completionParam.name = message.name;
113
+ }
114
+ if (message.additional_kwargs.function_call != null) {
115
+ completionParam.function_call = message.additional_kwargs.function_call;
116
+ }
117
+ if (message.additional_kwargs.tool_calls != null) {
118
+ completionParam.tool_calls = message.additional_kwargs.tool_calls;
119
+ }
120
+ if (message.tool_call_id != null) {
121
+ completionParam.tool_call_id = message.tool_call_id;
122
+ }
123
+ return completionParam;
124
+ });
113
125
  }
114
126
  /**
115
127
  * Wrapper around OpenAI large language models that use the Chat endpoint.
@@ -802,7 +814,7 @@ export class ChatOpenAI extends BaseChatModel {
802
814
  }
803
815
  else {
804
816
  openAIFunctionDefinition = {
805
- name: functionName,
817
+ name: schema.title ?? functionName,
806
818
  description: schema.description ?? "",
807
819
  parameters: schema,
808
820
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/openai",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "OpenAI integrations for LangChain.js",
5
5
  "type": "module",
6
6
  "engines": {