diff --git a/src/models/gpt.js b/src/models/gpt.js index 8540778..4f33f22 100644 --- a/src/models/gpt.js +++ b/src/models/gpt.js @@ -21,7 +21,7 @@ export class GPT { async sendRequest(turns, systemMessage, stop_seq='***') { let messages = [{'role': 'system', 'content': systemMessage}].concat(turns); - + messages = strictFormat(messages); const pack = { model: this.model_name || "gpt-3.5-turbo", messages, @@ -29,7 +29,6 @@ export class GPT { ...(this.params || {}) }; if (this.model_name.includes('o1')) { - pack.messages = strictFormat(messages); delete pack.stop; } diff --git a/src/models/openrouter.js b/src/models/openrouter.js index 8e4530a..5cbc090 100644 --- a/src/models/openrouter.js +++ b/src/models/openrouter.js @@ -52,6 +52,24 @@ export class OpenRouter { return res; } + async sendVisionRequest(messages, systemMessage, imageBuffer) { + const imageMessages = [...messages]; + imageMessages.push({ + role: "user", + content: [ + { type: "text", text: systemMessage }, + { + type: "image_url", + image_url: { + url: `data:image/jpeg;base64,${imageBuffer.toString('base64')}` + } + } + ] + }); + + return this.sendRequest(imageMessages, systemMessage); + } + async embed(text) { throw new Error('Embeddings are not supported by Openrouter.'); }