diff --git a/core/src/browser/models/utils.ts b/core/src/browser/models/utils.ts index 2ac243b6a..d088e66ad 100644 --- a/core/src/browser/models/utils.ts +++ b/core/src/browser/models/utils.ts @@ -15,6 +15,8 @@ export const validationRules: { [key: string]: (value: any) => boolean } = { stop: (value: any) => Array.isArray(value) && value.every((v) => typeof v === 'string'), frequency_penalty: (value: any) => typeof value === 'number' && value >= 0 && value <= 1, presence_penalty: (value: any) => typeof value === 'number' && value >= 0 && value <= 1, + repeat_last_n: (value: any) => typeof value === 'number', + repeat_penalty: (value: any) => typeof value === 'number', ctx_len: (value: any) => Number.isInteger(value) && value >= 0, ngl: (value: any) => Number.isInteger(value), @@ -126,6 +128,14 @@ export const extractModelLoadParams = ( vision_model: undefined, text_model: undefined, engine: undefined, + top_p: undefined, + top_k: undefined, + min_p: undefined, + temperature: undefined, + repeat_penalty: undefined, + repeat_last_n: undefined, + presente_penalty: undefined, + frequency_penalty: undefined, } const settingParams: ModelSettingParams = {} diff --git a/core/src/types/model/modelEntity.ts b/core/src/types/model/modelEntity.ts index 83d8a864c..1910aeb87 100644 --- a/core/src/types/model/modelEntity.ts +++ b/core/src/types/model/modelEntity.ts @@ -121,6 +121,14 @@ export type ModelSettingParams = { vision_model?: boolean text_model?: boolean engine?: boolean + top_p?: number + top_k?: number + min_p?: number + temperature?: number + repeat_penalty?: number + repeat_last_n?: number + presente_penalty?: number + frequency_penalty?: number } /** diff --git a/web-app/src/containers/dynamicControllerSetting/index.tsx b/web-app/src/containers/dynamicControllerSetting/index.tsx index d0c7ee30a..4c2115399 100644 --- a/web-app/src/containers/dynamicControllerSetting/index.tsx +++ b/web-app/src/containers/dynamicControllerSetting/index.tsx @@ -10,7 +10,13 @@ type DynamicControllerProps = { title?: string className?: string description?: string - controllerType: 'input' | 'checkbox' | 'dropdown' | 'textarea' | 'slider' | string + controllerType: + | 'input' + | 'checkbox' + | 'dropdown' + | 'textarea' + | 'slider' + | string controllerProps: { value?: string | boolean | number placeholder?: string @@ -36,7 +42,11 @@ export function DynamicControllerSetting({ onChange(newValue)} diff --git a/web-app/src/services/providers.ts b/web-app/src/services/providers.ts index 358d06a72..c279620f2 100644 --- a/web-app/src/services/providers.ts +++ b/web-app/src/services/providers.ts @@ -150,7 +150,7 @@ export const getProviders = async (): Promise => { ...setting, controller_props: { ...setting.controller_props, - value: value ?? setting.controller_props.value, + value: value, }, } return acc @@ -254,7 +254,10 @@ export const updateSettings = async ( ...setting, controllerProps: { ...setting.controller_props, - value: setting.controller_props.value ?? '', + value: + setting.controller_props.value !== undefined + ? setting.controller_props.value + : '', }, controllerType: setting.controller_type, })) as SettingComponentProps[]