@proteinjs/conversation 1.3.0 → 1.4.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.4.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.3.0...@proteinjs/conversation@1.4.0) (2024-07-11)
7
+
8
+
9
+ ### Features
10
+
11
+ * updated `Function` and `OpenAi` to adopt the new `tools` api (replacing legacy function api) ([e77013f](https://github.com/proteinjs/conversation/commit/e77013f20af9e857fadbf9cb3709eb7325b601d3))
12
+
13
+
14
+
15
+
16
+
6
17
  # [1.3.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.2.2...@proteinjs/conversation@1.3.0) (2024-07-11)
7
18
 
8
19
 
@@ -1,6 +1,6 @@
1
- import { ChatCompletionCreateParams } from 'openai/resources/chat';
1
+ import { ChatCompletionTool } from 'openai/resources/chat';
2
2
  export interface Function {
3
- definition: ChatCompletionCreateParams.Function;
3
+ definition: ChatCompletionTool['function'];
4
4
  call(obj: any): Promise<any>;
5
5
  instructions?: string[];
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../src/Function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,0BAA0B,CAAC,QAAQ,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../src/Function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -10,6 +10,7 @@ export declare class OpenAi {
10
10
  static generateResponseHelper(messages: (string | ChatCompletionMessageParam)[], currentFunctionCalls: number, model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], logLevel?: LogLevel, maxFunctionCalls?: number): Promise<string>;
11
11
  private static moderateHistory;
12
12
  private static executeRequest;
13
+ private static callTools;
13
14
  private static callFunction;
14
15
  static generateCode(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
15
16
  static updateCode(code: string, description: string, model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,0BAA0B,EAAkB,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAU,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,eAAO,MAAM,aAAa,EAAE,aAA+B,CAAC;AAC5D,qBAAa,MAAM;WACJ,gBAAgB,CAC3B,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,QAAQ,GAAE,QAAiB,EAC3B,gBAAgB,GAAE,MAAW,GAC5B,OAAO,CAAC,MAAM,CAAC;WAaL,sBAAsB,CACjC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,oBAAoB,EAAE,MAAM,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,QAAQ,GAAE,QAAiB,EAC3B,gBAAgB,GAAE,MAAW,GAC5B,OAAO,CAAC,MAAM,CAAC;IAgDlB,OAAO,CAAC,MAAM,CAAC,eAAe;mBAQT,cAAc;mBA2Dd,YAAY;WAuDpB,YAAY,CACvB,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB;WAuBhB,UAAU,CACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB;IAa7B,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAI9D,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM;WA6B5B,YAAY,CACvB,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBrB"}
1
+ {"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAI3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAU,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,eAAO,MAAM,aAAa,EAAE,aAA+B,CAAC;AAC5D,qBAAa,MAAM;WACJ,gBAAgB,CAC3B,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,QAAQ,GAAE,QAAiB,EAC3B,gBAAgB,GAAE,MAAW,GAC5B,OAAO,CAAC,MAAM,CAAC;WAaL,sBAAsB,CACjC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,oBAAoB,EAAE,MAAM,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,QAAQ,GAAE,QAAiB,EAC3B,gBAAgB,GAAE,MAAW,GAC5B,OAAO,CAAC,MAAM,CAAC;IAgDlB,OAAO,CAAC,MAAM,CAAC,eAAe;mBAQT,cAAc;mBAgEd,SAAS;mBAeT,YAAY;WA0CpB,YAAY,CACvB,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB;WAuBhB,UAAU,CACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB;IAa7B,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAI9D,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM;WA6B5B,YAAY,CACvB,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EACjD,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAC5C,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,qBAAqB,GAAE,OAAc,EACrC,QAAQ,GAAE,QAAiB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;CAkBrB"}
@@ -35,6 +35,15 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
38
47
  Object.defineProperty(exports, "__esModule", { value: true });
39
48
  exports.OpenAi = exports.DEFAULT_MODEL = void 0;
40
49
  var openai_1 = require("openai");
@@ -63,7 +72,7 @@ var OpenAi = /** @class */ (function () {
63
72
  if (logLevel === void 0) { logLevel = 'info'; }
64
73
  if (maxFunctionCalls === void 0) { maxFunctionCalls = 50; }
65
74
  return __awaiter(this, void 0, void 0, function () {
66
- var logger, messageParams, messageParamsWithHistory, response, responseMessage, functionReturnMessage, responseText;
75
+ var logger, messageParams, messageParamsWithHistory, response, responseMessage, toolMessageParams, responseText;
67
76
  return __generator(this, function (_a) {
68
77
  switch (_a.label) {
69
78
  case 0:
@@ -85,16 +94,16 @@ var OpenAi = /** @class */ (function () {
85
94
  case 1:
86
95
  response = _a.sent();
87
96
  responseMessage = response.choices[0].message;
88
- if (!responseMessage.function_call) return [3 /*break*/, 4];
97
+ if (!responseMessage.tool_calls) return [3 /*break*/, 4];
89
98
  if (currentFunctionCalls >= maxFunctionCalls) {
90
99
  throw new Error("Max function calls (".concat(maxFunctionCalls, ") reached. Stopping execution."));
91
100
  }
92
101
  messageParamsWithHistory.push([responseMessage]);
93
- return [4 /*yield*/, this.callFunction(logLevel, responseMessage.function_call, functions)];
102
+ return [4 /*yield*/, this.callTools(logLevel, responseMessage.tool_calls, functions)];
94
103
  case 2:
95
- functionReturnMessage = _a.sent();
96
- messageParamsWithHistory.push([functionReturnMessage]);
97
- return [4 /*yield*/, this.generateResponseHelper([], currentFunctionCalls + 1, model, messageParamsWithHistory, functions, messageModerators, logLevel, maxFunctionCalls)];
104
+ toolMessageParams = _a.sent();
105
+ messageParamsWithHistory.push(__spreadArray([], toolMessageParams, true));
106
+ return [4 /*yield*/, this.generateResponseHelper([], currentFunctionCalls + responseMessage.tool_calls.length, model, messageParamsWithHistory, functions, messageModerators, logLevel, maxFunctionCalls)];
98
107
  case 3: return [2 /*return*/, _a.sent()];
99
108
  case 4:
100
109
  responseText = responseMessage.content;
@@ -140,7 +149,10 @@ var OpenAi = /** @class */ (function () {
140
149
  model: model ? model : exports.DEFAULT_MODEL,
141
150
  temperature: 0,
142
151
  messages: messageParamsWithHistory.getMessages(),
143
- functions: functions === null || functions === void 0 ? void 0 : functions.map(function (f) { return f.definition; }),
152
+ tools: functions === null || functions === void 0 ? void 0 : functions.map(function (f) { return ({
153
+ type: 'function',
154
+ function: f.definition,
155
+ }); }),
144
156
  })];
145
157
  case 2:
146
158
  response = _a.sent();
@@ -148,8 +160,8 @@ var OpenAi = /** @class */ (function () {
148
160
  if (responseMessage.content) {
149
161
  logger.info("Received response: ".concat(responseMessage.content));
150
162
  }
151
- else if (responseMessage.function_call) {
152
- logger.info("Received response: call ".concat(responseMessage.function_call.name, " function"));
163
+ else if (responseMessage.tool_calls) {
164
+ logger.info("Received response: call functions: ".concat(JSON.stringify(responseMessage.tool_calls.map(function (toolCall) { return toolCall.function.name; }))));
153
165
  }
154
166
  else {
155
167
  logger.info("Received response");
@@ -181,60 +193,70 @@ var OpenAi = /** @class */ (function () {
181
193
  });
182
194
  });
183
195
  };
184
- OpenAi.callFunction = function (logLevel, functionCall, functions) {
196
+ OpenAi.callTools = function (logLevel, toolCalls, functions) {
197
+ return __awaiter(this, void 0, void 0, function () {
198
+ var toolMessageParams;
199
+ var _this = this;
200
+ return __generator(this, function (_a) {
201
+ switch (_a.label) {
202
+ case 0: return [4 /*yield*/, Promise.all(toolCalls.map(function (toolCall) { return __awaiter(_this, void 0, void 0, function () {
203
+ var serializedReturnObject;
204
+ return __generator(this, function (_a) {
205
+ switch (_a.label) {
206
+ case 0: return [4 /*yield*/, OpenAi.callFunction(logLevel, toolCall.function, toolCall.id, functions)];
207
+ case 1:
208
+ serializedReturnObject = _a.sent();
209
+ return [2 /*return*/, { role: 'tool', tool_call_id: toolCall.id, content: serializedReturnObject }];
210
+ }
211
+ });
212
+ }); }))];
213
+ case 1:
214
+ toolMessageParams = _a.sent();
215
+ return [2 /*return*/, toolMessageParams];
216
+ }
217
+ });
218
+ });
219
+ };
220
+ OpenAi.callFunction = function (logLevel, functionCall, functionCallId, functions) {
185
221
  return __awaiter(this, void 0, void 0, function () {
186
- var logger, warning, message, f, warning, message, returnObject, _a, _b, error_2, errorMessage;
222
+ var logger, error, f, error, returnObject, _a, _b, error_2, errorMessage;
187
223
  return __generator(this, function (_c) {
188
224
  switch (_c.label) {
189
225
  case 0:
190
226
  logger = new util_1.Logger('OpenAi.callFunction', logLevel);
191
227
  if (!functions) {
192
- warning = "Assistant attempted to call a function when no functions were provided";
193
- logger.warn(warning);
194
- message = { role: 'user', content: warning };
195
- return [2 /*return*/, message];
228
+ error = "Assistant attempted to call a function when no functions were provided";
229
+ logger.error(error);
230
+ return [2 /*return*/, JSON.stringify({ error: error })];
196
231
  }
197
232
  functionCall.name = functionCall.name.split('.').pop();
198
233
  f = functions.find(function (f) { return f.definition.name === functionCall.name; });
199
234
  if (!f) {
200
- warning = "Assistant attempted to call nonexistent function: ".concat(functionCall.name);
201
- logger.warn(warning);
202
- message = { role: 'user', content: warning };
203
- return [2 /*return*/, message];
235
+ error = "Assistant attempted to call nonexistent function: ".concat(functionCall.name);
236
+ logger.error(error);
237
+ return [2 /*return*/, JSON.stringify({ error: error })];
204
238
  }
205
239
  returnObject = null;
206
240
  _c.label = 1;
207
241
  case 1:
208
242
  _c.trys.push([1, 3, , 4]);
209
- logger.info("Assistant calling function: ".concat(f.definition.name, "(").concat(functionCall.arguments, ")"));
243
+ logger.info("Assistant calling function: (".concat(functionCallId, ") ").concat(f.definition.name, "(").concat(functionCall.arguments, ")"), 1000);
210
244
  _b = (_a = JSON).stringify;
211
245
  return [4 /*yield*/, f.call(JSON.parse(functionCall.arguments))];
212
246
  case 2:
213
247
  returnObject = _b.apply(_a, [_c.sent()]);
214
- logger.info("Assistant called function: ".concat(f.definition.name, "(").concat(functionCall.arguments, ") => ").concat(returnObject), 1000);
248
+ logger.info("Assistant called function: (".concat(functionCallId, ") ").concat(f.definition.name, " => ").concat(returnObject), 1000);
215
249
  return [3 /*break*/, 4];
216
250
  case 3:
217
251
  error_2 = _c.sent();
218
252
  errorMessage = "Error occurred while executing function ".concat(f.definition.name, ": ").concat(error_2.message);
219
253
  logger.error(errorMessage);
220
- return [2 /*return*/, {
221
- role: 'function',
222
- name: f.definition.name,
223
- content: JSON.stringify({ error: errorMessage }),
224
- }];
254
+ return [2 /*return*/, JSON.stringify({ error: errorMessage })];
225
255
  case 4:
226
256
  if (!returnObject) {
227
- return [2 /*return*/, {
228
- role: 'function',
229
- name: f.definition.name,
230
- content: JSON.stringify({ result: 'Function with no return value executed successfully' }),
231
- }];
257
+ return [2 /*return*/, JSON.stringify({ result: 'Function with no return value executed successfully' })];
232
258
  }
233
- return [2 /*return*/, {
234
- role: 'function',
235
- name: f.definition.name,
236
- content: returnObject,
237
- }];
259
+ return [2 /*return*/, returnObject];
238
260
  }
239
261
  });
240
262
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAi.js","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA6C;AAE7C,wCAAmD;AAGnD,2DAA0D;AAG1D,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;AAC3D,CAAC;AAEY,QAAA,aAAa,GAAkB,eAAe,CAAC;AAC5D;IAAA;IAuTA,CAAC;IAtTc,uBAAgB,GAA7B,UACE,QAAiD,EACjD,KAAc,EACd,OAAwB,EACxB,SAA4C,EAC5C,iBAAsC,EACtC,QAA2B,EAC3B,gBAA6B;QAD7B,yBAAA,EAAA,iBAA2B;QAC3B,iCAAA,EAAA,qBAA6B;;;;4BAEtB,qBAAM,IAAI,CAAC,sBAAsB,CACtC,QAAQ,EACR,CAAC,EACD,KAAK,EACL,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,CACjB,EAAA;4BATD,sBAAO,SASN,EAAC;;;;KACH;IAEY,6BAAsB,GAAnC,UACE,QAAiD,EACjD,oBAA4B,EAC5B,KAAc,EACd,OAAwB,EACxB,SAA4C,EAC5C,iBAAsC,EACtC,QAA2B,EAC3B,gBAA6B;QAD7B,yBAAA,EAAA,iBAA2B;QAC3B,iCAAA,EAAA,qBAA6B;;;;;;wBAEvB,MAAM,GAAG,IAAI,aAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;wBACzD,aAAa,GAAiC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO;4BACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gCAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;6BAC3C;4BAED,OAAO,OAAO,CAAC;wBACjB,CAAC,CAAC,CAAC;wBACH,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;yBAC7B;wBACG,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,+BAAc,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAC5F,IAAI,iBAAiB,EAAE;4BACrB,wBAAwB,GAAG,MAAM,CAAC,eAAe,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;yBAChG;wBACgB,qBAAM,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAA;;wBAA5F,QAAQ,GAAG,SAAiF;wBAC5F,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;6BAChD,eAAe,CAAC,aAAa,EAA7B,wBAA6B;wBAC/B,IAAI,oBAAoB,IAAI,gBAAgB,EAAE;4BAC5C,MAAM,IAAI,KAAK,CAAC,8BAAuB,gBAAgB,mCAAgC,CAAC,CAAC;yBAC1F;wBAED,wBAAwB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;wBACnB,qBAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC,EAAA;;wBAAnG,qBAAqB,GAAG,SAA2E;wBACzG,wBAAwB,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;wBAEhD,qBAAM,IAAI,CAAC,sBAAsB,CACtC,EAAE,EACF,oBAAoB,GAAG,CAAC,EACxB,KAAK,EACL,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,CACjB,EAAA;4BATD,sBAAO,SASN,EAAC;;wBAGE,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC;wBAC7C,IAAI,CAAC,YAAY,EAAE;4BACjB,MAAM,IAAI,KAAK,CAAC,2CAAoC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;yBAC5E;wBAED,wBAAwB,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;wBACjD,sBAAO,YAAY,EAAC;;;;KACrB;IAEc,sBAAe,GAA9B,UAA+B,OAAuB,EAAE,iBAAqC;QAC3F,KAA+B,UAAiB,EAAjB,uCAAiB,EAAjB,+BAAiB,EAAjB,IAAiB,EAAE;YAA7C,IAAM,gBAAgB,0BAAA;YACzB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;SACtE;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEoB,qBAAc,GAAnC,UACE,wBAAwC,EACxC,QAAkB,EAClB,SAA4C,EAC5C,KAAc;;;;;;wBAER,MAAM,GAAG,IAAI,aAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;wBACvD,SAAS,GAAG,IAAI,eAAS,EAAE,CAAC;;;;wBAG1B,aAAa,GAAG,wBAAwB,CAAC,WAAW,EAAE,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAChH,IAAI,aAAa,CAAC,OAAO,EAAE;4BACzB,MAAM,CAAC,IAAI,CAAC,2BAAoB,aAAa,CAAC,OAAO,CAAE,CAAC,CAAC;yBAC1D;6BAAM,IAAI,aAAa,CAAC,IAAI,IAAI,UAAU,EAAE;4BAC3C,MAAM,CAAC,IAAI,CAAC,+CAAwC,aAAa,CAAC,IAAI,cAAW,CAAC,CAAC;yBACpF;6BAAM;4BACL,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;yBAChC;wBACD,MAAM,CAAC,KAAK,CAAC,4BAAqB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;wBAChG,qBAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gCACjD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAa;gCACpC,WAAW,EAAE,CAAC;gCACd,QAAQ,EAAE,wBAAwB,CAAC,WAAW,EAAE;gCAChD,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAZ,CAAY,CAAC;6BAC/C,CAAC,EAAA;;wBALF,QAAQ,GAAG,SAKT,CAAC;wBACG,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBACpD,IAAI,eAAe,CAAC,OAAO,EAAE;4BAC3B,MAAM,CAAC,IAAI,CAAC,6BAAsB,eAAe,CAAC,OAAO,CAAE,CAAC,CAAC;yBAC9D;6BAAM,IAAI,eAAe,CAAC,aAAa,EAAE;4BACxC,MAAM,CAAC,IAAI,CAAC,kCAA2B,eAAe,CAAC,aAAa,CAAC,IAAI,cAAW,CAAC,CAAC;yBACvF;6BAAM;4BACL,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;yBAClC;wBACD,IAAI,QAAQ,CAAC,KAAK,EAAE;4BAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;yBAC7C;6BAAM;4BACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;yBACnD;;;;wBAED,MAAM,CAAC,IAAI,CAAC,+CAAwC,OAAK,CAAC,IAAI,CAAE,CAAC,CAAC;6BAC9D,CAAA,OAAO,OAAK,CAAC,MAAM,KAAK,WAAW,IAAI,OAAK,CAAC,MAAM,IAAI,GAAG,CAAA,EAA1D,wBAA0D;6BACxD,CAAA,OAAK,CAAC,IAAI,IAAI,QAAQ,IAAI,OAAO,OAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,KAAK,QAAQ,CAAA,EAAvF,wBAAuF;wBACnF,QAAQ,GAAG,QAAQ,CAAC,OAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;wBAC/D,eAAe,GAAG,OAAK,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;wBAChE,OAAO,GAAG,KAAK,CAAC;wBACtB,MAAM,CAAC,IAAI,CACT,8BAAuB,OAAO,GAAG,IAAI,gCAAsB,QAAQ,kCAAwB,eAAe,CAAE,CAC7G,CAAC;wBACF,qBAAM,KAAK,CAAC,OAAO,CAAC,EAAA;;wBAApB,SAAoB,CAAC;wBACd,qBAAM,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAA;4BAAxF,sBAAO,SAAiF,EAAC;4BAI7F,MAAM,OAAK,CAAC;4BAGd,sBAAO,QAAQ,EAAC;;;;KACjB;IAEoB,mBAAY,GAAjC,UACE,QAAkB,EAClB,YAAgD,EAChD,SAA4C;;;;;;wBAEtC,MAAM,GAAG,IAAI,aAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;wBAC3D,IAAI,CAAC,SAAS,EAAE;4BACR,OAAO,GAAG,wEAAwE,CAAC;4BACzF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BACf,OAAO,GAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;4BAC/E,sBAAO,OAAO,EAAC;yBAChB;wBAED,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAY,CAAC;wBAC3D,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAvC,CAAuC,CAAC,CAAC;wBACzE,IAAI,CAAC,CAAC,EAAE;4BACA,OAAO,GAAG,4DAAqD,YAAY,CAAC,IAAI,CAAE,CAAC;4BACzF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BACf,OAAO,GAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;4BAC/E,sBAAO,OAAO,EAAC;yBAChB;wBAEG,YAAY,GAAG,IAAI,CAAC;;;;wBAEtB,MAAM,CAAC,IAAI,CAAC,sCAA+B,CAAC,CAAC,UAAU,CAAC,IAAI,cAAI,YAAY,CAAC,SAAS,MAAG,CAAC,CAAC;wBAC5E,KAAA,CAAA,KAAA,IAAI,CAAA,CAAC,SAAS,CAAA;wBAAC,qBAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAA;;wBAA9E,YAAY,GAAG,cAAe,SAAgD,EAAC,CAAC;wBAChF,MAAM,CAAC,IAAI,CACT,qCAA8B,CAAC,CAAC,UAAU,CAAC,IAAI,cAAI,YAAY,CAAC,SAAS,kBAAQ,YAAY,CAAE,EAC/F,IAAI,CACL,CAAC;;;;wBAEI,YAAY,GAAG,kDAA2C,CAAC,CAAC,UAAU,CAAC,IAAI,eAAK,OAAK,CAAC,OAAO,CAAE,CAAC;wBACtG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBAC3B,sBAAO;gCACL,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;gCACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;6BACjD,EAAC;;wBAGJ,IAAI,CAAC,YAAY,EAAE;4BACjB,sBAAO;oCACL,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;oCACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qDAAqD,EAAE,CAAC;iCAC3F,EAAC;yBACH;wBAED,sBAAO;gCACL,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;gCACvB,OAAO,EAAE,YAAY;6BACtB,EAAC;;;;KACH;IAEY,mBAAY,GAAzB,UACE,QAAiD,EACjD,KAAc,EACd,OAAwB,EACxB,SAA4C,EAC5C,iBAAsC,EACtC,qBAAqC,EACrC,QAA2B;QAD3B,sCAAA,EAAA,4BAAqC;QACrC,yBAAA,EAAA,iBAA2B;;;;;;wBAErB,cAAc,GAAiC;4BACnD;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,6FAA6F;6BACvG;4BACD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE;4BACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qDAAqD,EAAE;4BAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,6CAA6C,EAAE;4BAC1E,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uCAAuC,EAAE;yBACrE,CAAC;wBACI,eAAe,GAAG,OAAO;4BAC7B,CAAC,CAAC,qBAAqB;gCACrB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;gCAC9B,CAAC,CAAC,OAAO;4BACX,CAAC,CAAC,qBAAqB;gCACrB,CAAC,CAAC,IAAI,+BAAc,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;gCAC3C,CAAC,CAAC,SAAS,CAAC;wBACH,qBAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAA;;wBAA5G,IAAI,GAAG,SAAqG;wBAClH,sBAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC;;;;KACzC;IAEY,iBAAU,GAAvB,UACE,IAAY,EACZ,WAAmB,EACnB,KAAc,EACd,OAAwB,EACxB,SAA4C,EAC5C,iBAAsC,EACtC,qBAAqC,EACrC,QAA2B;QAD3B,sCAAA,EAAA,4BAAqC;QACrC,yBAAA,EAAA,iBAA2B;;;;4BAEpB,qBAAM,IAAI,CAAC,YAAY,CAC5B,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAC/C,KAAK,EACL,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,CACT,EAAA;4BARD,sBAAO,SAQN,EAAC;;;;KACH;IAEM,4BAAqB,GAA5B,UAA6B,IAAY,EAAE,WAAmB;QAC5D,OAAO,+BAAwB,IAAI,iBAAO,WAAW,CAAE,CAAC;IAC1D,CAAC;IAEM,4BAAqB,GAA5B,UAA6B,IAAY;QACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QAED,IAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAmB,UAAgB,EAAhB,KAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAhB,cAAgB,EAAhB,IAAgB,EAAE;YAAhC,IAAM,IAAI,SAAA;YACb,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC1B,WAAW,GAAG,CAAC,WAAW,CAAC;gBAC3B,IAAI,CAAC,WAAW,EAAE;oBAChB,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACxB;gBAED,SAAS;aACV;YAED,IAAI,WAAW,EAAE;gBACf,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;SACF;QAED,2CAA2C;QAC3C,0CAA0C;QAC1C,aAAa,CAAC,GAAG,EAAE,CAAC;QAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEY,mBAAY,GAAzB,UACE,QAAiD,EACjD,KAAc,EACd,OAAwB,EACxB,SAA4C,EAC5C,iBAAsC,EACtC,qBAAqC,EACrC,QAA2B;QAD3B,sCAAA,EAAA,4BAAqC;QACrC,yBAAA,EAAA,iBAA2B;;;;;;wBAErB,cAAc,GAAiC;4BACnD;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,oGAAoG;6BAC9G;4BACD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uCAAuC,EAAE;yBACrE,CAAC;wBACI,eAAe,GAAG,OAAO;4BAC7B,CAAC,CAAC,qBAAqB;gCACrB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;gCAC9B,CAAC,CAAC,OAAO;4BACX,CAAC,CAAC,qBAAqB;gCACrB,CAAC,CAAC,IAAI,+BAAc,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;gCAC3C,CAAC,CAAC,SAAS,CAAC;wBACH,qBAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAA;;wBAA5G,IAAI,GAAG,SAAqG;wBAClH,sBAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,EAAE,EAAX,CAAW,CAAC,EAAC;;;;KACnD;IACH,aAAC;AAAD,CAAC,AAvTD,IAuTC;AAvTY,wBAAM"}
1
+ {"version":3,"file":"OpenAi.js","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/conversation",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "publishConfig": {
@@ -36,5 +36,5 @@
36
36
  "tiktoken": "1.0.15",
37
37
  "typescript": "5.2.2"
38
38
  },
39
- "gitHead": "0c379d7a330eb11266f7552a648003cb5a0a0a9a"
39
+ "gitHead": "ecb8490364b69eeeb70902c353f43ebbb0696a9a"
40
40
  }
package/src/Function.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { ChatCompletionCreateParams } from 'openai/resources/chat';
1
+ import { ChatCompletionTool } from 'openai/resources/chat';
2
2
 
3
3
  export interface Function {
4
- definition: ChatCompletionCreateParams.Function;
4
+ definition: ChatCompletionTool['function'];
5
5
  call(obj: any): Promise<any>;
6
6
  instructions?: string[];
7
7
  }
package/src/OpenAi.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import { OpenAI as OpenAIApi } from 'openai';
2
- import { ChatCompletionMessage, ChatCompletionMessageParam, ChatCompletion } from 'openai/resources/chat';
2
+ import {
3
+ ChatCompletionMessageParam,
4
+ ChatCompletion,
5
+ ChatCompletionMessageToolCall,
6
+ ChatCompletionToolMessageParam,
7
+ } from 'openai/resources/chat';
3
8
  import { LogLevel, Logger } from '@proteinjs/util';
4
9
  import { MessageModerator } from './history/MessageModerator';
5
10
  import { Function } from './Function';
@@ -60,18 +65,18 @@ export class OpenAi {
60
65
  }
61
66
  const response = await OpenAi.executeRequest(messageParamsWithHistory, logLevel, functions, model);
62
67
  const responseMessage = response.choices[0].message;
63
- if (responseMessage.function_call) {
68
+ if (responseMessage.tool_calls) {
64
69
  if (currentFunctionCalls >= maxFunctionCalls) {
65
70
  throw new Error(`Max function calls (${maxFunctionCalls}) reached. Stopping execution.`);
66
71
  }
67
72
 
68
73
  messageParamsWithHistory.push([responseMessage]);
69
- const functionReturnMessage = await this.callFunction(logLevel, responseMessage.function_call, functions);
70
- messageParamsWithHistory.push([functionReturnMessage]);
74
+ const toolMessageParams = await this.callTools(logLevel, responseMessage.tool_calls, functions);
75
+ messageParamsWithHistory.push([...toolMessageParams]);
71
76
 
72
77
  return await this.generateResponseHelper(
73
78
  [],
74
- currentFunctionCalls + 1,
79
+ currentFunctionCalls + responseMessage.tool_calls.length,
75
80
  model,
76
81
  messageParamsWithHistory,
77
82
  functions,
@@ -121,13 +126,18 @@ export class OpenAi {
121
126
  model: model ? model : DEFAULT_MODEL,
122
127
  temperature: 0,
123
128
  messages: messageParamsWithHistory.getMessages(),
124
- functions: functions?.map((f) => f.definition),
129
+ tools: functions?.map((f) => ({
130
+ type: 'function',
131
+ function: f.definition,
132
+ })),
125
133
  });
126
134
  const responseMessage = response.choices[0].message;
127
135
  if (responseMessage.content) {
128
136
  logger.info(`Received response: ${responseMessage.content}`);
129
- } else if (responseMessage.function_call) {
130
- logger.info(`Received response: call ${responseMessage.function_call.name} function`);
137
+ } else if (responseMessage.tool_calls) {
138
+ logger.info(
139
+ `Received response: call functions: ${JSON.stringify(responseMessage.tool_calls.map((toolCall) => toolCall.function.name))}`
140
+ );
131
141
  } else {
132
142
  logger.info(`Received response`);
133
143
  }
@@ -157,59 +167,61 @@ export class OpenAi {
157
167
  return response;
158
168
  }
159
169
 
170
+ private static async callTools(
171
+ logLevel: LogLevel,
172
+ toolCalls: ChatCompletionMessageToolCall[],
173
+ functions?: Omit<Function, 'instructions'>[]
174
+ ): Promise<ChatCompletionToolMessageParam[]> {
175
+ const toolMessageParams: ChatCompletionToolMessageParam[] = await Promise.all(
176
+ toolCalls.map(async (toolCall) => {
177
+ const serializedReturnObject = await OpenAi.callFunction(logLevel, toolCall.function, toolCall.id, functions);
178
+ return { role: 'tool', tool_call_id: toolCall.id, content: serializedReturnObject };
179
+ })
180
+ );
181
+
182
+ return toolMessageParams;
183
+ }
184
+
160
185
  private static async callFunction(
161
186
  logLevel: LogLevel,
162
- functionCall: ChatCompletionMessage.FunctionCall,
187
+ functionCall: ChatCompletionMessageToolCall.Function,
188
+ functionCallId: string,
163
189
  functions?: Omit<Function, 'instructions'>[]
164
- ): Promise<ChatCompletionMessageParam> {
190
+ ): Promise<string> {
165
191
  const logger = new Logger('OpenAi.callFunction', logLevel);
166
192
  if (!functions) {
167
- const warning = `Assistant attempted to call a function when no functions were provided`;
168
- logger.warn(warning);
169
- const message: ChatCompletionMessageParam = { role: 'user', content: warning };
170
- return message;
193
+ const error = `Assistant attempted to call a function when no functions were provided`;
194
+ logger.error(error);
195
+ return JSON.stringify({ error });
171
196
  }
172
197
 
173
198
  functionCall.name = functionCall.name.split('.').pop() as string;
174
199
  const f = functions.find((f) => f.definition.name === functionCall.name);
175
200
  if (!f) {
176
- const warning = `Assistant attempted to call nonexistent function: ${functionCall.name}`;
177
- logger.warn(warning);
178
- const message: ChatCompletionMessageParam = { role: 'user', content: warning };
179
- return message;
201
+ const error = `Assistant attempted to call nonexistent function: ${functionCall.name}`;
202
+ logger.error(error);
203
+ return JSON.stringify({ error });
180
204
  }
181
205
 
182
206
  let returnObject = null;
183
207
  try {
184
- logger.info(`Assistant calling function: ${f.definition.name}(${functionCall.arguments})`);
185
- returnObject = JSON.stringify(await f.call(JSON.parse(functionCall.arguments)));
186
208
  logger.info(
187
- `Assistant called function: ${f.definition.name}(${functionCall.arguments}) => ${returnObject}`,
209
+ `Assistant calling function: (${functionCallId}) ${f.definition.name}(${functionCall.arguments})`,
188
210
  1000
189
211
  );
212
+ returnObject = JSON.stringify(await f.call(JSON.parse(functionCall.arguments)));
213
+ logger.info(`Assistant called function: (${functionCallId}) ${f.definition.name} => ${returnObject}`, 1000);
190
214
  } catch (error: any) {
191
215
  const errorMessage = `Error occurred while executing function ${f.definition.name}: ${error.message}`;
192
216
  logger.error(errorMessage);
193
- return {
194
- role: 'function',
195
- name: f.definition.name,
196
- content: JSON.stringify({ error: errorMessage }),
197
- };
217
+ return JSON.stringify({ error: errorMessage });
198
218
  }
199
219
 
200
220
  if (!returnObject) {
201
- return {
202
- role: 'function',
203
- name: f.definition.name,
204
- content: JSON.stringify({ result: 'Function with no return value executed successfully' }),
205
- };
221
+ return JSON.stringify({ result: 'Function with no return value executed successfully' });
206
222
  }
207
223
 
208
- return {
209
- role: 'function',
210
- name: f.definition.name,
211
- content: returnObject,
212
- };
224
+ return returnObject;
213
225
  }
214
226
 
215
227
  static async generateCode(