@inductiv/node-red-openai-api 0.3.9 → 0.4.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.
- package/README.md +13 -6
- package/examples/assistants.json +60 -82
- package/examples/audio.json +182 -63
- package/examples/files.json +70 -32
- package/examples/images.json +56 -28
- package/lib.js +767 -687
- package/locales/de-DE/node.json +2 -1
- package/locales/en-US/node.json +1 -1
- package/locales/ja/node.json +2 -1
- package/locales/zh-CN/node.json +2 -1
- package/node.html +98 -100
- package/node.js +61 -98
- package/package.json +2 -3
package/lib.js
CHANGED
|
@@ -1,788 +1,868 @@
|
|
|
1
|
-
|
|
1
|
+
let OpenaiApi = (function () {
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const OpenAI = require("openai").OpenAI;
|
|
6
6
|
|
|
7
7
|
class OpenaiApi {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
async createChatCompletion(parameters) {
|
|
9
|
+
let node = parameters._node;
|
|
10
|
+
delete parameters._node;
|
|
11
|
+
|
|
12
|
+
const clientParams = {
|
|
13
|
+
apiKey: parameters.apiKey,
|
|
14
|
+
baseURL: parameters.apiBase,
|
|
15
|
+
organization: parameters.organization,
|
|
16
|
+
}
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
setApiBase(apiBase) {
|
|
23
|
-
this.domain = apiBase;
|
|
24
|
-
}
|
|
18
|
+
const openai = new OpenAI(clientParams);
|
|
19
|
+
const response = await openai.chat.completions.create({
|
|
20
|
+
...parameters.payload,
|
|
21
|
+
});
|
|
25
22
|
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
if (parameters.payload.stream) {
|
|
24
|
+
for await (const chunk of response) {
|
|
25
|
+
node.send(chunk);
|
|
26
|
+
}
|
|
27
|
+
return { code: 0, status: "complete" };
|
|
28
|
+
} else {
|
|
29
|
+
return response;
|
|
30
|
+
}
|
|
28
31
|
}
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
async createImage(parameters) {
|
|
34
|
+
|
|
35
|
+
const clientParams = {
|
|
36
|
+
apiKey: parameters.apiKey,
|
|
37
|
+
baseURL: parameters.apiBase,
|
|
38
|
+
organization: parameters.organization,
|
|
34
39
|
}
|
|
35
|
-
return headers;
|
|
36
|
-
}
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
const openai = new OpenAI(clientParams);
|
|
42
|
+
const response = await openai.images.generate({
|
|
43
|
+
...parameters.payload,
|
|
44
|
+
});
|
|
41
45
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var domain = this.domain;
|
|
45
|
-
var organizationId = this.organizationId;
|
|
46
|
-
var queryParameters = {};
|
|
47
|
-
var baseHeaders = {};
|
|
46
|
+
return response;
|
|
47
|
+
}
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
async createImageEdit(parameters) {
|
|
50
|
+
const clientParams = {
|
|
51
|
+
apiKey: parameters.apiKey,
|
|
52
|
+
baseURL: parameters.apiBase,
|
|
53
|
+
organization: parameters.organization,
|
|
54
|
+
}
|
|
55
|
+
const openai = new OpenAI(clientParams);
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
// Only add query parameters if they are expected and exist
|
|
61
|
-
if (expectedQueryParams) {
|
|
62
|
-
expectedQueryParams.forEach((param) => {
|
|
63
|
-
if (parameters.body[param] !== undefined) {
|
|
64
|
-
queryParameters[param] = parameters.body[param];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
57
|
+
parameters.payload.image = fs.createReadStream(parameters.payload.image);
|
|
58
|
+
if (parameters.payload.mask) {
|
|
59
|
+
parameters.payload.mask = fs.createReadStream(parameters.payload.mask);
|
|
60
|
+
}
|
|
68
61
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Axios request configuration
|
|
73
|
-
const config = {
|
|
74
|
-
method: "GET",
|
|
75
|
-
url: domain + path,
|
|
76
|
-
headers: headers,
|
|
77
|
-
params: queryParameters,
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// Axios GET request
|
|
81
|
-
axios(config)
|
|
82
|
-
.then((response) => {
|
|
83
|
-
resolve(response);
|
|
84
|
-
})
|
|
85
|
-
.catch((error) => {
|
|
86
|
-
reject(error);
|
|
87
|
-
});
|
|
62
|
+
const response = await openai.images.edit({
|
|
63
|
+
...parameters.payload,
|
|
88
64
|
});
|
|
65
|
+
|
|
66
|
+
return response;
|
|
89
67
|
}
|
|
90
68
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
) {
|
|
99
|
-
return new Promise((resolve, reject) => {
|
|
100
|
-
const _path = require("path");
|
|
101
|
-
|
|
102
|
-
parameters = parameters || {};
|
|
103
|
-
var domain = this.domain;
|
|
104
|
-
var organizationId = this.organizationId;
|
|
105
|
-
var queryParameters = {},
|
|
106
|
-
baseHeaders = {},
|
|
107
|
-
data;
|
|
108
|
-
|
|
109
|
-
baseHeaders = this.setAuthHeaders(baseHeaders);
|
|
110
|
-
baseHeaders["Accept"] = "application/json";
|
|
111
|
-
|
|
112
|
-
if (organizationId) {
|
|
113
|
-
customHeaders["OpenAI-Organization"] = organizationId;
|
|
114
|
-
}
|
|
69
|
+
async createImageVariation(parameters) {
|
|
70
|
+
const clientParams = {
|
|
71
|
+
apiKey: parameters.apiKey,
|
|
72
|
+
baseURL: parameters.apiBase,
|
|
73
|
+
organization: parameters.organization,
|
|
74
|
+
}
|
|
75
|
+
const openai = new OpenAI(clientParams);
|
|
115
76
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
// Determine the Content-Type
|
|
122
|
-
if (contentType === "form-data") {
|
|
123
|
-
var formData = new FormData();
|
|
124
|
-
|
|
125
|
-
Object.entries(parameters.body).forEach(([key, value]) => {
|
|
126
|
-
if (value instanceof Buffer) {
|
|
127
|
-
if (!filePath) {
|
|
128
|
-
throw new Error(
|
|
129
|
-
"msg.payload must include a `filename` property.",
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
const filename = _path.basename(filePath);
|
|
134
|
-
formData.append(key, value, filename);
|
|
135
|
-
} else {
|
|
136
|
-
if (parameters.body[key] !== undefined) {
|
|
137
|
-
formData.append(key, value);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
data = formData;
|
|
143
|
-
|
|
144
|
-
let formHeaders = formData.getHeaders();
|
|
145
|
-
Object.assign(headers, formHeaders);
|
|
146
|
-
} else {
|
|
147
|
-
// Handle JSON payloads
|
|
148
|
-
headers["Content-Type"] = "application/json";
|
|
149
|
-
data = parameters.body || {};
|
|
150
|
-
}
|
|
77
|
+
parameters.payload.image = fs.createReadStream(parameters.payload.image);
|
|
78
|
+
const response = await openai.images.createVariation({
|
|
79
|
+
...parameters.payload,
|
|
80
|
+
});
|
|
151
81
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
82
|
+
return response;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
async createEmbedding(parameters) {
|
|
86
|
+
const clientParams = {
|
|
87
|
+
apiKey: parameters.apiKey,
|
|
88
|
+
baseURL: parameters.apiBase,
|
|
89
|
+
organization: parameters.organization,
|
|
90
|
+
}
|
|
91
|
+
const openai = new OpenAI(clientParams);
|
|
160
92
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
// Axios request configuration
|
|
165
|
-
const config = {
|
|
166
|
-
method: "POST",
|
|
167
|
-
url: domain + path,
|
|
168
|
-
headers: headers,
|
|
169
|
-
params: queryParameters,
|
|
170
|
-
data: data,
|
|
171
|
-
responseType: data.stream === true ? "stream" : "json",
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
axios(config)
|
|
175
|
-
.then((response) => {
|
|
176
|
-
if (config.responseType === "stream") {
|
|
177
|
-
// Handle the stream response
|
|
178
|
-
response.data
|
|
179
|
-
.on("data", (chunk) => {
|
|
180
|
-
// Convert chunk from Uint8Array to string
|
|
181
|
-
const chunkAsString = new TextDecoder().decode(chunk);
|
|
182
|
-
|
|
183
|
-
// Emit converted data chunks as Node-RED messages
|
|
184
|
-
this.node.send({ payload: chunkAsString });
|
|
185
|
-
})
|
|
186
|
-
.on("end", () => {
|
|
187
|
-
// Handle the end of the stream
|
|
188
|
-
resolve({ payload: "Stream ended" });
|
|
189
|
-
})
|
|
190
|
-
.on("error", (err) => {
|
|
191
|
-
// Handle any errors
|
|
192
|
-
reject(err);
|
|
193
|
-
});
|
|
194
|
-
} else {
|
|
195
|
-
// Handle non-stream response (e.g., JSON)
|
|
196
|
-
resolve(response);
|
|
197
|
-
}
|
|
198
|
-
})
|
|
199
|
-
.catch((error) => {
|
|
200
|
-
reject(error);
|
|
201
|
-
});
|
|
93
|
+
const response = await openai.embeddings.create({
|
|
94
|
+
...parameters.payload,
|
|
202
95
|
});
|
|
96
|
+
|
|
97
|
+
return response;
|
|
203
98
|
}
|
|
204
99
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
parameters = parameters || {};
|
|
213
|
-
var domain = this.domain;
|
|
214
|
-
var organizationId = this.organizationId;
|
|
215
|
-
var queryParameters = {},
|
|
216
|
-
baseHeaders = {};
|
|
217
|
-
|
|
218
|
-
baseHeaders = this.setAuthHeaders(headers);
|
|
219
|
-
baseHeaders["Accept"] = "application/json";
|
|
220
|
-
|
|
221
|
-
if (organizationId) {
|
|
222
|
-
customHeaders["OpenAI-Organization"] = organizationId;
|
|
223
|
-
}
|
|
100
|
+
async createSpeech(parameters) {
|
|
101
|
+
const clientParams = {
|
|
102
|
+
apiKey: parameters.apiKey,
|
|
103
|
+
baseURL: parameters.apiBase,
|
|
104
|
+
organization: parameters.organization,
|
|
105
|
+
}
|
|
106
|
+
const openai = new OpenAI(clientParams);
|
|
224
107
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
...customHeaders,
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
// Only add query parameters if they are expected and exist
|
|
231
|
-
if (expectedQueryParams) {
|
|
232
|
-
expectedQueryParams.forEach((param) => {
|
|
233
|
-
if (parameters[param] !== undefined) {
|
|
234
|
-
queryParameters[param] = parameters.body[param];
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
}
|
|
108
|
+
const audio = await openai.audio.speech.create({ ...parameters.payload });
|
|
109
|
+
const response = Buffer.from(await audio.arrayBuffer());
|
|
238
110
|
|
|
239
|
-
|
|
240
|
-
queryParameters = mergeQueryParams(parameters, queryParameters);
|
|
241
|
-
|
|
242
|
-
// Axios request configuration
|
|
243
|
-
const config = {
|
|
244
|
-
method: "DELETE",
|
|
245
|
-
url: domain + path,
|
|
246
|
-
headers: headers,
|
|
247
|
-
params: queryParameters,
|
|
248
|
-
};
|
|
249
|
-
|
|
250
|
-
// Axios DELETE request
|
|
251
|
-
axios(config)
|
|
252
|
-
.then((response) => {
|
|
253
|
-
resolve(response);
|
|
254
|
-
})
|
|
255
|
-
.catch((error) => {
|
|
256
|
-
reject(error);
|
|
257
|
-
});
|
|
258
|
-
});
|
|
111
|
+
return response;
|
|
259
112
|
}
|
|
260
113
|
|
|
261
|
-
|
|
262
|
-
const
|
|
114
|
+
async createTranscription(parameters) {
|
|
115
|
+
const clientParams = {
|
|
116
|
+
apiKey: parameters.apiKey,
|
|
117
|
+
baseURL: parameters.apiBase,
|
|
118
|
+
organization: parameters.organization,
|
|
119
|
+
}
|
|
120
|
+
const openai = new OpenAI(clientParams);
|
|
121
|
+
|
|
122
|
+
parameters.payload.file = fs.createReadStream(parameters.payload.file);
|
|
123
|
+
|
|
124
|
+
const response = await openai.audio.transcriptions.create({
|
|
125
|
+
...parameters.payload,
|
|
126
|
+
});
|
|
127
|
+
|
|
263
128
|
return response;
|
|
264
129
|
}
|
|
265
|
-
createImage(parameters) {
|
|
266
|
-
return this.postToEndpoint("/images/generations", parameters);
|
|
267
|
-
}
|
|
268
|
-
createImageEdit(parameters) {
|
|
269
|
-
const filename = parameters.body.filename;
|
|
270
|
-
delete parameters.body.filename;
|
|
271
130
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
parameters,
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
);
|
|
279
|
-
}
|
|
280
|
-
createImageVariation(parameters) {
|
|
281
|
-
const filename = parameters.body.filename;
|
|
282
|
-
delete parameters.body.filename;
|
|
131
|
+
async createTranslation(parameters) {
|
|
132
|
+
const clientParams = {
|
|
133
|
+
apiKey: parameters.apiKey,
|
|
134
|
+
baseURL: parameters.apiBase,
|
|
135
|
+
organization: parameters.organization,
|
|
136
|
+
}
|
|
137
|
+
const openai = new OpenAI(clientParams);
|
|
283
138
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
parameters,
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
);
|
|
139
|
+
parameters.payload.file = fs.createReadStream(parameters.payload.file);
|
|
140
|
+
const response = await openai.audio.translations.create({
|
|
141
|
+
...parameters.payload,
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
return response;
|
|
291
145
|
}
|
|
292
|
-
|
|
293
|
-
|
|
146
|
+
|
|
147
|
+
async listFiles(parameters) {
|
|
148
|
+
const clientParams = {
|
|
149
|
+
apiKey: parameters.apiKey,
|
|
150
|
+
baseURL: parameters.apiBase,
|
|
151
|
+
organization: parameters.organization,
|
|
152
|
+
}
|
|
153
|
+
const openai = new OpenAI(clientParams);
|
|
154
|
+
|
|
155
|
+
const list = await openai.files.list({
|
|
156
|
+
...parameters.payload,
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
let files = [];
|
|
160
|
+
for await (const file of list) {
|
|
161
|
+
files.push(file);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return files;
|
|
294
165
|
}
|
|
295
|
-
|
|
296
|
-
|
|
166
|
+
|
|
167
|
+
async createFile(parameters) {
|
|
168
|
+
const clientParams = {
|
|
169
|
+
apiKey: parameters.apiKey,
|
|
170
|
+
baseURL: parameters.apiBase,
|
|
171
|
+
organization: parameters.organization,
|
|
172
|
+
}
|
|
173
|
+
const openai = new OpenAI(clientParams);
|
|
174
|
+
|
|
175
|
+
parameters.payload.file = fs.createReadStream(parameters.payload.file);
|
|
176
|
+
const response = await openai.files.create({
|
|
177
|
+
...parameters.payload,
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
return response;
|
|
297
181
|
}
|
|
298
|
-
|
|
299
|
-
const
|
|
300
|
-
|
|
182
|
+
async deleteFile(parameters) {
|
|
183
|
+
const clientParams = {
|
|
184
|
+
apiKey: parameters.apiKey,
|
|
185
|
+
baseURL: parameters.apiBase,
|
|
186
|
+
organization: parameters.organization,
|
|
187
|
+
}
|
|
188
|
+
const openai = new OpenAI(clientParams);
|
|
301
189
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
filename,
|
|
308
|
-
);
|
|
190
|
+
const response = await openai.files.del({
|
|
191
|
+
...parameters.payload,
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
return response;
|
|
309
195
|
}
|
|
310
|
-
|
|
311
|
-
const
|
|
312
|
-
|
|
196
|
+
async retrieveFile(parameters) {
|
|
197
|
+
const clientParams = {
|
|
198
|
+
apiKey: parameters.apiKey,
|
|
199
|
+
baseURL: parameters.apiBase,
|
|
200
|
+
organization: parameters.organization,
|
|
201
|
+
}
|
|
202
|
+
const openai = new OpenAI(clientParams);
|
|
313
203
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
204
|
+
const file_id = parameters.payload.file_id;
|
|
205
|
+
delete parameters.payload.file_id;
|
|
206
|
+
|
|
207
|
+
const response = await openai.files.retrieve(file_id, {
|
|
208
|
+
...parameters.payload,
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
return response;
|
|
321
212
|
}
|
|
322
|
-
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
parameters,
|
|
327
|
-
|
|
328
|
-
);
|
|
213
|
+
async downloadFile(parameters) {
|
|
214
|
+
const clientParams = {
|
|
215
|
+
apiKey: parameters.apiKey,
|
|
216
|
+
baseURL: parameters.apiBase,
|
|
217
|
+
organization: parameters.organization,
|
|
218
|
+
}
|
|
219
|
+
const openai = new OpenAI(clientParams);
|
|
220
|
+
|
|
221
|
+
const file_id = parameters.payload.file_id;
|
|
222
|
+
delete parameters.payload.file_id;
|
|
223
|
+
|
|
224
|
+
const response = await openai.files.retrieveContent(file_id, {
|
|
225
|
+
...parameters.payload,
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
return response;
|
|
329
229
|
}
|
|
330
|
-
|
|
331
|
-
|
|
230
|
+
async createFineTuningJob(parameters) {
|
|
231
|
+
const clientParams = {
|
|
232
|
+
apiKey: parameters.apiKey,
|
|
233
|
+
baseURL: parameters.apiBase,
|
|
234
|
+
organization: parameters.organization,
|
|
235
|
+
}
|
|
236
|
+
const openai = new OpenAI(clientParams);
|
|
332
237
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
238
|
+
const response = await openai.fineTuning.jobs.create({
|
|
239
|
+
...parameters.payload,
|
|
240
|
+
});
|
|
336
241
|
|
|
337
|
-
return
|
|
338
|
-
"/files",
|
|
339
|
-
parameters,
|
|
340
|
-
null,
|
|
341
|
-
"form-data",
|
|
342
|
-
filename,
|
|
343
|
-
);
|
|
242
|
+
return response;
|
|
344
243
|
}
|
|
345
|
-
|
|
346
|
-
const
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
const
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
listPaginatedFineTuningJobs(parameters) {
|
|
364
|
-
const expectedQueryParameters = ["after", "limit"];
|
|
365
|
-
return this.getFromEndpoint(
|
|
366
|
-
"/fine_tuning/jobs",
|
|
367
|
-
parameters,
|
|
368
|
-
expectedQueryParameters,
|
|
369
|
-
);
|
|
244
|
+
async listPaginatedFineTuningJobs(parameters) {
|
|
245
|
+
const clientParams = {
|
|
246
|
+
apiKey: parameters.apiKey,
|
|
247
|
+
baseURL: parameters.apiBase,
|
|
248
|
+
organization: parameters.organization,
|
|
249
|
+
}
|
|
250
|
+
const openai = new OpenAI(clientParams);
|
|
251
|
+
|
|
252
|
+
const list = await openai.fineTuning.jobs.list({
|
|
253
|
+
...parameters.payload,
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
let response = [];
|
|
257
|
+
for await (const fineTune of list) {
|
|
258
|
+
response.push(fineTune);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return response;
|
|
370
262
|
}
|
|
371
|
-
retrieveFineTuningJob(parameters) {
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
263
|
+
async retrieveFineTuningJob(parameters) {
|
|
264
|
+
const clientParams = {
|
|
265
|
+
apiKey: parameters.apiKey,
|
|
266
|
+
baseURL: parameters.apiBase,
|
|
267
|
+
organization: parameters.organization,
|
|
268
|
+
}
|
|
269
|
+
const openai = new OpenAI(clientParams);
|
|
270
|
+
|
|
271
|
+
const response = await openai.fineTuning.jobs.retrieve(
|
|
272
|
+
parameters.payload.fine_tuning_job_id,
|
|
377
273
|
);
|
|
274
|
+
|
|
275
|
+
return response;
|
|
378
276
|
}
|
|
379
|
-
listFineTuningEvents(parameters) {
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
|
|
277
|
+
async listFineTuningEvents(parameters) {
|
|
278
|
+
const clientParams = {
|
|
279
|
+
apiKey: parameters.apiKey,
|
|
280
|
+
baseURL: parameters.apiBase,
|
|
281
|
+
organization: parameters.organization,
|
|
282
|
+
}
|
|
283
|
+
const openai = new OpenAI(clientParams);
|
|
383
284
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
parameters,
|
|
387
|
-
expectedQueryParameters,
|
|
285
|
+
let response = [];
|
|
286
|
+
const list = await openai.fineTuning.jobs.listEvents(
|
|
287
|
+
parameters.payload.fine_tuning_job_id,
|
|
388
288
|
);
|
|
289
|
+
for await (const fineTuneEvent of list) {
|
|
290
|
+
response.push(fineTuneEvent);
|
|
291
|
+
}
|
|
292
|
+
return response;
|
|
389
293
|
}
|
|
390
|
-
cancelFineTuningJob(parameters) {
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
294
|
+
async cancelFineTuningJob(parameters) {
|
|
295
|
+
const clientParams = {
|
|
296
|
+
apiKey: parameters.apiKey,
|
|
297
|
+
baseURL: parameters.apiBase,
|
|
298
|
+
organization: parameters.organization,
|
|
299
|
+
}
|
|
300
|
+
const openai = new OpenAI(clientParams);
|
|
301
|
+
|
|
302
|
+
const response = await openai.fineTuning.jobs.cancel(
|
|
303
|
+
parameters.payload.fine_tuning_job_id,
|
|
396
304
|
);
|
|
305
|
+
|
|
306
|
+
return response;
|
|
397
307
|
}
|
|
398
|
-
listModels(parameters) {
|
|
399
|
-
|
|
308
|
+
async listModels(parameters) {
|
|
309
|
+
const clientParams = {
|
|
310
|
+
apiKey: parameters.apiKey,
|
|
311
|
+
baseURL: parameters.apiBase,
|
|
312
|
+
organization: parameters.organization,
|
|
313
|
+
}
|
|
314
|
+
const openai = new OpenAI(clientParams);
|
|
315
|
+
|
|
316
|
+
const response = await openai.models.list();
|
|
317
|
+
|
|
318
|
+
return response.body;
|
|
400
319
|
}
|
|
401
|
-
retrieveModel(parameters) {
|
|
402
|
-
const
|
|
403
|
-
|
|
404
|
-
|
|
320
|
+
async retrieveModel(parameters) {
|
|
321
|
+
const clientParams = {
|
|
322
|
+
apiKey: parameters.apiKey,
|
|
323
|
+
baseURL: parameters.apiBase,
|
|
324
|
+
organization: parameters.organization,
|
|
325
|
+
}
|
|
326
|
+
const openai = new OpenAI(clientParams);
|
|
327
|
+
|
|
328
|
+
const model = parameters.payload.model;
|
|
329
|
+
const response = await openai.models.retrieve(model);
|
|
330
|
+
|
|
331
|
+
return response;
|
|
405
332
|
}
|
|
406
|
-
deleteModel(parameters) {
|
|
407
|
-
const
|
|
408
|
-
|
|
409
|
-
|
|
333
|
+
async deleteModel(parameters) {
|
|
334
|
+
const clientParams = {
|
|
335
|
+
apiKey: parameters.apiKey,
|
|
336
|
+
baseURL: parameters.apiBase,
|
|
337
|
+
organization: parameters.organization,
|
|
338
|
+
}
|
|
339
|
+
const openai = new OpenAI(clientParams);
|
|
340
|
+
|
|
341
|
+
const model = parameters.payload.model;
|
|
342
|
+
const response = await openai.models.del(model);
|
|
343
|
+
|
|
344
|
+
return response;
|
|
410
345
|
}
|
|
411
|
-
createModeration(parameters) {
|
|
412
|
-
|
|
346
|
+
async createModeration(parameters) {
|
|
347
|
+
const clientParams = {
|
|
348
|
+
apiKey: parameters.apiKey,
|
|
349
|
+
baseURL: parameters.apiBase,
|
|
350
|
+
organization: parameters.organization,
|
|
351
|
+
}
|
|
352
|
+
const openai = new OpenAI(clientParams);
|
|
353
|
+
|
|
354
|
+
const response = await openai.moderations.create(parameters.payload);
|
|
355
|
+
return response;
|
|
413
356
|
}
|
|
414
|
-
listAssistants(parameters) {
|
|
415
|
-
const
|
|
416
|
-
|
|
357
|
+
async listAssistants(parameters) {
|
|
358
|
+
const clientParams = {
|
|
359
|
+
apiKey: parameters.apiKey,
|
|
360
|
+
baseURL: parameters.apiBase,
|
|
361
|
+
organization: parameters.organization,
|
|
362
|
+
}
|
|
363
|
+
const openai = new OpenAI(clientParams);
|
|
417
364
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
);
|
|
365
|
+
const response = await openai.beta.assistants.list({
|
|
366
|
+
...parameters.payload,
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
return response.body;
|
|
424
370
|
}
|
|
425
|
-
createAssistant(parameters) {
|
|
426
|
-
|
|
371
|
+
async createAssistant(parameters) {
|
|
372
|
+
const clientParams = {
|
|
373
|
+
apiKey: parameters.apiKey,
|
|
374
|
+
baseURL: parameters.apiBase,
|
|
375
|
+
organization: parameters.organization,
|
|
376
|
+
}
|
|
377
|
+
const openai = new OpenAI(clientParams);
|
|
427
378
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
null,
|
|
434
|
-
customHeaders,
|
|
435
|
-
);
|
|
379
|
+
const response = await openai.beta.assistants.create({
|
|
380
|
+
...parameters.payload,
|
|
381
|
+
});
|
|
382
|
+
|
|
383
|
+
return response;
|
|
436
384
|
}
|
|
437
|
-
getAssistant(parameters) {
|
|
438
|
-
const
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
);
|
|
385
|
+
async getAssistant(parameters) {
|
|
386
|
+
const clientParams = {
|
|
387
|
+
apiKey: parameters.apiKey,
|
|
388
|
+
baseURL: parameters.apiBase,
|
|
389
|
+
organization: parameters.organization,
|
|
390
|
+
}
|
|
391
|
+
const openai = new OpenAI(clientParams);
|
|
392
|
+
|
|
393
|
+
const id = parameters.payload.assistant_id;
|
|
394
|
+
const response = await openai.beta.assistants.retrieve(id);
|
|
395
|
+
|
|
396
|
+
return response;
|
|
447
397
|
}
|
|
448
|
-
modifyAssistant(parameters) {
|
|
449
|
-
const
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
398
|
+
async modifyAssistant(parameters) {
|
|
399
|
+
const clientParams = {
|
|
400
|
+
apiKey: parameters.apiKey,
|
|
401
|
+
baseURL: parameters.apiBase,
|
|
402
|
+
organization: parameters.organization,
|
|
403
|
+
}
|
|
404
|
+
const openai = new OpenAI(clientParams);
|
|
405
|
+
|
|
406
|
+
const id = parameters.payload.assistant_id;
|
|
407
|
+
delete parameters.payload.assistant_id;
|
|
408
|
+
|
|
409
|
+
const response = await openai.beta.assistants.update(id, {
|
|
410
|
+
...parameters.payload,
|
|
411
|
+
});
|
|
412
|
+
|
|
413
|
+
return response;
|
|
460
414
|
}
|
|
461
|
-
deleteAssistant(parameters) {
|
|
462
|
-
const
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
);
|
|
415
|
+
async deleteAssistant(parameters) {
|
|
416
|
+
const clientParams = {
|
|
417
|
+
apiKey: parameters.apiKey,
|
|
418
|
+
baseURL: parameters.apiBase,
|
|
419
|
+
organization: parameters.organization,
|
|
420
|
+
}
|
|
421
|
+
const openai = new OpenAI(clientParams);
|
|
422
|
+
|
|
423
|
+
const id = parameters.payload.assistant_id;
|
|
424
|
+
const response = await openai.beta.assistants.del(id);
|
|
425
|
+
|
|
426
|
+
return response;
|
|
471
427
|
}
|
|
472
|
-
createThread(parameters) {
|
|
473
|
-
const
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
parameters,
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
428
|
+
async createThread(parameters) {
|
|
429
|
+
const clientParams = {
|
|
430
|
+
apiKey: parameters.apiKey,
|
|
431
|
+
baseURL: parameters.apiBase,
|
|
432
|
+
organization: parameters.organization,
|
|
433
|
+
}
|
|
434
|
+
const openai = new OpenAI(clientParams);
|
|
435
|
+
|
|
436
|
+
const response = await openai.beta.threads.create({
|
|
437
|
+
...parameters.payload,
|
|
438
|
+
});
|
|
439
|
+
|
|
440
|
+
return response;
|
|
482
441
|
}
|
|
483
|
-
getThread(parameters) {
|
|
484
|
-
const
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
);
|
|
442
|
+
async getThread(parameters) {
|
|
443
|
+
const clientParams = {
|
|
444
|
+
apiKey: parameters.apiKey,
|
|
445
|
+
baseURL: parameters.apiBase,
|
|
446
|
+
organization: parameters.organization,
|
|
447
|
+
}
|
|
448
|
+
const openai = new OpenAI(clientParams);
|
|
449
|
+
|
|
450
|
+
const id = parameters.payload.thread_id;
|
|
451
|
+
const response = await openai.beta.threads.retrieve(id);
|
|
452
|
+
|
|
453
|
+
return response;
|
|
493
454
|
}
|
|
494
|
-
modifyThread(parameters) {
|
|
495
|
-
const
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
455
|
+
async modifyThread(parameters) {
|
|
456
|
+
const clientParams = {
|
|
457
|
+
apiKey: parameters.apiKey,
|
|
458
|
+
baseURL: parameters.apiBase,
|
|
459
|
+
organization: parameters.organization,
|
|
460
|
+
}
|
|
461
|
+
const openai = new OpenAI(clientParams);
|
|
462
|
+
|
|
463
|
+
const id = parameters.payload.thread_id;
|
|
464
|
+
delete parameters.payload.thread_id;
|
|
465
|
+
|
|
466
|
+
const response = await openai.beta.threads.update(id, {
|
|
467
|
+
...parameters.payload,
|
|
468
|
+
});
|
|
469
|
+
|
|
470
|
+
return response;
|
|
506
471
|
}
|
|
507
|
-
deleteThread(parameters) {
|
|
508
|
-
const
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
);
|
|
472
|
+
async deleteThread(parameters) {
|
|
473
|
+
const clientParams = {
|
|
474
|
+
apiKey: parameters.apiKey,
|
|
475
|
+
baseURL: parameters.apiBase,
|
|
476
|
+
organization: parameters.organization,
|
|
477
|
+
}
|
|
478
|
+
const openai = new OpenAI(clientParams);
|
|
479
|
+
|
|
480
|
+
const id = parameters.payload.thread_id;
|
|
481
|
+
const response = await openai.beta.threads.del(id);
|
|
482
|
+
|
|
483
|
+
return response;
|
|
517
484
|
}
|
|
518
|
-
listMessages(parameters) {
|
|
519
|
-
const
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
485
|
+
async listMessages(parameters) {
|
|
486
|
+
const clientParams = {
|
|
487
|
+
apiKey: parameters.apiKey,
|
|
488
|
+
baseURL: parameters.apiBase,
|
|
489
|
+
organization: parameters.organization,
|
|
490
|
+
}
|
|
491
|
+
const openai = new OpenAI(clientParams);
|
|
492
|
+
|
|
493
|
+
const id = parameters.payload.thread_id;
|
|
494
|
+
const response = await openai.beta.threads.messages.list(id);
|
|
495
|
+
|
|
496
|
+
return response.body;
|
|
529
497
|
}
|
|
530
|
-
createMessage(parameters) {
|
|
531
|
-
const
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
498
|
+
async createMessage(parameters) {
|
|
499
|
+
const clientParams = {
|
|
500
|
+
apiKey: parameters.apiKey,
|
|
501
|
+
baseURL: parameters.apiBase,
|
|
502
|
+
organization: parameters.organization,
|
|
503
|
+
}
|
|
504
|
+
const openai = new OpenAI(clientParams);
|
|
505
|
+
|
|
506
|
+
const thread_id = parameters.payload.thread_id;
|
|
507
|
+
delete parameters.payload.thread_id;
|
|
508
|
+
|
|
509
|
+
const response = await openai.beta.threads.messages.create(thread_id, {
|
|
510
|
+
...parameters.payload,
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
return response;
|
|
542
514
|
}
|
|
543
|
-
getMessage(parameters) {
|
|
544
|
-
const
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
515
|
+
async getMessage(parameters) {
|
|
516
|
+
const clientParams = {
|
|
517
|
+
apiKey: parameters.apiKey,
|
|
518
|
+
baseURL: parameters.apiBase,
|
|
519
|
+
organization: parameters.organization,
|
|
520
|
+
}
|
|
521
|
+
const openai = new OpenAI(clientParams);
|
|
522
|
+
|
|
523
|
+
const thread_id = parameters.payload.thread_id;
|
|
524
|
+
const message_id = parameters.payload.message_id;
|
|
525
|
+
|
|
526
|
+
const response = await openai.beta.threads.messages.retrieve(
|
|
527
|
+
thread_id,
|
|
528
|
+
message_id,
|
|
554
529
|
);
|
|
530
|
+
|
|
531
|
+
return response;
|
|
555
532
|
}
|
|
556
|
-
modifyMessage(parameters) {
|
|
557
|
-
const
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
533
|
+
async modifyMessage(parameters) {
|
|
534
|
+
const clientParams = {
|
|
535
|
+
apiKey: parameters.apiKey,
|
|
536
|
+
baseURL: parameters.apiBase,
|
|
537
|
+
organization: parameters.organization,
|
|
538
|
+
}
|
|
539
|
+
const openai = new OpenAI(clientParams);
|
|
540
|
+
|
|
541
|
+
const thread_id = parameters.payload.thread_id;
|
|
542
|
+
const message_id = parameters.payload.message_id;
|
|
543
|
+
delete parameters.payload.thread_id;
|
|
544
|
+
delete parameters.payload.message_id;
|
|
545
|
+
|
|
546
|
+
const response = await openai.beta.threads.messages.update(
|
|
547
|
+
thread_id,
|
|
548
|
+
message_id,
|
|
549
|
+
{
|
|
550
|
+
...parameters.payload,
|
|
551
|
+
},
|
|
569
552
|
);
|
|
570
|
-
}
|
|
571
|
-
createThreadAndRun(parameters) {
|
|
572
|
-
const customHeaders = { "OpenAI-Beta": "assistants=v1" };
|
|
573
553
|
|
|
574
|
-
return
|
|
575
|
-
"/threads/runs",
|
|
576
|
-
parameters,
|
|
577
|
-
null,
|
|
578
|
-
null,
|
|
579
|
-
null,
|
|
580
|
-
customHeaders,
|
|
581
|
-
);
|
|
554
|
+
return response;
|
|
582
555
|
}
|
|
583
|
-
|
|
584
|
-
const
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
);
|
|
556
|
+
async createThreadAndRun(parameters) {
|
|
557
|
+
const clientParams = {
|
|
558
|
+
apiKey: parameters.apiKey,
|
|
559
|
+
baseURL: parameters.apiBase,
|
|
560
|
+
organization: parameters.organization,
|
|
561
|
+
}
|
|
562
|
+
const openai = new OpenAI(clientParams);
|
|
563
|
+
|
|
564
|
+
const response = await openai.beta.threads.createAndRun({
|
|
565
|
+
...parameters.payload,
|
|
566
|
+
});
|
|
567
|
+
|
|
568
|
+
return response;
|
|
594
569
|
}
|
|
595
|
-
|
|
596
|
-
const
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
570
|
+
async listRuns(parameters) {
|
|
571
|
+
const clientParams = {
|
|
572
|
+
apiKey: parameters.apiKey,
|
|
573
|
+
baseURL: parameters.apiBase,
|
|
574
|
+
organization: parameters.organization,
|
|
575
|
+
}
|
|
576
|
+
const openai = new OpenAI(clientParams);
|
|
577
|
+
|
|
578
|
+
const thred_id = parameters.payload.thread_id;
|
|
579
|
+
delete parameters.payload.thread_id;
|
|
580
|
+
|
|
581
|
+
const response = await openai.beta.threads.runs.list(thred_id, {
|
|
582
|
+
...parameters.payload,
|
|
583
|
+
});
|
|
584
|
+
|
|
585
|
+
return response.body;
|
|
607
586
|
}
|
|
608
|
-
|
|
609
|
-
const
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
587
|
+
async createRun(parameters) {
|
|
588
|
+
const clientParams = {
|
|
589
|
+
apiKey: parameters.apiKey,
|
|
590
|
+
baseURL: parameters.apiBase,
|
|
591
|
+
organization: parameters.organization,
|
|
592
|
+
}
|
|
593
|
+
const openai = new OpenAI(clientParams);
|
|
594
|
+
|
|
595
|
+
const thread_id = parameters.payload.thread_id;
|
|
596
|
+
delete parameters.payload.thread_id;
|
|
597
|
+
|
|
598
|
+
const response = await openai.beta.threads.runs.create(thread_id, {
|
|
599
|
+
...parameters.payload,
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
return response;
|
|
620
603
|
}
|
|
621
|
-
|
|
622
|
-
const
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
604
|
+
async getRun(parameters) {
|
|
605
|
+
const clientParams = {
|
|
606
|
+
apiKey: parameters.apiKey,
|
|
607
|
+
baseURL: parameters.apiBase,
|
|
608
|
+
organization: parameters.organization,
|
|
609
|
+
}
|
|
610
|
+
const openai = new OpenAI(clientParams);
|
|
611
|
+
|
|
612
|
+
const thread_id = parameters.payload.thread_id;
|
|
613
|
+
const run_id = parameters.payload.run_id;
|
|
614
|
+
delete parameters.payload.thread_id;
|
|
615
|
+
delete parameters.payload.run_id;
|
|
616
|
+
|
|
617
|
+
const response = await openai.beta.threads.runs.retrieve(
|
|
618
|
+
thread_id,
|
|
619
|
+
run_id,
|
|
634
620
|
);
|
|
621
|
+
|
|
622
|
+
return response;
|
|
635
623
|
}
|
|
636
|
-
|
|
637
|
-
const
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
624
|
+
async modifyRun(parameters) {
|
|
625
|
+
const clientParams = {
|
|
626
|
+
apiKey: parameters.apiKey,
|
|
627
|
+
baseURL: parameters.apiBase,
|
|
628
|
+
organization: parameters.organization,
|
|
629
|
+
}
|
|
630
|
+
const openai = new OpenAI(clientParams);
|
|
631
|
+
|
|
632
|
+
const thread_id = parameters.payload.thread_id;
|
|
633
|
+
const run_id = parameters.payload.run_id;
|
|
634
|
+
delete parameters.payload.thread_id;
|
|
635
|
+
delete parameters.payload.run_id;
|
|
636
|
+
|
|
637
|
+
const response = await openai.beta.threads.runs.update(
|
|
638
|
+
thread_id,
|
|
639
|
+
run_id,
|
|
640
|
+
{
|
|
641
|
+
...parameters.payload,
|
|
642
|
+
},
|
|
649
643
|
);
|
|
644
|
+
|
|
645
|
+
return response;
|
|
650
646
|
}
|
|
651
|
-
|
|
652
|
-
const
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
647
|
+
async submitToolOuputsToRun(parameters) {
|
|
648
|
+
const clientParams = {
|
|
649
|
+
apiKey: parameters.apiKey,
|
|
650
|
+
baseURL: parameters.apiBase,
|
|
651
|
+
organization: parameters.organization,
|
|
652
|
+
}
|
|
653
|
+
const openai = new OpenAI(clientParams);
|
|
654
|
+
|
|
655
|
+
const thread_id = parameters.payload.thread_id;
|
|
656
|
+
const run_id = parameters.payload.run_id;
|
|
657
|
+
delete parameters.payload.thread_id;
|
|
658
|
+
delete parameters.payload.run_id;
|
|
659
|
+
|
|
660
|
+
const response = await openai.beta.threads.runs.submitToolOutputs(
|
|
661
|
+
thread_id,
|
|
662
|
+
run_id,
|
|
663
|
+
{
|
|
664
|
+
...parameters.payload,
|
|
665
|
+
},
|
|
664
666
|
);
|
|
667
|
+
|
|
668
|
+
return response;
|
|
665
669
|
}
|
|
666
|
-
|
|
667
|
-
const
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
670
|
+
async cancelRun(parameters) {
|
|
671
|
+
const clientParams = {
|
|
672
|
+
apiKey: parameters.apiKey,
|
|
673
|
+
baseURL: parameters.apiBase,
|
|
674
|
+
organization: parameters.organization,
|
|
675
|
+
}
|
|
676
|
+
const openai = new OpenAI(clientParams);
|
|
677
|
+
|
|
678
|
+
const thread_id = parameters.payload.thread_id;
|
|
679
|
+
const run_id = parameters.payload.run_id;
|
|
680
|
+
delete parameters.payload.thread_id;
|
|
681
|
+
delete parameters.payload.run_id;
|
|
682
|
+
|
|
683
|
+
const response = await openai.beta.threads.runs.cancel(
|
|
684
|
+
thread_id,
|
|
685
|
+
run_id,
|
|
686
|
+
{
|
|
687
|
+
...parameters.payload,
|
|
688
|
+
},
|
|
678
689
|
);
|
|
690
|
+
|
|
691
|
+
return response;
|
|
679
692
|
}
|
|
680
|
-
|
|
681
|
-
const
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
693
|
+
async listRunSteps(parameters) {
|
|
694
|
+
const clientParams = {
|
|
695
|
+
apiKey: parameters.apiKey,
|
|
696
|
+
baseURL: parameters.apiBase,
|
|
697
|
+
organization: parameters.organization,
|
|
698
|
+
}
|
|
699
|
+
const openai = new OpenAI(clientParams);
|
|
700
|
+
|
|
701
|
+
const thread_id = parameters.payload.thread_id;
|
|
702
|
+
const run_id = parameters.payload.run_id;
|
|
703
|
+
delete parameters.payload.thread_id;
|
|
704
|
+
delete parameters.payload.run_id;
|
|
705
|
+
|
|
706
|
+
const response = await openai.beta.threads.runs.steps.list(
|
|
707
|
+
thread_id,
|
|
708
|
+
run_id,
|
|
709
|
+
{
|
|
710
|
+
...parameters.payload,
|
|
711
|
+
},
|
|
692
712
|
);
|
|
713
|
+
|
|
714
|
+
return response.body;
|
|
693
715
|
}
|
|
694
|
-
|
|
695
|
-
const
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
716
|
+
async getRunStep(parameters) {
|
|
717
|
+
const clientParams = {
|
|
718
|
+
apiKey: parameters.apiKey,
|
|
719
|
+
baseURL: parameters.apiBase,
|
|
720
|
+
organization: parameters.organization,
|
|
721
|
+
}
|
|
722
|
+
const openai = new OpenAI(clientParams);
|
|
723
|
+
|
|
724
|
+
const thread_id = parameters.payload.thread_id;
|
|
725
|
+
const run_id = parameters.payload.run_id;
|
|
726
|
+
const step_id = parameters.payload.step_id;
|
|
727
|
+
|
|
728
|
+
const response = await openai.beta.threads.runs.steps.retrieve(
|
|
729
|
+
thread_id,
|
|
730
|
+
run_id,
|
|
731
|
+
step_id,
|
|
704
732
|
);
|
|
733
|
+
|
|
734
|
+
return response;
|
|
705
735
|
}
|
|
706
|
-
|
|
707
|
-
const
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
736
|
+
async listAssistantFiles(parameters) {
|
|
737
|
+
const clientParams = {
|
|
738
|
+
apiKey: parameters.apiKey,
|
|
739
|
+
baseURL: parameters.apiBase,
|
|
740
|
+
organization: parameters.organization,
|
|
741
|
+
}
|
|
742
|
+
const openai = new OpenAI(clientParams);
|
|
743
|
+
|
|
744
|
+
const assistant_id = parameters.payload.assistant_id;
|
|
745
|
+
delete parameters.payload.assistant_id;
|
|
746
|
+
|
|
747
|
+
const response = await openai.beta.assistants.files.list(assistant_id, {
|
|
748
|
+
...parameters.payload,
|
|
749
|
+
});
|
|
750
|
+
|
|
751
|
+
return response.body;
|
|
718
752
|
}
|
|
719
|
-
|
|
720
|
-
const
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
753
|
+
async createAssistantFile(parameters) {
|
|
754
|
+
const clientParams = {
|
|
755
|
+
apiKey: parameters.apiKey,
|
|
756
|
+
baseURL: parameters.apiBase,
|
|
757
|
+
organization: parameters.organization,
|
|
758
|
+
}
|
|
759
|
+
const openai = new OpenAI(clientParams);
|
|
760
|
+
|
|
761
|
+
const assistant_id = parameters.payload.assistant_id;
|
|
762
|
+
delete parameters.payload.assistant_id;
|
|
763
|
+
|
|
764
|
+
const response = await openai.beta.assistants.files.create(assistant_id, {
|
|
765
|
+
...parameters.payload,
|
|
766
|
+
});
|
|
767
|
+
|
|
768
|
+
return response;
|
|
731
769
|
}
|
|
732
|
-
|
|
733
|
-
const
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
770
|
+
async getAssistantFile(parameters) {
|
|
771
|
+
const clientParams = {
|
|
772
|
+
apiKey: parameters.apiKey,
|
|
773
|
+
baseURL: parameters.apiBase,
|
|
774
|
+
organization: parameters.organization,
|
|
775
|
+
}
|
|
776
|
+
const openai = new OpenAI(clientParams);
|
|
777
|
+
|
|
778
|
+
const assistant_id = parameters.payload.assistant_id;
|
|
779
|
+
const file_id = parameters.payload.file_id;
|
|
780
|
+
delete parameters.payload.assistant_id;
|
|
781
|
+
delete parameters.payload.file_id;
|
|
782
|
+
|
|
783
|
+
const response = await openai.beta.assistants.files.retrieve(
|
|
784
|
+
assistant_id,
|
|
785
|
+
file_id,
|
|
786
|
+
{
|
|
787
|
+
...parameters.payload,
|
|
788
|
+
},
|
|
743
789
|
);
|
|
790
|
+
|
|
791
|
+
return response;
|
|
744
792
|
}
|
|
745
|
-
|
|
746
|
-
const
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
793
|
+
async deleteAssistantFile(parameters) {
|
|
794
|
+
const clientParams = {
|
|
795
|
+
apiKey: parameters.apiKey,
|
|
796
|
+
baseURL: parameters.apiBase,
|
|
797
|
+
organization: parameters.organization,
|
|
798
|
+
}
|
|
799
|
+
const openai = new OpenAI(clientParams);
|
|
800
|
+
|
|
801
|
+
const assistant_id = parameters.payload.assistant_id;
|
|
802
|
+
const file_id = parameters.payload.file_id;
|
|
803
|
+
delete parameters.payload.assistant_id;
|
|
804
|
+
delete parameters.payload.file_id;
|
|
805
|
+
|
|
806
|
+
const response = await openai.beta.assistants.files.del(
|
|
807
|
+
assistant_id,
|
|
808
|
+
file_id,
|
|
809
|
+
{
|
|
810
|
+
...parameters.payload,
|
|
811
|
+
},
|
|
757
812
|
);
|
|
813
|
+
|
|
814
|
+
return response;
|
|
758
815
|
}
|
|
759
|
-
|
|
760
|
-
const
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
816
|
+
async listMessageFiles(parameters) {
|
|
817
|
+
const clientParams = {
|
|
818
|
+
apiKey: parameters.apiKey,
|
|
819
|
+
baseURL: parameters.apiBase,
|
|
820
|
+
organization: parameters.organization,
|
|
821
|
+
}
|
|
822
|
+
const openai = new OpenAI(clientParams);
|
|
823
|
+
|
|
824
|
+
const thread_id = parameters.payload.thread_id;
|
|
825
|
+
const message_id = parameters.payload.message_id;
|
|
826
|
+
delete parameters.payload.thread_id;
|
|
827
|
+
delete parameters.payload.message_id;
|
|
828
|
+
|
|
829
|
+
const response = await openai.beta.threads.messages.files.list(
|
|
830
|
+
thread_id,
|
|
831
|
+
message_id,
|
|
832
|
+
{
|
|
833
|
+
...parameters.payload,
|
|
834
|
+
},
|
|
772
835
|
);
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
836
|
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
837
|
+
return response;
|
|
838
|
+
}
|
|
839
|
+
async getMessageFile(parameters) {
|
|
840
|
+
const clientParams = {
|
|
841
|
+
apiKey: parameters.apiKey,
|
|
842
|
+
baseURL: parameters.apiBase,
|
|
843
|
+
organization: parameters.organization,
|
|
844
|
+
}
|
|
845
|
+
const openai = new OpenAI(clientParams);
|
|
846
|
+
|
|
847
|
+
const thread_id = parameters.payload.thread_id;
|
|
848
|
+
const message_id = parameters.payload.message_id;
|
|
849
|
+
const file_id = parameters.payload.file_id;
|
|
850
|
+
|
|
851
|
+
delete parameters.payload.thread_id;
|
|
852
|
+
delete parameters.payload.message_id;
|
|
853
|
+
delete parameters.payload.file_id;
|
|
854
|
+
|
|
855
|
+
const response = await openai.beta.threads.messages.files.retrieve(
|
|
856
|
+
thread_id,
|
|
857
|
+
message_id,
|
|
858
|
+
file_id,
|
|
859
|
+
{
|
|
860
|
+
...parameters.payload,
|
|
782
861
|
},
|
|
783
862
|
);
|
|
863
|
+
|
|
864
|
+
return response;
|
|
784
865
|
}
|
|
785
|
-
return queryParameters;
|
|
786
866
|
}
|
|
787
867
|
|
|
788
868
|
return OpenaiApi;
|