From 2a3e81de3e988777bb02284c66765a53ca7d4bea Mon Sep 17 00:00:00 2001 From: darkskygit Date: Fri, 8 Nov 2024 05:07:45 +0000 Subject: [PATCH] fix: also check online model list if model not defined (#8726) --- .../server/src/plugins/copilot/providers/openai.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/backend/server/src/plugins/copilot/providers/openai.ts b/packages/backend/server/src/plugins/copilot/providers/openai.ts index 72500921b..d4aac5d64 100644 --- a/packages/backend/server/src/plugins/copilot/providers/openai.ts +++ b/packages/backend/server/src/plugins/copilot/providers/openai.ts @@ -126,7 +126,7 @@ export class OpenAIProvider }); } - protected checkParams({ + protected async checkParams({ messages, embeddings, model, @@ -137,7 +137,7 @@ export class OpenAIProvider model: string; options: CopilotChatOptions; }) { - if (!this.availableModels.includes(model)) { + if (!(await this.isModelAvailable(model))) { throw new CopilotPromptInvalid(`Invalid model: ${model}`); } if (Array.isArray(messages) && messages.length > 0) { @@ -219,7 +219,7 @@ export class OpenAIProvider model: string = 'gpt-4o-mini', options: CopilotChatOptions = {} ): Promise { - this.checkParams({ messages, model, options }); + await this.checkParams({ messages, model, options }); try { metrics.ai.counter('chat_text_calls').add(1, { model }); @@ -250,7 +250,7 @@ export class OpenAIProvider model: string = 'gpt-4o-mini', options: CopilotChatOptions = {} ): AsyncIterable { - this.checkParams({ messages, model, options }); + await this.checkParams({ messages, model, options }); try { metrics.ai.counter('chat_text_stream_calls').add(1, { model }); @@ -300,7 +300,7 @@ export class OpenAIProvider options: CopilotEmbeddingOptions = { dimensions: DEFAULT_DIMENSIONS } ): Promise { messages = Array.isArray(messages) ? messages : [messages]; - this.checkParams({ embeddings: messages, model, options }); + await this.checkParams({ embeddings: messages, model, options }); try { metrics.ai.counter('generate_embedding_calls').add(1, { model });