From f5ef5ff5db9c9d8ea5dd4b3833e7bf19f4cc0dac Mon Sep 17 00:00:00 2001 From: Webifi Date: Fri, 2 Jun 2023 06:05:50 -0500 Subject: [PATCH] Change max token on model change --- src/lib/Chat.svelte | 4 ++-- src/lib/ChatSettingsModal.svelte | 4 +++- src/lib/Settings.svelte | 3 ++- src/lib/Stats.svelte | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lib/Chat.svelte b/src/lib/Chat.svelte index 6b4b43b..723c646 100644 --- a/src/lib/Chat.svelte +++ b/src/lib/Chat.svelte @@ -36,7 +36,7 @@ } from '@fortawesome/free-solid-svg-icons/index' // import { encode } from 'gpt-tokenizer' import { v4 as uuidv4 } from 'uuid' - import { countPromptTokens, getMaxModelPrompt, getPrice } from './Stats.svelte' + import { countPromptTokens, getModelMaxTokens, getPrice } from './Stats.svelte' import { autoGrowInputOnEvent, sizeTextElements } from './Util.svelte' import ChatSettingsModal from './ChatSettingsModal.svelte' import Footer from './Footer.svelte' @@ -148,7 +148,7 @@ updating = true const model = chat.settings.model || defaultModel - const maxTokens = getMaxModelPrompt(model) // max tokens for model + const maxTokens = getModelMaxTokens(model) // max tokens for model let response: Response diff --git a/src/lib/ChatSettingsModal.svelte b/src/lib/ChatSettingsModal.svelte index cab8783..3674579 100644 --- a/src/lib/ChatSettingsModal.svelte +++ b/src/lib/ChatSettingsModal.svelte @@ -27,6 +27,7 @@ import { exportProfileAsJSON } from './Export.svelte' import { afterUpdate } from 'svelte' import ChatSettingField from './ChatSettingField.svelte' + import { getModelMaxTokens } from './Stats.svelte'; export let chatId:number export const show = () => { showSettings() } @@ -123,6 +124,7 @@ const profileSelect = getChatSettingObjectByKey('profile') as ChatSetting & SettingSelect profileSelect.options = getProfileSelect() chatDefaults.profile = getDefaultProfileKey() + chatDefaults.max_tokens = getModelMaxTokens(chatSettings.model||'') // const defaultProfile = globalStore.defaultProfile || profileSelect.options[0].value } @@ -192,7 +194,7 @@ const setDirty = () => { chatSettings.isDirty = true - + } diff --git a/src/lib/Settings.svelte b/src/lib/Settings.svelte index 70dcfd6..7b544d4 100644 --- a/src/lib/Settings.svelte +++ b/src/lib/Settings.svelte @@ -277,7 +277,8 @@ const chatSettingsList: ChatSetting[] = [ max: 32768, step: 128, type: 'number', - forceApi: true // Since default here is different than gpt default, will make sure we always send it + forceApi: true, // Since default here is different than gpt default, will make sure we always send it + afterChange: (chatId, setting) => true, // refresh settings }, { key: 'presence_penalty', diff --git a/src/lib/Stats.svelte b/src/lib/Stats.svelte index 31952e2..0402617 100644 --- a/src/lib/Stats.svelte +++ b/src/lib/Stats.svelte @@ -38,7 +38,7 @@ }, 0) + 3 } - export const getMaxModelPrompt = (model:Model):number => { + export const getModelMaxTokens = (model:Model):number => { return getModelDetail(model)[2] }