chore: init max tokens for mindie models

This commit is contained in:
jialin
2025-04-12 11:48:02 +08:00
parent fb8fcc5028
commit f77bf37be8
3 changed files with 33 additions and 13 deletions
+1 -1
View File
@@ -96,7 +96,7 @@
} }
color: var(--color-logs-text); color: var(--color-logs-text);
font-size: var(--font-size-base); font-size: var(--font-size-small);
line-height: 22px; line-height: 22px;
white-space: pre-wrap; white-space: pre-wrap;
background-color: var(--color-logs-bg); background-color: var(--color-logs-bg);
+2 -1
View File
@@ -7,7 +7,8 @@ export const LLM_METAKEYS: Record<string, any> = {
n_slot: 'n_slot', n_slot: 'n_slot',
max_model_len: 'max_model_len', max_model_len: 'max_model_len',
frequency_penalty: 'frequency_penalty', frequency_penalty: 'frequency_penalty',
presence_penalty: 'presence_penalty' presence_penalty: 'presence_penalty',
max_total_tokens: 'max_total_tokens'
}; };
export const precisionTwoKeys = [ export const precisionTwoKeys = [
+30 -11
View File
@@ -75,6 +75,26 @@ export const useInitLLmMeta = (
// use for multiple chat // use for multiple chat
return model; return model;
}, [model, modelList, isChat]); }, [model, modelList, isChat]);
const getMaxTokens = (meta: any) => {
const { max_model_len, n_ctx, n_slot, max_total_tokens } = meta || {};
let max_tokens: number = 0;
if (n_ctx && n_slot) {
max_tokens = _.divide(n_ctx, n_slot);
} else if (max_model_len) {
max_tokens = max_model_len;
} else if (max_total_tokens) {
max_tokens = max_total_tokens;
}
return {
max_tokens: max_tokens || 16 * 1024,
defaultFormValue: max_tokens ? _.divide(max_tokens, 2) : 1024
};
};
const extractLLMMeta = (meta: any) => { const extractLLMMeta = (meta: any) => {
const towKeys = new Set(precisionTwoKeys); const towKeys = new Set(precisionTwoKeys);
const modelMeta = meta || {}; const modelMeta = meta || {};
@@ -87,23 +107,22 @@ export const useInitLLmMeta = (
return acc; return acc;
}, {}); }, {});
let defaultMaxTokens = 1024; const tokensRes = getMaxTokens(obj);
if (obj.n_ctx && obj.n_slot) {
defaultMaxTokens = _.divide(obj.n_ctx / 2, obj.n_slot);
} else if (obj.max_model_len) {
defaultMaxTokens = obj.max_model_len / 2;
}
return { return {
form: _.merge({}, defaultValues, { form: _.merge({}, defaultValues, {
..._.omit(obj, ['n_ctx', 'n_slot', 'max_model_len']), ..._.omit(obj, [
'n_ctx',
'n_slot',
'max_model_len',
'max_total_tokens'
]),
seed: obj.seed === -1 ? null : obj.seed, seed: obj.seed === -1 ? null : obj.seed,
max_tokens: defaultMaxTokens max_tokens: tokensRes.defaultFormValue
}), }),
meta: { meta: {
...obj, ...obj,
max_tokens: obj.max_model_len || _.divide(obj.n_ctx, obj.n_slot) max_tokens: tokensRes.max_tokens
} }
}; };
}; };
@@ -132,7 +151,7 @@ export const useInitLLmMeta = (
...item, ...item,
attrs: attrs:
item.name === 'max_tokens' item.name === 'max_tokens'
? { ...item.attrs, max: meta.max_tokens || 16 * 1024 } ? { ...item.attrs, max: meta.max_tokens }
: { : {
...item.attrs ...item.attrs
} }