diff --git a/frontend/packages/common/src/hooks/http.ts b/frontend/packages/common/src/hooks/http.ts index b02b4e10..92eb99a0 100644 --- a/frontend/packages/common/src/hooks/http.ts +++ b/frontend/packages/common/src/hooks/http.ts @@ -129,7 +129,7 @@ const DEFAULT_HEADERS = { namespace: 'default' } -export type EoRequest = RequestInit & { +type EoRequest = RequestInit & { eoParams?: { [k: string]: unknown } eoTransformKeys?: string[] eoApiPrefix?: string diff --git a/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx b/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx index 628b44df..1f52dfdb 100644 --- a/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx +++ b/frontend/packages/core/src/pages/aiService/api/AiServiceInsideRouterModelConfig.tsx @@ -57,7 +57,12 @@ const AiServiceRouterModelConfig = forwardRef { const models = response.data.models || [] - setLlmList(models) + setLlmList( + models.map((x: any) => ({ + ...x, + config: x.defaultConfig + })) + ) if (setDefaultValue && models.length) { const id = models[0].id form.setFieldsValue({ @@ -144,10 +149,6 @@ const AiServiceRouterModelConfig = forwardRef console.error(errorInfo)) } - const handleChangeProvider = (provider: string) => { - getLlmList(provider) - } - return (
{ - handleChangeProvider(e) + getLlmList(e) }} > @@ -201,7 +202,7 @@ const AiServiceRouterModelConfig = forwardRef { - form.setFieldValue('config', llmList.find((x) => x.id === e)?.config || llmList.find((x) => x.id === e)?.defaultConfig) + form.setFieldValue('config', llmList.find((x) => x.id === e)?.config) }} > diff --git a/frontend/packages/core/src/pages/aiSetting/AiSettingModal.tsx b/frontend/packages/core/src/pages/aiSetting/AiSettingModal.tsx index 0ba661cb..9aa3e430 100644 --- a/frontend/packages/core/src/pages/aiSetting/AiSettingModal.tsx +++ b/frontend/packages/core/src/pages/aiSetting/AiSettingModal.tsx @@ -12,7 +12,7 @@ export type AiSettingModalContentProps = { entity?: AISettingEntityItem readOnly: boolean modelMode?: 'auto' | 'manual' - originEntity?: string + source?: string /** 如果是手动选择 AI 模型,那么需要更新 footer 底部的内容,所以需要这个方法去更新外部的 footer */ updateEntityData: (entity: AISettingEntityItem) => void } @@ -25,7 +25,7 @@ export type AiSettingModalContentHandle = { const AiSettingModalContent = forwardRef((props, ref) => { const [form] = Form.useForm() const { message } = App.useApp() - const { entity, readOnly, modelMode = 'auto', updateEntityData, originEntity } = props + const { entity, readOnly, modelMode = 'auto', updateEntityData, source } = props const { fetchData } = useFetch() const [llmList, setLlmList] = useState() const [loading, setLoading] = useState(false) @@ -163,13 +163,12 @@ const AiSettingModalContent = forwardRef { - // 如果是直接在 AI 模型配置,则获取默认模型列表和团队列表 if (localEntity?.id) { getModelConfig(localEntity.id) setFormFieldsValue(localEntity) } else { getModelProviderList() - originEntity && getTeamOptionList() + source && getTeamOptionList() } }, []) @@ -187,7 +186,6 @@ const AiSettingModalContent = forwardRef>('quick/service/ai', { method: 'POST', eoBody: finalValue @@ -306,7 +304,7 @@ const AiSettingModalContent = forwardRef - {originEntity === 'guide' && ( + {source === 'guide' && ( { - form.setFieldValue('team', value) - }} - > - - - + + +

+ +

+

{$t('选择 OpenAPI 文件 (.json / .yaml)')}

+
+
+ + + + + ) }) diff --git a/frontend/packages/core/src/pages/guide/deployModelUtil.ts b/frontend/packages/core/src/pages/guide/deployModelUtil.ts index f442a7ad..c08b566b 100644 --- a/frontend/packages/core/src/pages/guide/deployModelUtil.ts +++ b/frontend/packages/core/src/pages/guide/deployModelUtil.ts @@ -9,27 +9,23 @@ import { useGlobalContext } from '@common/contexts/GlobalStateContext' const useDeployLocalModel = () => { const { fetchData } = useFetch() const { checkPermission } = useGlobalContext() - const deployLocalModel = (value: { modelID: string; team?: number }) => { - return new Promise((resolve, reject) => { - fetchData>('model/local/deploy/start', { + const deployLocalModel = async (value: { modelID: string; team?: number }) => { + const response = await fetchData>( + 'model/local/deploy/start', + { method: 'POST', eoBody: { model: value.modelID, team: value?.team } - }) - .then((response) => { - const { code, msg } = response - if (code === STATUS_CODE.SUCCESS) { - message.success(msg || $t(RESPONSE_TIPS.success)) - resolve(true) - } else { - message.error(msg || $t(RESPONSE_TIPS.error)) - reject(false) - } - }) - .catch((errorInfo) => reject(errorInfo)) - }) + } + ) + const { code, msg } = response + if (code === STATUS_CODE.SUCCESS) { + message.success(msg || $t(RESPONSE_TIPS.success)) + } else { + message.error(msg || $t(RESPONSE_TIPS.error)) + } } /** * 获取 team 选项列表 diff --git a/frontend/packages/core/src/pages/loadBalancing/index.tsx b/frontend/packages/core/src/pages/loadBalancing/index.tsx index 6c2fbfd5..821fd918 100644 --- a/frontend/packages/core/src/pages/loadBalancing/index.tsx +++ b/frontend/packages/core/src/pages/loadBalancing/index.tsx @@ -57,42 +57,15 @@ const LoadBalancingPage = () => { * @param dataType * @returns */ - const requestApis = ( - params: LoadBalancingItems & { - pageSize: number - current: number - }, - sort: Record, - filter: Record - ) => { - let filters - if (filter) { - filters = [] - if (filter.isStop) { - if (filter.isStop.indexOf('true') !== -1) { - filters.push('enable') - } - if (filter.isStop.indexOf('false') !== -1) { - filters.push('disable') - } - if (filter.publishStatus?.length > 0) { - filters = [...filters, ...filter.publishStatus] - } - } - } - + const requestApis = () => { return fetchData>( - `strategy/${serviceId === undefined ? 'global' : 'service'}/data-masking/list`, + `ai/balances`, { method: 'GET', eoParams: { - order: Object.keys(sort)?.[0], - sort: Object.keys(sort)?.length > 0 ? (Object.values(sort)?.[0] === 'descend' ? 'desc' : 'asc') : undefined, - filters: JSON.stringify(filters), - keyword: searchWord, - service: serviceId + keyword: searchWord }, - eoTransformKeys: ['is_stop', 'is_delete', 'update_time', 'publish_status', 'processed_total'] + eoTransformKeys: ['api_count', 'key_count'] } ) .then((response) => { @@ -234,10 +207,10 @@ const LoadBalancingPage = () => { }, { title: $t('Apis'), - dataIndex: 'api_count', + dataIndex: 'apiCount', ellipsis: true, width: 80, - key: 'api_count', + key: 'apiCount', render: (dom: React.ReactNode, record: LoadBalancingItems) => ( { textDecoration: 'none' }} > - {record.api_count || '0'} + {record.apiCount || '0'} ) }, { title: $t('Keys'), - dataIndex: 'key_count', + dataIndex: 'keyCount', ellipsis: true, width: 80, - key: 'key_count', + key: 'keyCount', render: (dom: React.ReactNode, record: LoadBalancingItems) => ( { textDecoration: 'none' }} > - {record.key_count || '0'} + {record.keyCount || '0'} ) @@ -289,7 +262,7 @@ const LoadBalancingPage = () => { valueType: 'option', render: (_: React.ReactNode, entity: any) => [ handleDelete(entity.id as string)} @@ -324,14 +297,7 @@ const LoadBalancingPage = () => { ]} - request={async ( - params: any & { - pageSize: number - current: number - }, - sort: Record, - filter: Record - ) => requestApis(params, sort, filter)} + request={() => requestApis()} onSearchWordChange={(e) => { setSearchWord(e.target.value) }} diff --git a/frontend/packages/core/src/pages/loadBalancing/type.ts b/frontend/packages/core/src/pages/loadBalancing/type.ts index d7ff34ed..48cb7a3c 100644 --- a/frontend/packages/core/src/pages/loadBalancing/type.ts +++ b/frontend/packages/core/src/pages/loadBalancing/type.ts @@ -11,8 +11,8 @@ export interface LoadBalancingItems { } type: string state: string - api_count: string - key_count: string + apiCount: string + keyCount: string } export interface LoadModelDetailData { diff --git a/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployMentFooter.tsx b/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployMentFooter.tsx index b121329b..97e31858 100644 --- a/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployMentFooter.tsx +++ b/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployMentFooter.tsx @@ -15,7 +15,7 @@ export const LogsFooter = (props: any) => { return new Promise((resolve, reject) => { fetchData>('model/local/cancel_deploy', { method: 'POST', - eoBody: { recordId: record.id } + eoBody: { model: record.id } }) .then((response) => { const { code, msg } = response @@ -47,7 +47,7 @@ export const LogsFooter = (props: any) => { return new Promise((resolve, reject) => { fetchData>('model/local', { method: 'DELETE', - eoBody: { recordId: record.id } + eoBody: { model: record.id } }) .then((response: BasicResponse) => { const { code, msg } = response diff --git a/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployment.tsx b/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployment.tsx index 26f6e023..9cfd5549 100644 --- a/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployment.tsx +++ b/frontend/packages/core/src/pages/system/serviceDeployment/ServiceDeployment.tsx @@ -60,12 +60,10 @@ export const ServiceDeployment = (props: { record: SystemTableListItem }) => { useEffect(() => { fetchData( - 'http://localhost:3000/stream', - // 'model/local/deploy', + 'model/local/deploy', { method: 'POST', eoBody: { recordId: record.id }, - eoApiPrefix: '', headers: { 'Content-Type': 'event-stream' },