import { useTranslate } from '@/hooks/common-hooks'; import { z } from 'zod'; export function useChatSettingSchema() { const { t } = useTranslate('chat'); const promptConfigSchema = z.object({ quote: z.boolean(), keyword: z.boolean(), tts: z.boolean(), empty_response: z.string().min(1, { message: t('emptyResponse'), }), prologue: z.string().min(1, {}), system: z.string().min(1, { message: t('systemMessage') }), refine_multiturn: z.boolean(), use_kg: z.boolean(), }); const formSchema = z.object({ name: z.string().min(1, { message: t('assistantNameMessage') }), icon: z.array(z.instanceof(File)), language: z.string().min(1, { message: 'Username must be at least 2 characters.', }), description: z.string(), kb_ids: z.array(z.string()).min(0, { message: 'Username must be at least 1 characters.', }), prompt_config: promptConfigSchema, top_n: z.number(), vector_similarity_weight: z.number(), top_k: z.number(), }); return formSchema; }