From ec63ab37b16a5325b3367b3fb5fe15c4fba8597f Mon Sep 17 00:00:00 2001 From: balibabu Date: Tue, 11 Aug 2026 20:29:08 +0800 Subject: [PATCH] Fix: Remove the model from the wiki template. (#18119) --- .../components/template-configuration.tsx | 7 ---- .../edit-next/constant.ts | 2 - .../use-compilation-template-group-form.ts | 40 ++----------------- ...se-edit-next-compilation-template-group.ts | 8 +--- .../hooks/use-template-kind-change.ts | 6 +-- .../compilation-templates/edit-next/schema.ts | 18 ++------- .../compilation-templates/edit-next/utils.ts | 8 +--- 7 files changed, 9 insertions(+), 80 deletions(-) diff --git a/web/src/pages/user-setting/compilation-templates/edit-next/components/template-configuration.tsx b/web/src/pages/user-setting/compilation-templates/edit-next/components/template-configuration.tsx index c22b2b9a7e..1b256478db 100644 --- a/web/src/pages/user-setting/compilation-templates/edit-next/components/template-configuration.tsx +++ b/web/src/pages/user-setting/compilation-templates/edit-next/components/template-configuration.tsx @@ -14,7 +14,6 @@ * limitations under the License. */ -import { ModelTreeSelectFormField } from '@/components/model-tree-select'; import { SelectWithSearch } from '@/components/originui/select-with-search'; import { RAGFlowFormItem } from '@/components/ragflow-form'; import { SwitchFormField } from '@/components/switch-fom-field'; @@ -176,12 +175,6 @@ export function TemplateConfiguration({ /> - - { const { t } = useTranslation(); - const { - data: allAddedModels, - isFetched: modelsFetched, - isError: modelsError, - } = useFetchAllAddedModels(); - - // null until the model list has actually loaded (or if it failed) — while - // unknown, any persisted id is accepted as-is so validation never judges - // against the empty placeholder list. - const validModelIds = useMemo( - () => - modelsFetched && !modelsError - ? buildValidModelIds(allAddedModels, ModelTypeMap.llm_id) - : null, - [allAddedModels, modelsFetched, modelsError], - ); - const form = useForm({ - // useForm refreshes its options (including the resolver) on every render, - // so this closure always validates against the latest validModelIds. - resolver: zodResolver( - buildFormSchema(t, (id) => validModelIds?.has(id) ?? true), - ), + resolver: zodResolver(buildFormSchema(t)), defaultValues: DefaultValues, mode: 'onChange', }); @@ -71,14 +43,8 @@ export const useCompilationTemplateGroupForm = ({ useEffect(() => { if (detail) { form.reset(transformGroupDetailToForm(detail)); - } else if ( - isCreate && - defaultLlmId && - !form.getValues('templates.0.llm_id') - ) { - form.setValue('templates.0.llm_id', defaultLlmId); } - }, [defaultLlmId, detail, form, isCreate]); + }, [detail, form]); return { form }; }; diff --git a/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-edit-next-compilation-template-group.ts b/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-edit-next-compilation-template-group.ts index 48315549b4..6d335c2466 100644 --- a/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-edit-next-compilation-template-group.ts +++ b/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-edit-next-compilation-template-group.ts @@ -21,7 +21,6 @@ import { useUpdateCompilationTemplateGroup, } from '@/hooks/use-compilation-template-group-request'; import { useFetchBuiltinCompilationTemplates } from '@/hooks/use-compilation-template-request'; -import { useFetchDefaultModelDictionary } from '@/hooks/use-llm-request'; import { isCreateCompilationTemplateGroup } from '@/utils/compilation-template-util'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -48,7 +47,6 @@ export const useEditNextCompilationTemplateGroup = ({ const { data: detail } = useFetchCompilationTemplateGroup(); const { data: builtins, kindOptions: builtinKindOptions } = useFetchBuiltinCompilationTemplates(); - const defaultModelDictionary = useFetchDefaultModelDictionary(); const { createGroup, loading: createLoading } = useCreateCompilationTemplateGroup(); @@ -64,11 +62,7 @@ export const useEditNextCompilationTemplateGroup = ({ [builtinKindOptions, t], ); - const { form } = useCompilationTemplateGroupForm({ - detail, - defaultLlmId: defaultModelDictionary.llm_id, - isCreate, - }); + const { form } = useCompilationTemplateGroupForm({ detail }); const { onSubmit } = useCompilationTemplateGroupSubmit({ isCreate, diff --git a/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-template-kind-change.ts b/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-template-kind-change.ts index 3ae6776195..8134abd6f8 100644 --- a/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-template-kind-change.ts +++ b/web/src/pages/user-setting/compilation-templates/edit-next/hooks/use-template-kind-change.ts @@ -44,11 +44,7 @@ export const useTemplateKindChange = ({ if (builtinTemplate) { form.setValue( `templates.${index}.config`, - buildConfigFromBuiltin( - builtinTemplate, - value, - form.getValues(`templates.${index}.llm_id`), - ), + buildConfigFromBuiltin(builtinTemplate, value), { shouldValidate: false }, ); } diff --git a/web/src/pages/user-setting/compilation-templates/edit-next/schema.ts b/web/src/pages/user-setting/compilation-templates/edit-next/schema.ts index 79bfc6fed3..1171b43284 100644 --- a/web/src/pages/user-setting/compilation-templates/edit-next/schema.ts +++ b/web/src/pages/user-setting/compilation-templates/edit-next/schema.ts @@ -42,20 +42,11 @@ export const buildSynthesisSchema = () => }) .passthrough(); -export const buildTemplateSchema = ( - t: (key: string) => string, - isModelAvailable?: (id: string) => boolean, -) => +export const buildTemplateSchema = (t: (key: string) => string) => z.object({ id: z.string().optional(), name: z.string().min(1, t('setting.templateNameRequired')), description: z.string().optional(), - llm_id: z - .string() - .min(1, t('setting.llmForExtractionRequired')) - .refine((val) => !val || (isModelAvailable?.(val) ?? true), { - message: t('setting.llmForExtractionUnavailable'), - }), kind: z.string().min(1, t('setting.templateKindRequired')), config: z.record( z.union([ @@ -68,15 +59,12 @@ export const buildTemplateSchema = ( ), }); -export const buildFormSchema = ( - t: (key: string) => string, - isModelAvailable?: (id: string) => boolean, -) => +export const buildFormSchema = (t: (key: string) => string) => z.object({ name: z.string().optional(), description: z.string().optional(), avatar: z.string().optional(), - templates: z.array(buildTemplateSchema(t, isModelAvailable)).min(1), + templates: z.array(buildTemplateSchema(t)).min(1), }); export type TemplateSchemaType = z.infer< diff --git a/web/src/pages/user-setting/compilation-templates/edit-next/utils.ts b/web/src/pages/user-setting/compilation-templates/edit-next/utils.ts index 30d822bd15..f5065fa0dc 100644 --- a/web/src/pages/user-setting/compilation-templates/edit-next/utils.ts +++ b/web/src/pages/user-setting/compilation-templates/edit-next/utils.ts @@ -80,7 +80,6 @@ export const normalizeSection = ( export const buildConfigFromBuiltin = ( builtinTemplate: ICompilationTemplateBuiltin, kind: string, - llmId: string, ): TemplateSchemaType['config'] => { const instruction = typeof builtinTemplate.config?.instruction === 'string' @@ -92,7 +91,6 @@ export const buildConfigFromBuiltin = ( : ''; const sections: TemplateSchemaType['config'] = { kind, - llm_id: llmId, global_rules: typeof builtinTemplate.config?.global_rules === 'string' ? builtinTemplate.config.global_rules @@ -172,7 +170,6 @@ export const transformDetailToForm = ( ); const base: TemplateSchemaType['config'] = { kind: config.kind ?? '', - llm_id: config.llm_id ?? '', global_rules: config.global_rules ?? '', example: storedExample, ...(typeof config.synthesis === 'object' && config.synthesis !== null @@ -209,7 +206,6 @@ export const transformDetailToForm = ( id: detail.id, name: detail.name ?? '', description: detail.description ?? '', - llm_id: config.llm_id ?? '', kind: detail.kind ?? '', config: { ...base, @@ -235,7 +231,6 @@ export const transformDetailToForm = ( id: detail.id, name: detail.name ?? '', description: detail.description ?? '', - llm_id: config.llm_id ?? '', kind: detail.kind ?? '', config: base, }; @@ -259,11 +254,10 @@ export const transformGroupDetailToForm = ( export const transformTemplateToPayload = (template: TemplateSchemaType) => { const config: ICompilationTemplateConfigRequest = { kind: template.kind, - llm_id: template.llm_id, }; Object.entries(template.config).forEach(([key, value]) => { - if (key === 'kind' || key === 'llm_id') return; + if (key === 'kind') return; if (key === 'example' || key === 'instruction') return; if (key === 'synthesis') { config[key] = value as ICompilationTemplateConfigRequest[string];