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];