import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { Form, Input, Modal, Select } from 'antd'; import omit from 'lodash/omit'; type FieldType = IAddLlmRequestBody & { vision: boolean; spark_api_password: string; spark_app_id: string; spark_api_secret: string; spark_api_key: string; }; const { Option } = Select; const SparkModal = ({ 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 === 'chat' && values.vision ? 'image2text' : values.model_type; const data = { ...omit(values, ['vision']), model_type: modelType, llm_factory: llmFactory, }; console.info(data); onOk?.(data); }; return (
label={t('modelType')} name="model_type" initialValue={'chat'} rules={[{ required: true, message: t('modelTypeMessage') }]} > label={t('modelName')} name="llm_name" rules={[{ required: true, message: t('SparkModelNameMessage') }]} > {({ getFieldValue }) => getFieldValue('model_type') === 'chat' && ( label={t('addSparkAPIPassword')} name="spark_api_password" rules={[{ required: true, message: t('SparkAPIPasswordMessage') }]} > ) } {({ getFieldValue }) => getFieldValue('model_type') === 'tts' && ( label={t('addSparkAPPID')} name="spark_app_id" rules={[{ required: true, message: t('SparkAPPIDMessage') }]} > ) } {({ getFieldValue }) => getFieldValue('model_type') === 'tts' && ( label={t('addSparkAPISecret')} name="spark_api_secret" rules={[{ required: true, message: t('SparkAPISecretMessage') }]} > ) } {({ getFieldValue }) => getFieldValue('model_type') === 'tts' && ( label={t('addSparkAPIKey')} name="spark_api_key" rules={[{ required: true, message: t('SparkAPIKeyMessage') }]} > ) }
); }; export default SparkModal;