import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { Flex, Form, Input, InputNumber, Modal, Select, Space } from 'antd'; import omit from 'lodash/omit'; type FieldType = IAddLlmRequestBody & { fish_audio_ak: string; fish_audio_refid: string; }; const { Option } = Select; const FishAudioModal = ({ visible, hideModal, onOk, loading, llmFactory, }: IModalProps & { llmFactory: string }) => { const [form] = Form.useForm(); const { t } = useTranslate('setting'); const handleOk = async () => { const values = await form.validateFields(); const modelType = values.model_type; const data = { ...omit(values), model_type: modelType, llm_factory: llmFactory, max_tokens: values.max_tokens, }; console.info(data); onOk?.(data); }; return ( { return ( {t('FishAudioLink')} {originNode} ); }} confirmLoading={loading} >
label={t('modelType')} name="model_type" initialValue={'tts'} rules={[{ required: true, message: t('modelTypeMessage') }]} > label={t('modelName')} name="llm_name" rules={[{ required: true, message: t('FishAudioModelNameMessage') }]} > label={t('addFishAudioAK')} name="fish_audio_ak" rules={[{ required: true, message: t('FishAudioAKMessage') }]} > label={t('addFishAudioRefID')} name="fish_audio_refid" rules={[{ required: true, message: t('FishAudioRefIDMessage') }]} > label={t('maxTokens')} name="max_tokens" rules={[ { required: true, message: t('maxTokensMessage') }, { type: 'number', message: t('maxTokensInvalidMessage'), }, ({ getFieldValue }) => ({ validator(_, value) { if (value < 0) { return Promise.reject(new Error(t('maxTokensMinMessage'))); } return Promise.resolve(); }, }), ]} >
); }; export default FishAudioModal;