import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { Flex, Form, Input, Modal, Select, Space } from 'antd'; import { useMemo } from 'react'; import { BedrockRegionList } from '../constant'; type FieldType = IAddLlmRequestBody & { bedrock_ak: string; bedrock_sk: string; bedrock_region: string; }; const { Option } = Select; const BedrockModal = ({ visible, hideModal, onOk, loading, llmFactory, }: IModalProps & { llmFactory: string }) => { const [form] = Form.useForm(); const { t } = useTranslate('setting'); const options = useMemo( () => BedrockRegionList.map((x) => ({ value: x, label: t(x) })), [t], ); const handleOk = async () => { const values = await form.validateFields(); const data = { ...values, llm_factory: llmFactory, }; onOk?.(data); }; return ( { return ( {t('ollamaLink', { name: llmFactory })} {originNode} ); }} >
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('bedrockModelNameMessage') }]} > label={t('addBedrockEngineAK')} name="bedrock_ak" rules={[{ required: true, message: t('bedrockAKMessage') }]} > label={t('addBedrockSK')} name="bedrock_sk" rules={[{ required: true, message: t('bedrockSKMessage') }]} > label={t('bedrockRegion')} name="bedrock_region" rules={[{ required: true, message: t('bedrockRegionMessage') }]} >
); }; export default BedrockModal;