feat:合并no_reply和wait
This commit is contained in:
@@ -78,6 +78,16 @@ function unwrapModelConfig(data: unknown): Record<string, unknown> {
|
||||
return data as Record<string, unknown>
|
||||
}
|
||||
|
||||
function getAdvancedTaskNames(schema: ConfigSchema | null): Set<string> {
|
||||
const advancedTaskNames = new Set(
|
||||
(schema?.fields ?? [])
|
||||
.filter((field) => field.advanced)
|
||||
.map((field) => field.name)
|
||||
)
|
||||
advancedTaskNames.add('learner')
|
||||
return advancedTaskNames
|
||||
}
|
||||
|
||||
// 主导出组件:包装 RestartProvider
|
||||
export function ModelConfigPage() {
|
||||
return (
|
||||
@@ -174,10 +184,15 @@ function ModelConfigPageContent() {
|
||||
})
|
||||
|
||||
// 检查任务配置问题
|
||||
const checkTaskConfigIssues = useCallback((taskConf: ModelTaskConfig | null, modelList: ModelInfo[]) => {
|
||||
const checkTaskConfigIssues = useCallback((
|
||||
taskConf: ModelTaskConfig | null,
|
||||
modelList: ModelInfo[],
|
||||
schema: ConfigSchema | null = taskConfigSchema
|
||||
) => {
|
||||
if (!taskConf) return
|
||||
|
||||
const modelNameSet = new Set(modelList.map(m => m.name))
|
||||
const advancedTaskNames = getAdvancedTaskNames(schema)
|
||||
const invalidRefs: { taskName: string; invalidModels: string[] }[] = []
|
||||
const emptyTaskList: string[] = []
|
||||
|
||||
@@ -186,7 +201,7 @@ function ModelConfigPageContent() {
|
||||
|
||||
// 检查是否有模型
|
||||
if (!task.model_list || task.model_list.length === 0) {
|
||||
if (key !== 'learner') {
|
||||
if (!advancedTaskNames.has(key)) {
|
||||
emptyTaskList.push(key)
|
||||
}
|
||||
continue
|
||||
@@ -201,7 +216,7 @@ function ModelConfigPageContent() {
|
||||
|
||||
setInvalidModelRefs(invalidRefs)
|
||||
setEmptyTasks(emptyTaskList)
|
||||
}, [])
|
||||
}, [taskConfigSchema])
|
||||
|
||||
// 加载配置
|
||||
const loadConfig = useCallback(async () => {
|
||||
@@ -233,13 +248,15 @@ function ModelConfigPageContent() {
|
||||
resetSnapshots(modelList, taskConf)
|
||||
|
||||
// 解析 model_task_config 的 schema
|
||||
let nextTaskConfigSchema: ConfigSchema | null = null
|
||||
if (schemaResult.success && schemaResult.data) {
|
||||
const schema = (schemaResult.data as unknown as Record<string, unknown>).schema as ConfigSchema
|
||||
setTaskConfigSchema(schema.nested?.model_task_config ?? null)
|
||||
nextTaskConfigSchema = schema.nested?.model_task_config ?? null
|
||||
setTaskConfigSchema(nextTaskConfigSchema)
|
||||
}
|
||||
|
||||
// 检查任务配置问题
|
||||
checkTaskConfigIssues(taskConf, modelList)
|
||||
checkTaskConfigIssues(taskConf, modelList, nextTaskConfigSchema)
|
||||
|
||||
// 初始化上一次的 embedding 模型列表
|
||||
const embeddingModels = taskConf?.embedding?.model_list || []
|
||||
|
||||
Reference in New Issue
Block a user