From fe190658c1ae310b96c30c7cedd30f919ef2d4ce Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 4 Dec 2024 12:31:40 +0700 Subject: [PATCH] fix: 4209 - Inconsistent max tokens value persistence --- web/containers/ModelDropdown/index.tsx | 14 +++++++++----- web/hooks/useCreateNewThread.ts | 23 +++++++++++++++-------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/web/containers/ModelDropdown/index.tsx b/web/containers/ModelDropdown/index.tsx index 66a20a8542..dd6caa795c 100644 --- a/web/containers/ModelDropdown/index.tsx +++ b/web/containers/ModelDropdown/index.tsx @@ -187,15 +187,19 @@ const ModelDropdown = ({ ], }) - const overriddenSettings = - model?.settings.ctx_len && model.settings.ctx_len > 4096 - ? { ctx_len: 4096 } - : {} + const defaultContextLength = Math.min( + 8192, + model?.settings.ctx_len ?? 8192 + ) + const overriddenParameters = { + ctx_len: Math.min(8192, model?.settings.ctx_len ?? 8192), + max_tokens: defaultContextLength, + } const modelParams = { ...model?.parameters, ...model?.settings, - ...overriddenSettings, + ...overriddenParameters, } // Update model parameter to the thread state diff --git a/web/hooks/useCreateNewThread.ts b/web/hooks/useCreateNewThread.ts index 75aa99c27c..999c887cbc 100644 --- a/web/hooks/useCreateNewThread.ts +++ b/web/hooks/useCreateNewThread.ts @@ -105,14 +105,21 @@ export const useCreateNewThread = () => { enabled: true, settings: assistant.tools && assistant.tools[0].settings, } - const overriddenSettings = - defaultModel?.settings.ctx_len && defaultModel.settings.ctx_len > 2048 - ? { ctx_len: 4096 } - : {} - - const overriddenParameters = defaultModel?.parameters.max_tokens - ? { max_tokens: 4096 } - : {} + + // Default context length is 8192 + const defaultContextLength = Math.min( + 8192, + defaultModel?.settings.ctx_len ?? 8192 + ) + + const overriddenSettings = { + ctx_len: defaultContextLength, + } + + // Use ctx length by default + const overriddenParameters = { + max_tokens: defaultContextLength, + } const createdAt = Date.now() let instructions: string | undefined = assistant.instructions