feat: 新增 compute_gateway、compute_poller、agent 模块,重构前端 dist
- 新增 backend/app/modules/compute_gateway(client/sync)计算网关模块 - 新增 backend/app/workers/compute_poller 计算轮询 worker - 新增 compute/agent/process_manager 进程管理器 - 新增 scripts/ 脚本目录 - 更新 Docker 部署配置(app/compute/nginx) - 更新后端平台 API、数据库 SQL、core 配置 - 更新前端多个视图组件及 API 模块 - 重构 frontend/dist 构建产物(新 hash) - 更新多项文档 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,16 @@ export interface ComputeNode {
|
||||
data_root: string
|
||||
model_root: string
|
||||
log_root: string
|
||||
api_version?: string
|
||||
capabilities?: string[]
|
||||
description?: string
|
||||
last_health_check_at?: string
|
||||
health_detail?: Record<string, unknown>
|
||||
}
|
||||
|
||||
export type ComputeNodePayload = Partial<ComputeNode> & {
|
||||
code?: string
|
||||
api_base_url?: string
|
||||
}
|
||||
|
||||
export interface ComputeGpu {
|
||||
@@ -66,11 +75,14 @@ export interface ResourceReplica {
|
||||
|
||||
export const getComputeNodes = () => get<ComputeNode[]>('/compute/nodes')
|
||||
|
||||
export const createComputeNode = (data: ComputeNodePayload) =>
|
||||
post<ComputeNode>('/compute/nodes', data)
|
||||
|
||||
export const updateComputeNode = (id: string, data: Partial<ComputeNode>) =>
|
||||
put<ComputeNode>(`/compute/nodes/${id}`, data)
|
||||
|
||||
export const testComputeNode = (id: string) =>
|
||||
post<{ node_id: string; success: boolean; latency_ms: number }>(`/compute/nodes/${id}/test-connection`)
|
||||
post<{ node_id: string; success: boolean; latency_ms: number; gpu_count: number; error?: string }>(`/compute/nodes/${id}/test-connection`)
|
||||
|
||||
export const enableComputeNode = (id: string) => post<ComputeNode>(`/compute/nodes/${id}/enable`)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { get, post, put, del } from '../request'
|
||||
import type { FineTuneStartPayload, FineTuneTask, TrainingProgress } from '@/types'
|
||||
import type { FineTuneStartPayload, FineTuneTask, TrainingProgress, LogContent } from '@/types'
|
||||
|
||||
/** 训练任务列表 */
|
||||
export const getFineTuneList = () => get<FineTuneTask[]>('/fine-tune')
|
||||
@@ -32,6 +32,11 @@ export const deleteFineTune = (id: string | number) => del(`/fine-tune/${id}`)
|
||||
export const getFineTuneProgress = (id: string | number) =>
|
||||
get<TrainingProgress>(`/fine-tune/progress/${id}`)
|
||||
|
||||
export const getFineTuneLogs = (
|
||||
id: string | number,
|
||||
params: { tail_lines?: number; offset?: number; limit?: number } = {},
|
||||
) => get<LogContent & { job_id?: string; source?: string }>(`/fine-tune/${id}/logs`, params)
|
||||
|
||||
/** 启动 TensorBoard */
|
||||
export const startTensorboard = () => post('/fine-tune/tensorboard/start')
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ export const getModelByName = (name: string) => get<ModelItem>(`/model-manage/na
|
||||
|
||||
/** 本地模型路径列表 */
|
||||
export const getLocalModels = () =>
|
||||
get<{ models: { path: string; name: string }[] }>('/model-manage/local-models')
|
||||
get<{ models: { path: string; name: string; source?: string }[] }>('/model-manage/local-models')
|
||||
|
||||
/** 已训练模型列表 */
|
||||
export const getTrainedModels = () =>
|
||||
|
||||
Reference in New Issue
Block a user