import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { Form, Input, Modal, Select, InputNumber } from 'antd'; type FieldType = IAddLlmRequestBody & { google_project_id: string; google_region: string; google_service_account_key: string; }; const { Option } = Select; const GoogleModal = ({ 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 data = { ...values, llm_factory: llmFactory, max_tokens:values.max_tokens, }; onOk?.(data); }; return (
label={t('modelType')} name="model_type" initialValue={'chat'} rules={[{ required: true, message: t('modelTypeMessage') }]} > label={t('modelID')} name="llm_name" rules={[{ required: true, message: t('GoogleModelIDMessage') }]} > label={t('addGoogleProjectID')} name="google_project_id" rules={[{ required: true, message: t('GoogleProjectIDMessage') }]} > label={t('addGoogleRegion')} name="google_region" rules={[{ required: true, message: t('GoogleRegionMessage') }]} > label={t('addGoogleServiceAccountKey')} name="google_service_account_key" rules={[ { required: true, message: t('GoogleServiceAccountKeyMessage') }, ]} > 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 GoogleModal;