diff --git a/src/lib/ChatSettingField.svelte b/src/lib/ChatSettingField.svelte
index 394108b..a86f616 100644
--- a/src/lib/ChatSettingField.svelte
+++ b/src/lib/ChatSettingField.svelte
@@ -22,6 +22,14 @@
const chatId = chat.id
let show = false
+
+ const valueOf = (value: any) => {
+ if (typeof value === 'function') return value(chatId, setting)
+ return value
+ }
+
+ let header = valueOf(setting.header)
+ let headerClass = valueOf(setting.headerClass)
const buildFieldControls = () => {
fieldControls = (setting.fieldControls || [] as FieldControl[]).map(fc => {
@@ -38,6 +46,8 @@
afterUpdate(() => {
show = (typeof setting.hide !== 'function') || !setting.hide(chatId)
+ header = valueOf(setting.header)
+ headerClass = valueOf(setting.headerClass)
buildFieldControls()
})
@@ -146,9 +156,9 @@
{#if show}
- {#if setting.header}
-
{/if}
diff --git a/src/lib/Settings.svelte b/src/lib/Settings.svelte
index fb525af..09a3011 100644
--- a/src/lib/Settings.svelte
+++ b/src/lib/Settings.svelte
@@ -17,7 +17,7 @@ import {
type ChatSortOption
} from './Types.svelte'
- import { getTokens } from './Models.svelte'
+ import { getModelDetail, getTokens } from './Models.svelte'
export const defaultModel:Model = 'gpt-3.5-turbo'
@@ -410,6 +410,10 @@ const modelSetting: ChatSetting & SettingSelect = {
afterChange: (chatId, setting) => true // refresh settings
}
+const isNotOpenAI = (chatId) => {
+ return getModelDetail(getChatSettings(chatId).model).type !== 'OpenAIChat'
+}
+
const chatSettingsList: ChatSetting[] = [
profileSetting,
...systemPromptSettings,
@@ -420,7 +424,8 @@ const chatSettingsList: ChatSetting[] = [
key: 'stream',
name: 'Stream Response',
title: 'Stream responses as they are generated.',
- type: 'boolean'
+ type: 'boolean',
+ hide: isNotOpenAI
},
{
key: 'temperature',
@@ -451,7 +456,8 @@ const chatSettingsList: ChatSetting[] = [
min: 1,
max: 10,
step: 1,
- type: 'number'
+ type: 'number',
+ hide: isNotOpenAI
},
{
key: 'max_tokens',
@@ -463,6 +469,7 @@ const chatSettingsList: ChatSetting[] = [
max: 32768,
step: 1,
type: 'number',
+ hide: isNotOpenAI,
forceApi: true // Since default here is different than gpt default, will make sure we always send it
},
{
@@ -472,7 +479,8 @@ const chatSettingsList: ChatSetting[] = [
min: -2,
max: 2,
step: 0.2,
- type: 'number'
+ type: 'number',
+ hide: isNotOpenAI
},
{
key: 'frequency_penalty',
@@ -481,7 +489,8 @@ const chatSettingsList: ChatSetting[] = [
min: -2,
max: 2,
step: 0.2,
- type: 'number'
+ type: 'number',
+ hide: isNotOpenAI
},
{
// logit bias editor not implemented yet