From 3d93eda92d426c408666d560f76116b32fd15ffb Mon Sep 17 00:00:00 2001 From: jialin Date: Fri, 4 Jul 2025 16:41:43 +0800 Subject: [PATCH] fix: distribution downloading data do not show --- .../llmodels/components/instance-item.tsx | 43 +++++++++++++------ src/pages/llmodels/config/types.ts | 14 +++--- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/pages/llmodels/components/instance-item.tsx b/src/pages/llmodels/components/instance-item.tsx index 522f33e2..89fa5d2e 100644 --- a/src/pages/llmodels/components/instance-item.tsx +++ b/src/pages/llmodels/components/instance-item.tsx @@ -26,7 +26,11 @@ import React, { useCallback, useEffect, useMemo } from 'react'; import styled from 'styled-components'; import { MODEL_INSTANCE_API } from '../apis'; import { InstanceStatusMap, InstanceStatusMapValue, status } from '../config'; -import { ModelInstanceListItem } from '../config/types'; +import { + DistributedServerItem, + DistributedServers, + ModelInstanceListItem +} from '../config/types'; import '../style/instance-item.less'; const fieldList = [ @@ -146,14 +150,24 @@ const RenderRayactorDownloading = (props: { }; const RenderWorkerDownloading = (props: { - rayActors: any[]; + distributed_servers?: DistributedServers; workerList: WorkerListItem[]; instanceData: ModelInstanceListItem; }) => { - const { rayActors, workerList, instanceData } = props; + const { distributed_servers, workerList, instanceData } = props; + const { ray_actors = [], subordinate_workers = [] } = + distributed_servers || {}; + + let severList: DistributedServerItem[] = []; + if (ray_actors.length > 0) { + severList = ray_actors; + } else if (subordinate_workers.length > 0) { + severList = subordinate_workers; + } + if ( instanceData.state !== InstanceStatusMap.Downloading || - !rayActors.length + !severList.length ) { return null; } @@ -167,7 +181,7 @@ const RenderWorkerDownloading = (props: { overlayClassName="light-downloading-tooltip" title={ @@ -179,7 +193,7 @@ const RenderWorkerDownloading = (props: { size={16} strokeColor="var(--ant-color-success)" percent={ - _.find(rayActors, (item: any) => item.download_progress < 100) + _.find(severList, (item: any) => item.download_progress < 100) ?.download_progress || 0 } /> @@ -471,11 +485,14 @@ const InstanceItem: React.FC = ({ ); }; - const renderDistributionInfo = (distributed_servers: Record) => { - const { rpc_servers, ray_actors, subordinate_workers } = - distributed_servers; + const renderDistributionInfo = (distributed_servers: DistributedServers) => { + const { + rpc_servers = [], + ray_actors = [], + subordinate_workers = [] + } = distributed_servers || {}; - let severList: any[] = []; + let severList: DistributedServerItem[] = []; if (rpc_servers?.length > 0) { severList = rpc_servers; @@ -626,7 +643,9 @@ const InstanceItem: React.FC = ({ className="flex align-center" > {renderOffloadInfo} - {renderDistributionInfo(instanceData.distributed_servers || {})} + {renderDistributionInfo( + instanceData.distributed_servers || ({} as DistributedServers) + )} @@ -639,7 +658,7 @@ const InstanceItem: React.FC = ({ handleChildSelect={handleChildSelect} /> diff --git a/src/pages/llmodels/config/types.ts b/src/pages/llmodels/config/types.ts index 68a08659..1504e1f8 100644 --- a/src/pages/llmodels/config/types.ts +++ b/src/pages/llmodels/config/types.ts @@ -74,12 +74,18 @@ interface ComputedResourceClaim { vram: Record; } -interface DistributedServerItem { +export interface DistributedServerItem { pid: number; port: number; worker_id: string; computed_resource_claim: ComputedResourceClaim; } + +export interface DistributedServers { + rpc_servers: DistributedServerItem[]; + ray_actors: DistributedServerItem[]; + subordinate_workers: DistributedServerItem[]; +} export interface ModelInstanceListItem { backend?: string; backend_version?: string; @@ -87,11 +93,7 @@ export interface ModelInstanceListItem { huggingface_repo_id: string; huggingface_filename: string; ollama_library_model_name: string; - distributed_servers?: { - rpc_servers: DistributedServerItem[]; - ray_actors: DistributedServerItem[]; - subordinate_workers: DistributedServerItem[]; - }; + distributed_servers?: DistributedServers; computed_resource_claim?: ComputedResourceClaim; s3_address: string; worker_id: number;