# HotlineAI Platform **Repository Path**: newpc/hotline-ai-platform ## Basic Information - **Project Name**: HotlineAI Platform - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-14 - **Last Updated**: 2026-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 算法中心 (Algorithm Center) 算法中心 (Algorithm Center) 用于统一管理算法插件、训练数据、模型版本、服务实例、模型验证和多服务器训练资源。平台本身不把算法逻辑写死在中心系统里,而是通过插件仓库加载分类、大模型、业务 HTTP 等能力,再把模型、训练、验证和接口调用流程统一托管起来。 ## 核心能力 - **插件仓库**:上传、检测、启用算法或业务插件,插件通过 `algorithm.json` 声明能力、接口、配置项和训练参数。 - **数据集管理**:维护训练、验证、测试样本,支持分类数据、大模型对话数据等不同能力类型。 - **模型管理**:统一登记预训练模型、上传模型和训练产出模型,记录训练参数、训练指标、验证结果和绑定插件。 - **模型训练**:支持本机训练和集群训练,训练过程可查看日志、事件、指标曲线、checkpoint 和产出模型。 - **模型验证评估**:对模型执行批量验证,查看整体准确率、TopK、预测分布、大类准确率、小类召回率和样本明细。 - **服务实例**:同一个插件可以创建多个服务实例,并分别绑定不同模型和运行参数。 - **接口映射**:把平台内部服务实例接口映射为业务可调用接口,统一记录请求、响应、耗时和成功率。 - **集群节点**:通过 Go Node 接入 GPU 服务器,调度训练/推理容器并回传节点状态、日志和结果。 - **实时通知**:通过通知流提示 Go Node 上下线、训练分配、训练完成、模型登记、服务发布等关键事件。 ## 命名与路径迁移策略 项目正式名称: - 中文:**算法中心** - 英文:**Algorithm Center** 命名与路径迁移采用兼容渐进策略,不破坏现有线上环境: 1. **新配置 / 新部署默认路径**:新安装和新建配置优先使用 `/egova_apps/algorithm-center-*` 作为部署根路径(如 `/egova_apps/algorithm-center-data`、`/egova_apps/algorithm-center-node-data`、`/egova_apps/algorithm-center-node-code`、`/egova_apps/algorithm-center-go-node`)。 2. **历史兼容路径**:已有线上部署的 `/egova_apps/hotline-*` 路径作为兼容路径继续生效,不做强制替换。迁移时需先同步配置、服务、数据库、Agent 数据,确认新路径完全就绪后再改名备份旧目录。 3. **节点数据根目录**:新部署默认节点数据根为 `/egova_apps/algorithm-center-node-data`,但当前已部署节点可继续使用 `/egova_apps/algorithm-center-agent-data` 或 `/egova_apps/hotline-agent-data`,由节点配置文件显式指定 `data_root` 决定实际路径。 4. **协议与格式兼容**:`hotline_vlm_sft` 等数据集格式名、已有插件包/模型包 manifest 中的协议字段暂时作为兼容格式保留,不破坏现有导入和训练流程,后续另做版本化迁移。 5. **中心平台本机 Go Node**:中心平台服务器本身也需要部署 Go Node,用于本机推理容器调度和镜像缓存管理。安装目录为 `/egova_apps/algorithm-center-go-node`,配置文件与节点组件同目录(`config.json`),数据根为 `/egova_apps/algorithm-center-node-data`,代码根为 `/egova_apps/algorithm-center-node-code`,节点编码建议 `CENTER-LOCAL-GO`。下载代理默认不开启,仅在目标节点无法直连外网时手动填写临时代理地址(如 `http://111.4.141.154:7755`),不写入新节点默认配置。底层 `/api/agent/...` 协议字段和旧 `hotline-go-agent` 二进制名暂保留兼容,后续分阶段迁移。 ## 目录结构 ```text HotlineAI Platform/ server/ # FastAPI 后端,负责平台 API、调度、训练、模型、验证和插件运行时 web/ # Vue 3 + Vite 前端管理台 node-go/ # Go Node,面向宿主机注册、心跳、镜像缓存、推理/训练 Docker 调度和中心本机部署 agent-deploy-template/ # 脱敏训练镜像 Docker 和离线部署模板 docs/screenshots/ # 平台页面截图,README 中可直接预览 README.md # 项目入口说明 平台使用说明.md # 面向使用者的功能说明 开发规范.md # 平台代码开发约束 部署.md # 环境部署说明,包含现场化配置内容 ``` 插件 SDK 位于同级目录 `Hotline Algorithm SDK/`,插件开发请优先阅读该目录下的 `README.md` 和 `插件开发说明.md`。 ## 本地开发 ### 后端 ```powershell cd "D:\project\egova-ai\hotline\HotlineAI Platform\server" python -m venv venv .\venv\Scripts\activate pip install -r requirements.txt python main.py ``` 后端配置以 `server/config.toml` 为准。不同现场的数据库、模型存储、插件存储、下载源和集群配置不要写入代码,应通过配置文件或部署脚本管理。 文件存储建议优先配置统一数据根目录 `storage_data_root`,再让附件、模型、插件、集群产物等路径使用相对路径。这样现场迁移时只需要调整一个根目录,避免多个绝对路径分散维护。 ### 前端 ```powershell cd "D:\project\egova-ai\hotline\HotlineAI Platform\web" npm install npm run dev ``` 开发环境默认连接本地后端;如果后端地址不同,请按前端项目中的环境配置调整。 ### Go Node ```powershell cd "D:\project\egova-ai\hotline\HotlineAI Platform\node-go" D:\tool\go\bin\go.exe test ./... ``` 生产 GPU 节点运行优先参考 `node-go/README.md`;脱敏训练镜像和离线部署模板参考 `agent-deploy-template/README.md`。现场私有脚本、服务器地址、账号、密钥等内容仅保留在本地忽略目录中,不提交到仓库。 ### 插件离线调试 开发算法插件时,可以不启动中心平台,直接用后端自带的离线测试器解析和调用本地插件包: ```powershell cd "D:\project\egova-ai\hotline\HotlineAI Platform" python server\tools\plugin_dev_tester.py --plugin-path "D:\plugins\my-plugin" inspect python server\tools\plugin_dev_tester.py --plugin-path "D:\plugins\my-plugin" call --endpoint predict --payload '{"content":"小区暖气不热","topK":1}' python server\tools\plugin_dev_tester.py --plugin-path "D:\plugins\my-plugin" call --endpoint predict --model-path "D:\models\classtype\checkpoint-7000" --payload '{"content":"小区暖气不热","topK":1}' python server\tools\plugin_dev_tester.py --plugin-path "D:\plugins\my-plugin" call --endpoint predict --config '{"model_path":"D:/models/classtype/checkpoint-7000","device":"cuda:0","max_seq_length":256}' --payload '{"content":"小区暖气不热","topK":1}' ``` `--plugin-path` 支持插件目录或 zip 包;`call` 支持 `health`、`predict`、`load_model`、`unload_model`、`train` 以及插件注册的自定义接口。`--payload` 传接口请求体,`--config` 临时覆盖插件 `config`,`--model-path` 是 `config.model_path` 的快捷写法,适合测试需要先加载模型的分类插件。这个工具复用平台的 manifest 解析、入口类加载和接口注册收集逻辑,但不会启动中心平台、不会写数据库、不会登记插件或模型。 ## 页面截图 截图位于 `docs/screenshots/`,已压缩为 JPG,便于在 README 或发布材料中快速查看平台主要页面。截图覆盖菜单页以及训练详情、验证任务详情、集群节点详情、训练任务对比等子页面。下面按常用查看顺序折叠展示,点击标题可展开预览。
训练任务详情 [![训练任务详情](docs/screenshots/08_training_detail.jpg)](docs/screenshots/08_training_detail.jpg)
训练任务对比 [![训练任务对比](docs/screenshots/09_training_compare.jpg)](docs/screenshots/09_training_compare.jpg)
验证任务详情 [![验证任务详情](docs/screenshots/11_evaluation_detail.jpg)](docs/screenshots/11_evaluation_detail.jpg)
集群节点详情 [![集群节点详情](docs/screenshots/16_cluster_node_detail.jpg)](docs/screenshots/16_cluster_node_detail.jpg)
工作台 [![工作台](docs/screenshots/01_dashboard.jpg)](docs/screenshots/01_dashboard.jpg)
插件仓库 [![插件仓库](docs/screenshots/02_plugin_repo.jpg)](docs/screenshots/02_plugin_repo.jpg)
插件资产详情 [![插件资产详情](docs/screenshots/03_plugin_detail.jpg)](docs/screenshots/03_plugin_detail.jpg)
数据集管理 [![数据集管理](docs/screenshots/04_dataset_list.jpg)](docs/screenshots/04_dataset_list.jpg)
数据集详情 [![数据集详情](docs/screenshots/05_dataset_detail.jpg)](docs/screenshots/05_dataset_detail.jpg)
模型管理 [![模型管理](docs/screenshots/06_model_list.jpg)](docs/screenshots/06_model_list.jpg)
模型训练 [![模型训练](docs/screenshots/07_training_list.jpg)](docs/screenshots/07_training_list.jpg)
模型验证记录 [![模型验证记录](docs/screenshots/10_evaluation_list.jpg)](docs/screenshots/10_evaluation_list.jpg)
服务实例 [![服务实例](docs/screenshots/12_service_instances.jpg)](docs/screenshots/12_service_instances.jpg)
服务实例详情 [![服务实例详情](docs/screenshots/13_service_detail.jpg)](docs/screenshots/13_service_detail.jpg)
接口映射 [![接口映射](docs/screenshots/14_interface_mappings.jpg)](docs/screenshots/14_interface_mappings.jpg)
集群节点 [![集群节点](docs/screenshots/15_cluster_nodes.jpg)](docs/screenshots/15_cluster_nodes.jpg)
角色管理 [![角色管理](docs/screenshots/17_system_roles.jpg)](docs/screenshots/17_system_roles.jpg)
系统配置 [![系统配置](docs/screenshots/18_system_configs.jpg)](docs/screenshots/18_system_configs.jpg)
## 常用流程 ### 插件到服务 1. 在“插件仓库”上传插件包。 2. 检查依赖、入口类、接口声明和配置项。 3. 在“服务实例”中新建实例,选择插件并绑定模型。 4. 启动服务实例,在详情页“发布验证”中确认实例在线、模型已加载、默认接口可测试。 5. 在服务实例详情中发起接口测试,或通过“接口映射”发布给业务系统。 ### 数据到模型 1. 在“数据集管理”导入训练集、验证集或测试集。 2. 在“模型训练”选择插件、数据集、基础模型和训练参数。 3. 创建训练任务,本机模式使用中心平台服务器资源,集群模式由 Go Node 节点执行,且必须选择训练镜像。 4. 训练完成后,平台自动把产出登记到“模型管理”。 5. 对模型发起验证评估,结合整体指标和样本明细判断是否可发布。 ### 集群训练 1. 在 GPU 服务器部署并启动 Go Node。 2. 在“集群节点”审批节点,确认 GPU、显存、驱动、CUDA 和心跳正常。 3. 新建训练任务时选择“调度模式:集群”和训练镜像,平台把训练容器参数、数据目录、模型缓存和 GPU 分配下发给节点。 4. Go Node 启动训练容器并监控退出状态;训练镜像负责具体训练逻辑、进度回传和产物落盘/上传。 集群训练的状态通常会经历:`排队`、`训练中`、`上传中`、`登记模型中`、`成功` 或 `失败`。如果训练日志已经显示完成,但节点仍显示运行中,应优先查看节点详情中的“服务与上传”和任务事件,确认是否仍在回传模型产物。 如果模型上传失败或中心平台重启,节点详情的“产物与指令”中可以查看上传记录、错误信息,并触发重新上传或手动登记模型。节点文件占用可以在节点详情中扫描和清理,清理前应确认训练任务、模型登记和日志归档已经完成。 ### 通知与运维 平台顶部通知会实时展示训练任务分配、开始训练、训练完成、Go Node 上线/离线、节点更新、模型保存、服务实例发布等事件。通知项会尽量携带跳转信息,便于直接进入训练任务、模型、服务实例或节点详情页面处理。 ## 训练和验证建议 - 训练任务页面的 `loss`、`acc`、`grad_norm`、`learning_rate`、`memory(GiB)`、`train_speed(s/it)` 等曲线用于判断训练是否稳定。 - 分类模型不要只看训练集 `acc`,还要看验证任务中的整体准确率、TopK、预测分布、大类准确率、小类召回率和失败样本。 - 模型管理列表会优先展示最近训练指标和最近验证指标,模型好坏应以独立验证集结果为主。 - 继续训练时可以选择已有训练产出模型作为基础模型,并使用更小学习率短轮次微调;标签集合发生变化时应从原始基座模型重新训练。 ## 开发约定 - 后端新增功能遵守 `API -> Service -> Repository -> Model` 分层,详见 `开发规范.md`。 - 插件代码、模型文件、训练输出、日志、缓存和构建产物不要提交到 Git。 - 插件包和模型包分开管理:插件包只包含代码、声明、少量示例和测试脚本;模型由“模型管理”维护。 - 现场化部署配置、密钥、token、IP、密码等不要写入 README 或代码注释。 ## 文档索引 - `AGENTS.md`:项目级 AI / 开发协作规则。 - `docs/模块索引.md`:平台模块清单、职责、上下游和验证入口。 - `docs/架构设计.md`:跨模块架构、核心链路、数据流和部署拓扑。 - `平台使用说明.md`:平台功能和页面使用说明。 - `开发规范.md`:中心平台代码开发约束。 - `docs/部署运维.md`:脱敏部署、配置、启动、备份和排障说明。 - `node-go/README.md`:Go Node 宿主机节点组件、一键安装模板和镜像/推理调度验证说明。 - `agent-deploy-template/README.md`:脱敏训练镜像 Docker 和离线部署模板。 - `docs/screenshots/`:平台页面截图。 - `server/README.md`:后端服务说明。 - `web/README.md`:前端工程说明。 - `../Hotline Algorithm SDK/README.md`:插件 SDK 文档入口。 - `../Hotline Algorithm SDK/插件开发说明.md`:插件开发规范和接口约定。