mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-10-11 03:59:58 +08:00
fix: make model validation token budget configurable
This commit is contained in:
@@ -88,6 +88,17 @@ export const SETTINGS_REGISTRY: SettingDef[] = [
|
||||
label: "Max Output Tokens",
|
||||
min: 1,
|
||||
},
|
||||
{
|
||||
key: "MODEL_VALIDATION_MAX_TOKENS",
|
||||
group: "generation",
|
||||
type: "number",
|
||||
label: "Model Validation Max Tokens",
|
||||
description:
|
||||
"Token budget for model test requests. Increase for reasoning models that may emit thinking tokens first.",
|
||||
min: 1,
|
||||
max: 64000,
|
||||
default: "1000",
|
||||
},
|
||||
|
||||
// ── Access Control ───────────────────────────────────────────────
|
||||
{
|
||||
|
||||
@@ -494,6 +494,10 @@
|
||||
"MAX_OUTPUT_TOKENS": {
|
||||
"label": "Max Output Tokens"
|
||||
},
|
||||
"MODEL_VALIDATION_MAX_TOKENS": {
|
||||
"label": "Model Validation Max Tokens",
|
||||
"description": "Token budget for model test requests. Increase for reasoning models that may emit thinking tokens first."
|
||||
},
|
||||
"ACCESS_CODE_LIST": {
|
||||
"label": "Access Codes",
|
||||
"description": "Comma-separated list. Users must enter one to chat. Empty = open access."
|
||||
|
||||
@@ -494,6 +494,10 @@
|
||||
"MAX_OUTPUT_TOKENS": {
|
||||
"label": "最大出力トークン数"
|
||||
},
|
||||
"MODEL_VALIDATION_MAX_TOKENS": {
|
||||
"label": "モデル検証の最大トークン数",
|
||||
"description": "モデルテストリクエストのトークン予算。推論モデルが先に思考トークンを出す場合は増やしてください。"
|
||||
},
|
||||
"ACCESS_CODE_LIST": {
|
||||
"label": "アクセスコード",
|
||||
"description": "カンマ区切りのリスト。チャットにはいずれかの入力が必要です。空 = オープンアクセス。"
|
||||
|
||||
@@ -494,6 +494,10 @@
|
||||
"MAX_OUTPUT_TOKENS": {
|
||||
"label": "最大輸出 token 數"
|
||||
},
|
||||
"MODEL_VALIDATION_MAX_TOKENS": {
|
||||
"label": "模型驗證最大 token 數",
|
||||
"description": "模型測試請求的 token 預算。推理模型可能先輸出思考 token,可適當調大。"
|
||||
},
|
||||
"ACCESS_CODE_LIST": {
|
||||
"label": "存取碼",
|
||||
"description": "以逗號分隔的清單。使用者需輸入其中之一才能聊天。留空 = 開放存取。"
|
||||
|
||||
@@ -494,6 +494,10 @@
|
||||
"MAX_OUTPUT_TOKENS": {
|
||||
"label": "最大输出 token 数"
|
||||
},
|
||||
"MODEL_VALIDATION_MAX_TOKENS": {
|
||||
"label": "模型验证最大 token 数",
|
||||
"description": "模型测试请求的 token 预算。推理模型可能先输出思考 token,可适当调大。"
|
||||
},
|
||||
"ACCESS_CODE_LIST": {
|
||||
"label": "访问码",
|
||||
"description": "以逗号分隔的列表。用户需输入其中之一才能聊天。留空 = 开放访问。"
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
export const DEFAULT_MODEL_VALIDATION_MAX_TOKENS = 1000
|
||||
export const MAX_MODEL_VALIDATION_MAX_TOKENS = 64000
|
||||
|
||||
export function parseModelValidationMaxTokens(value: unknown): number | null {
|
||||
if (value === undefined || value === null || value === "") return null
|
||||
|
||||
const numeric =
|
||||
typeof value === "number" ? value : Number(String(value).trim())
|
||||
|
||||
if (
|
||||
!Number.isFinite(numeric) ||
|
||||
!Number.isInteger(numeric) ||
|
||||
numeric < 1
|
||||
) {
|
||||
return null
|
||||
}
|
||||
|
||||
return Math.min(numeric, MAX_MODEL_VALIDATION_MAX_TOKENS)
|
||||
}
|
||||
|
||||
export function resolveModelValidationMaxTokens(...sources: unknown[]): number {
|
||||
for (const source of sources) {
|
||||
const parsed = parseModelValidationMaxTokens(source)
|
||||
if (parsed !== null) return parsed
|
||||
}
|
||||
|
||||
return DEFAULT_MODEL_VALIDATION_MAX_TOKENS
|
||||
}
|
||||
Reference in New Issue
Block a user