jan/web/utils/modelParam.ts
Louis 5ca3069fa1
fix: image upload button and drag event are not enabled (#2248)
* fix: image upload button and drag event are not enabled

* fix: add tooltips for unsupported model
2024-03-06 09:09:38 +07:00

58 lines
1.5 KiB
TypeScript

import { ModelRuntimeParams, ModelSettingParams } from '@janhq/core'
import { ModelParams } from '@/helpers/atoms/Thread.atom'
export const toRuntimeParams = (
modelParams?: ModelParams
): ModelRuntimeParams => {
if (!modelParams) return {}
const defaultModelParams: ModelRuntimeParams = {
temperature: undefined,
token_limit: undefined,
top_k: undefined,
top_p: undefined,
stream: undefined,
max_tokens: undefined,
stop: undefined,
frequency_penalty: undefined,
presence_penalty: undefined,
}
const runtimeParams: ModelRuntimeParams = {}
for (const [key, value] of Object.entries(modelParams)) {
if (key in defaultModelParams) {
Object.assign(runtimeParams, { ...runtimeParams, [key]: value })
}
}
return runtimeParams
}
export const toSettingParams = (
modelParams?: ModelParams
): ModelSettingParams => {
if (!modelParams) return {}
const defaultSettingParams: ModelSettingParams = {
ctx_len: undefined,
ngl: undefined,
embedding: undefined,
n_parallel: undefined,
cpu_threads: undefined,
prompt_template: undefined,
llama_model_path: undefined,
mmproj: undefined,
vision_model: undefined,
text_model: undefined,
}
const settingParams: ModelSettingParams = {}
for (const [key, value] of Object.entries(modelParams)) {
if (key in defaultSettingParams) {
Object.assign(settingParams, { ...settingParams, [key]: value })
}
}
return settingParams
}