import { modelNameReg, PageAction } from '@/config'; import useAppUtils from '@/hooks/use-app-utils'; import { ClusterStatusValueMap } from '@/pages/cluster-management/config'; import { useBenchmarkTargetInstance } from '@/pages/llmodels/hooks/use-run-benchmark'; import { Input as CInput, Select as SealSelect } from '@gpustack/core-ui'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; import React, { useEffect } from 'react'; import { useFormContext } from '../config/form-context'; import { FormData } from '../config/types'; import ModelInstanceForm from './model-instance'; const BasicForm: React.FC = () => { const intl = useIntl(); const form = Form.useFormInstance(); const { getRuleMessage } = useAppUtils(); const { action, open, clusterList } = useFormContext(); const { benchmarkTargetInstance } = useBenchmarkTargetInstance(); useEffect(() => { const initClusterId = (list: any[]) => { // Find default cluster const defaultCluster = list?.find((item) => item.is_default); if (defaultCluster) { return defaultCluster.id; } const cluster_id = list?.find((item) => item.state === ClusterStatusValueMap.Ready)?.id || list?.[0]?.id; return cluster_id; }; if ( clusterList && clusterList?.length > 0 && action === PageAction.CREATE ) { form.setFieldValue( 'cluster_id', benchmarkTargetInstance.cluster_id || initClusterId(clusterList) ); } }, [form, action, clusterList, benchmarkTargetInstance]); return ( <>