From 655f63714be74b664e8982fa168cd2f84a7e92f4 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Wed, 23 Oct 2024 15:21:22 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=93=20fix:=20Assistants=20Vision=20Pro?= =?UTF-8?q?mpt=20Error=20Handling=20(legacy)=20(#4529)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: vision prompt error handling * fix: Update model reference in chatV1 controller * remove model reference --- api/server/controllers/assistants/chatV1.js | 17 +++++++++++------ api/server/services/ToolService.js | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/api/server/controllers/assistants/chatV1.js b/api/server/controllers/assistants/chatV1.js index dcf76a4452..a1a023a447 100644 --- a/api/server/controllers/assistants/chatV1.js +++ b/api/server/controllers/assistants/chatV1.js @@ -314,7 +314,9 @@ const chatV1 = async (req, res) => { } if (typeof endpointOption.artifactsPrompt === 'string' && endpointOption.artifactsPrompt) { - body.additional_instructions = `${body.additional_instructions ?? ''}\n${endpointOption.artifactsPrompt}`.trim(); + body.additional_instructions = `${body.additional_instructions ?? ''}\n${ + endpointOption.artifactsPrompt + }`.trim(); } if (instructions) { @@ -371,11 +373,14 @@ const chatV1 = async (req, res) => { visionMessage.content = createVisionPrompt(plural); visionMessage = formatMessage({ message: visionMessage, endpoint: EModelEndpoint.openAI }); - visionPromise = openai.chat.completions.create({ - model: 'gpt-4-vision-preview', - messages: [visionMessage], - max_tokens: 4000, - }); + visionPromise = openai.chat.completions + .create({ + messages: [visionMessage], + max_tokens: 4000, + }) + .catch((error) => { + logger.error('[/assistants/chat/] Error creating vision prompt', error); + }); const pluralized = plural ? 's' : ''; body.additional_instructions = `${ diff --git a/api/server/services/ToolService.js b/api/server/services/ToolService.js index d502409593..778b29ff06 100644 --- a/api/server/services/ToolService.js +++ b/api/server/services/ToolService.js @@ -151,7 +151,7 @@ const processVisionRequest = async (client, currentAction) => { /** @type {ChatCompletion | undefined} */ const completion = await client.visionPromise; - if (completion.usage) { + if (completion && completion.usage) { recordUsage({ user: client.req.user.id, model: client.req.body.model,