Merge pull request #5528 from menloresearch/fix/default-model-settings-jan-nano

🐛fix: default model settings for jan-nano-128k
This commit is contained in:
Louis 2025-06-25 06:07:31 -07:00 committed by GitHub
commit ea662c4876
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 35 additions and 4 deletions

View File

@ -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,
presence_penalty: undefined,
frequency_penalty: undefined,
}
const settingParams: ModelSettingParams = {}

View File

@ -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
presence_penalty?: number
frequency_penalty?: number
}
/**

View File

@ -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({
<InputControl
type={controllerProps.type}
placeholder={controllerProps.placeholder}
value={(controllerProps.value as string) || ''}
value={
typeof controllerProps.value === 'number'
? controllerProps.value.toString()
: (controllerProps.value as string) || ''
}
inputActions={controllerProps.input_actions}
className={className}
onChange={(newValue) => onChange(newValue)}

View File

@ -150,7 +150,7 @@ export const getProviders = async (): Promise<ModelProvider[]> => {
...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[]