@proteinjs/conversation 1.0.11 → 1.2.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 +22 -0
- package/dist/src/Conversation.d.ts +2 -1
- package/dist/src/Conversation.d.ts.map +1 -1
- package/dist/src/Conversation.js +25 -1
- package/dist/src/Conversation.js.map +1 -1
- package/dist/src/OpenAi.d.ts +5 -4
- package/dist/src/OpenAi.d.ts.map +1 -1
- package/dist/src/OpenAi.js +4 -1
- package/dist/src/OpenAi.js.map +1 -1
- package/package.json +4 -4
- package/src/Conversation.ts +25 -3
- package/src/OpenAi.ts +14 -10
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
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.2.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.1.0...@proteinjs/conversation@1.2.0) (2024-06-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* `Conversation` and `OpenAi` now accept `ChatCompletionMessageParam`s as well as string messages. This enables the caller to send files and other data in with a message. ([63e9536](https://github.com/proteinjs/conversation/commit/63e9536fa39de09e85848b9658a30d1d4eb2face))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [1.1.0](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.0.11...@proteinjs/conversation@1.1.0) (2024-05-20)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* updating tiktoken version ([a09e604](https://github.com/proteinjs/conversation/commit/a09e604c6174788b4a7c4cf757db6157acc8095f))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [1.0.11](https://github.com/proteinjs/conversation/compare/@proteinjs/conversation@1.0.10...@proteinjs/conversation@1.0.11) (2024-05-12)
|
|
7
29
|
|
|
8
30
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChatCompletionMessageParam } from 'openai/resources/chat';
|
|
1
2
|
import { LogLevel } from '@proteinjs/util';
|
|
2
3
|
import { ConversationModule } from './ConversationModule';
|
|
3
4
|
import { TiktokenModel } from 'tiktoken';
|
|
@@ -31,7 +32,7 @@ export declare class Conversation {
|
|
|
31
32
|
addSystemMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
32
33
|
addAssistantMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
33
34
|
addUserMessagesToHistory(messages: string[], unshift?: boolean): void;
|
|
34
|
-
generateResponse(messages: string[], model?: TiktokenModel): Promise<string>;
|
|
35
|
+
generateResponse(messages: (string | ChatCompletionMessageParam)[], model?: TiktokenModel): Promise<string>;
|
|
35
36
|
generateCode(description: string[], model?: TiktokenModel): Promise<string>;
|
|
36
37
|
updateCodeFromFile(codeToUpdateFilePath: string, dependencyCodeFilePaths: string[], description: string, model?: TiktokenModel): Promise<string>;
|
|
37
38
|
updateCode(code: string, description: string, model?: TiktokenModel): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAsB,MAAM,UAAU,CAAC;AAG7D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAC;IAChB,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,EAAE,kBAAkB;IAqBtC,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,oBAAoB;YAId,iBAAiB;IAwD/B,4BAA4B,CAAC,OAAO,EAAE,MAAM;IAK5C,OAAO,CAAC,YAAY;IAKpB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAc9D,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAYjE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;IAYtD,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAYzF,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;IAgBzD,kBAAkB,CACtB,oBAAoB,EAAE,MAAM,EAC5B,uBAAuB,EAAE,MAAM,EAAE,EACjC,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,aAAa;IAajB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa;IAmBnE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,aAAa;CAahE;AAED,eAAO,MAAM,wCAAwC,iCAAiC,CAAC;AACvF,eAAO,MAAM,oCAAoC,iBAAkB,YAAY;;;;;;;;;;;;;;;mBAgBtD;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;CAE3C,CAAC"}
|
package/dist/src/Conversation.js
CHANGED
|
@@ -118,7 +118,31 @@ var Conversation = /** @class */ (function () {
|
|
|
118
118
|
}
|
|
119
119
|
resolvedModel = model ? model : OpenAi_1.DEFAULT_MODEL;
|
|
120
120
|
encoder = (0, tiktoken_1.encoding_for_model)(resolvedModel);
|
|
121
|
-
conversation = this.history.toString() +
|
|
121
|
+
conversation = this.history.toString() +
|
|
122
|
+
messages
|
|
123
|
+
.map(function (message) {
|
|
124
|
+
if (typeof message === 'string') {
|
|
125
|
+
return message;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// Extract content from ChatCompletionMessageParam
|
|
129
|
+
var contentParts = Array.isArray(message.content) ? message.content : [message.content];
|
|
130
|
+
return contentParts
|
|
131
|
+
.map(function (part) {
|
|
132
|
+
if (typeof part === 'string') {
|
|
133
|
+
return part;
|
|
134
|
+
}
|
|
135
|
+
else if ((part === null || part === void 0 ? void 0 : part.type) === 'text') {
|
|
136
|
+
return part.text;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return ''; // Handle non-text content types as empty string
|
|
140
|
+
}
|
|
141
|
+
})
|
|
142
|
+
.join(' ');
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
.join('. ');
|
|
122
146
|
encoded = encoder.encode(conversation);
|
|
123
147
|
console.log("current tokens: ".concat(encoded.length));
|
|
124
148
|
if (encoded.length < this.tokenLimit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Conversation.js","sourceRoot":"","sources":["../../src/Conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/src/OpenAi.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChatCompletionMessageParam } from 'openai/resources/chat';
|
|
1
2
|
import { LogLevel } from '@proteinjs/util';
|
|
2
3
|
import { MessageModerator } from './history/MessageModerator';
|
|
3
4
|
import { Function } from './Function';
|
|
@@ -5,14 +6,14 @@ import { MessageHistory } from './history/MessageHistory';
|
|
|
5
6
|
import { TiktokenModel } from 'tiktoken';
|
|
6
7
|
export declare const DEFAULT_MODEL: TiktokenModel;
|
|
7
8
|
export declare class OpenAi {
|
|
8
|
-
static generateResponse(messages: string[], model?: string, history?: MessageHistory, functions?: Function[], messageModerators?: MessageModerator[], logLevel?: LogLevel): Promise<string>;
|
|
9
|
+
static generateResponse(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], logLevel?: LogLevel): Promise<string>;
|
|
9
10
|
private static moderateHistory;
|
|
10
11
|
private static executeRequest;
|
|
11
12
|
private static callFunction;
|
|
12
|
-
static generateCode(messages: string[], model?: string, history?: MessageHistory, functions?: Function[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
|
|
13
|
-
static updateCode(code: string, description: string, model?: string, history?: MessageHistory, functions?: Function[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
|
|
13
|
+
static generateCode(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
|
|
14
|
+
static updateCode(code: string, description: string, model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string>;
|
|
14
15
|
static updateCodeDescription(code: string, description: string): string;
|
|
15
16
|
static parseCodeFromMarkdown(code: string): string;
|
|
16
|
-
static generateList(messages: string[], model?: string, history?: MessageHistory, functions?: Function[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string[]>;
|
|
17
|
+
static generateList(messages: (string | ChatCompletionMessageParam)[], model?: string, history?: MessageHistory, functions?: Omit<Function, 'instructions'>[], messageModerators?: MessageModerator[], includeSystemMessages?: boolean, logLevel?: LogLevel): Promise<string[]>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=OpenAi.d.ts.map
|
package/dist/src/OpenAi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAi.d.ts","sourceRoot":"","sources":["../../src/OpenAi.ts"],"names":[],"mappings":"
|
|
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,GAC1B,OAAO,CAAC,MAAM,CAAC;IAqClB,OAAO,CAAC,MAAM,CAAC,eAAe;mBAQT,cAAc;mBA2Dd,YAAY;WA6CpB,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"}
|
package/dist/src/OpenAi.js
CHANGED
|
@@ -56,7 +56,10 @@ var OpenAi = /** @class */ (function () {
|
|
|
56
56
|
case 0:
|
|
57
57
|
logger = new util_1.Logger('OpenAi.generateResponse', logLevel);
|
|
58
58
|
messageParams = messages.map(function (message) {
|
|
59
|
-
|
|
59
|
+
if (typeof message === 'string') {
|
|
60
|
+
return { role: 'user', content: message };
|
|
61
|
+
}
|
|
62
|
+
return message;
|
|
60
63
|
});
|
|
61
64
|
if (history) {
|
|
62
65
|
history.push(messageParams);
|
package/dist/src/OpenAi.js.map
CHANGED
|
@@ -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;
|
|
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.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"publishConfig": {
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@proteinjs/util": "1.1.2",
|
|
32
32
|
"@proteinjs/util-node": "1.2.2",
|
|
33
33
|
"fs-extra": "11.1.1",
|
|
34
|
-
"openai": "4.
|
|
34
|
+
"openai": "4.52.0",
|
|
35
35
|
"readline-sync": "1.4.10",
|
|
36
|
-
"tiktoken": "1.0.
|
|
36
|
+
"tiktoken": "1.0.15",
|
|
37
37
|
"typescript": "5.2.2"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "bb21b61c373a7cf24dfdb3cd700f05e3c8ccd180"
|
|
40
40
|
}
|
package/src/Conversation.ts
CHANGED
|
@@ -93,14 +93,36 @@ export class Conversation {
|
|
|
93
93
|
this.messageModerators.push(...messageModerators);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
private async enforceTokenLimit(messages: string[], model?: TiktokenModel) {
|
|
96
|
+
private async enforceTokenLimit(messages: (string | ChatCompletionMessageParam)[], model?: TiktokenModel) {
|
|
97
97
|
if (this.params.limits?.enforceLimits === false) {
|
|
98
98
|
return;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
const resolvedModel = model ? model : DEFAULT_MODEL;
|
|
102
102
|
const encoder = encoding_for_model(resolvedModel);
|
|
103
|
-
const conversation =
|
|
103
|
+
const conversation =
|
|
104
|
+
this.history.toString() +
|
|
105
|
+
messages
|
|
106
|
+
.map((message) => {
|
|
107
|
+
if (typeof message === 'string') {
|
|
108
|
+
return message;
|
|
109
|
+
} else {
|
|
110
|
+
// Extract content from ChatCompletionMessageParam
|
|
111
|
+
const contentParts = Array.isArray(message.content) ? message.content : [message.content];
|
|
112
|
+
return contentParts
|
|
113
|
+
.map((part) => {
|
|
114
|
+
if (typeof part === 'string') {
|
|
115
|
+
return part;
|
|
116
|
+
} else if (part?.type === 'text') {
|
|
117
|
+
return part.text;
|
|
118
|
+
} else {
|
|
119
|
+
return ''; // Handle non-text content types as empty string
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
.join(' ');
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
.join('. ');
|
|
104
126
|
const encoded = encoder.encode(conversation);
|
|
105
127
|
console.log(`current tokens: ${encoded.length}`);
|
|
106
128
|
if (encoded.length < this.tokenLimit) {
|
|
@@ -175,7 +197,7 @@ export class Conversation {
|
|
|
175
197
|
}
|
|
176
198
|
}
|
|
177
199
|
|
|
178
|
-
async generateResponse(messages: string[], model?: TiktokenModel) {
|
|
200
|
+
async generateResponse(messages: (string | ChatCompletionMessageParam)[], model?: TiktokenModel) {
|
|
179
201
|
await this.enforceTokenLimit(messages, model);
|
|
180
202
|
return await OpenAi.generateResponse(
|
|
181
203
|
messages,
|
package/src/OpenAi.ts
CHANGED
|
@@ -13,16 +13,20 @@ function delay(ms: number) {
|
|
|
13
13
|
export const DEFAULT_MODEL: TiktokenModel = 'gpt-3.5-turbo';
|
|
14
14
|
export class OpenAi {
|
|
15
15
|
static async generateResponse(
|
|
16
|
-
messages: string[],
|
|
16
|
+
messages: (string | ChatCompletionMessageParam)[],
|
|
17
17
|
model?: string,
|
|
18
18
|
history?: MessageHistory,
|
|
19
|
-
functions?: Function[],
|
|
19
|
+
functions?: Omit<Function, 'instructions'>[],
|
|
20
20
|
messageModerators?: MessageModerator[],
|
|
21
21
|
logLevel: LogLevel = 'info'
|
|
22
22
|
): Promise<string> {
|
|
23
23
|
const logger = new Logger('OpenAi.generateResponse', logLevel);
|
|
24
24
|
const messageParams: ChatCompletionMessageParam[] = messages.map((message) => {
|
|
25
|
-
|
|
25
|
+
if (typeof message === 'string') {
|
|
26
|
+
return { role: 'user', content: message };
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return message;
|
|
26
30
|
});
|
|
27
31
|
if (history) {
|
|
28
32
|
history.push(messageParams);
|
|
@@ -63,7 +67,7 @@ export class OpenAi {
|
|
|
63
67
|
private static async executeRequest(
|
|
64
68
|
messageParamsWithHistory: MessageHistory,
|
|
65
69
|
logLevel: LogLevel,
|
|
66
|
-
functions?: Function[],
|
|
70
|
+
functions?: Omit<Function, 'instructions'>[],
|
|
67
71
|
model?: string
|
|
68
72
|
): Promise<ChatCompletion> {
|
|
69
73
|
const logger = new Logger('OpenAi.executeRequest', logLevel);
|
|
@@ -122,7 +126,7 @@ export class OpenAi {
|
|
|
122
126
|
private static async callFunction(
|
|
123
127
|
logLevel: LogLevel,
|
|
124
128
|
functionCall: ChatCompletionMessage.FunctionCall,
|
|
125
|
-
functions?: Function[]
|
|
129
|
+
functions?: Omit<Function, 'instructions'>[]
|
|
126
130
|
): Promise<ChatCompletionMessageParam | undefined> {
|
|
127
131
|
const logger = new Logger('OpenAi.callFunction', logLevel);
|
|
128
132
|
if (!functions) {
|
|
@@ -165,10 +169,10 @@ export class OpenAi {
|
|
|
165
169
|
}
|
|
166
170
|
|
|
167
171
|
static async generateCode(
|
|
168
|
-
messages: string[],
|
|
172
|
+
messages: (string | ChatCompletionMessageParam)[],
|
|
169
173
|
model?: string,
|
|
170
174
|
history?: MessageHistory,
|
|
171
|
-
functions?: Function[],
|
|
175
|
+
functions?: Omit<Function, 'instructions'>[],
|
|
172
176
|
messageModerators?: MessageModerator[],
|
|
173
177
|
includeSystemMessages: boolean = true,
|
|
174
178
|
logLevel: LogLevel = 'info'
|
|
@@ -199,7 +203,7 @@ export class OpenAi {
|
|
|
199
203
|
description: string,
|
|
200
204
|
model?: string,
|
|
201
205
|
history?: MessageHistory,
|
|
202
|
-
functions?: Function[],
|
|
206
|
+
functions?: Omit<Function, 'instructions'>[],
|
|
203
207
|
messageModerators?: MessageModerator[],
|
|
204
208
|
includeSystemMessages: boolean = true,
|
|
205
209
|
logLevel: LogLevel = 'info'
|
|
@@ -249,10 +253,10 @@ export class OpenAi {
|
|
|
249
253
|
}
|
|
250
254
|
|
|
251
255
|
static async generateList(
|
|
252
|
-
messages: string[],
|
|
256
|
+
messages: (string | ChatCompletionMessageParam)[],
|
|
253
257
|
model?: string,
|
|
254
258
|
history?: MessageHistory,
|
|
255
|
-
functions?: Function[],
|
|
259
|
+
functions?: Omit<Function, 'instructions'>[],
|
|
256
260
|
messageModerators?: MessageModerator[],
|
|
257
261
|
includeSystemMessages: boolean = true,
|
|
258
262
|
logLevel: LogLevel = 'info'
|