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