symposium 2.3.1 → 2.3.3
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/Models/GrokModel.js +1 -1
- package/Models/OpenAIModel.js +28 -14
- package/package.json +1 -1
package/Models/GrokModel.js
CHANGED
|
@@ -33,7 +33,7 @@ export default class GrokModel extends LegacyOpenAIModel {
|
|
|
33
33
|
properties: {
|
|
34
34
|
prompt: {
|
|
35
35
|
type: 'string',
|
|
36
|
-
description: 'A detailed description of the image to generate',
|
|
36
|
+
description: 'A detailed description of the image to generate - MUST be in English',
|
|
37
37
|
},
|
|
38
38
|
},
|
|
39
39
|
required: ['prompt'],
|
package/Models/OpenAIModel.js
CHANGED
|
@@ -70,7 +70,7 @@ export default class OpenAIModel extends Model {
|
|
|
70
70
|
|
|
71
71
|
const convertedMessages = [];
|
|
72
72
|
for (let m of messages)
|
|
73
|
-
convertedMessages.push(...this.convertMessage(m, model));
|
|
73
|
+
convertedMessages.push(...(await this.convertMessage(m, model)));
|
|
74
74
|
|
|
75
75
|
const tools = functions.map(f => ({
|
|
76
76
|
type: 'function',
|
|
@@ -118,9 +118,9 @@ export default class OpenAIModel extends Model {
|
|
|
118
118
|
const mime = output.output_format === 'png' ? 'image/png' : 'image/jpeg';
|
|
119
119
|
message_content.push({
|
|
120
120
|
type: 'image',
|
|
121
|
-
|
|
121
|
+
content: {
|
|
122
122
|
type: 'base64',
|
|
123
|
-
|
|
123
|
+
mime,
|
|
124
124
|
data: output.result,
|
|
125
125
|
},
|
|
126
126
|
meta: {
|
|
@@ -174,7 +174,7 @@ export default class OpenAIModel extends Model {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
convertMessage(message, model) {
|
|
177
|
+
async convertMessage(message, model) {
|
|
178
178
|
const messages = [],
|
|
179
179
|
role = message.role === 'system' ? this.system_role_name : message.role;
|
|
180
180
|
|
|
@@ -188,16 +188,30 @@ export default class OpenAIModel extends Model {
|
|
|
188
188
|
break;
|
|
189
189
|
|
|
190
190
|
case 'image':
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
191
|
+
if (c.meta?.id) { // From model image generation
|
|
192
|
+
let base64;
|
|
193
|
+
if (c.content.type === 'base64') {
|
|
194
|
+
base64 = c.content.data;
|
|
195
|
+
} else {
|
|
196
|
+
// Fetch image and convert to base64
|
|
197
|
+
const response = await fetch(c.content.data);
|
|
198
|
+
const buffer = await response.arrayBuffer();
|
|
199
|
+
base64 = Buffer.from(buffer).toString('base64');
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
messages.push({
|
|
203
|
+
type: 'image_generation_call',
|
|
204
|
+
id: c.meta.id,
|
|
205
|
+
result: base64,
|
|
206
|
+
status: c.meta.status,
|
|
207
|
+
});
|
|
208
|
+
} else {
|
|
209
|
+
messages.push({
|
|
210
|
+
type: 'input_image',
|
|
211
|
+
image_url: c.content.type === 'base64' ? 'data:' + c.content.mime + ';base64,' + c.content.data : c.content.data,
|
|
212
|
+
detail: c.content.detail || 'auto',
|
|
213
|
+
});
|
|
214
|
+
}
|
|
201
215
|
break;
|
|
202
216
|
|
|
203
217
|
case 'audio':
|