flask_sqlalchemy
ModelGavel 是一个智能模型选择系统,根据机器的硬件资源和模型性能指标,自动选择最适合的模型来处理任务。系统结合了 DCGM GPU 指标采集和模型性能评估,实现了高效的模型调度和资源利用。
modelgavel/ ├── apps/ # 应用核心代码 │ ├── api/ # API 接口模块 │ ├── cores/ # 核心功能模块 │ │ ├── get_gpu_metric/ # GPU 指标采集 │ │ ├── manager/ # 模型管理 │ │ └── tasks/ # 任务处理 │ ├── extensions/ # 扩展功能 │ ├── models/ # 数据模型 │ └── utils/ # 工具函数 ├── docs/ # 文档 │ ├── api.md # API 文档 │ ├── installation.md # 安装文档 │ ├── introduction.md # 项目介绍 │ └── judge_inputs.md # 输入格式文档 ├── .gitignore # Git 忽略文件 ├── README.md # 项目说明 ├── local.env # 环境配置 ├── main.py # 项目入口 ├── requirements-dev.txt # 开发依赖 └── requirements.txt # 生产依赖
git clone https://your-repository-url/modelgavel.git cd modelgavel
在项目根目录创建 docker-compose.yml 文件:
docker-compose.yml
version: '3.8' services: modelgavel: build: . ports: - "8000:8000" env_file: - local.env restart: unless-stopped
编辑 local.env 文件,设置必要的环境变量:
local.env
# API 配置 API_HOST=0.0.0.0 API_PORT=8000 # 模型配置 MODEL_API_ENDPOINT=http://192.168.1.209:11434/v1/chat/completions # 日志配置 LOG_LEVEL=INFO
docker-compose up -d --build
查看服务状态:
docker-compose ps
{ "action": "start", "job_id": "task_1", "data": { "machine": [/* 机器指标 */], "models": [/* 模型信息 */] } }
{ "running": true, "topic": "task_msg/task_1" }
# 使用 Docker 启动 docker-compose up -d # 或直接运行 python main.py
使用 POST 请求到 /api/ctrl/list 接口,提交模型选择任务:
/api/ctrl/list
curl -X POST http://localhost:8000/api/ctrl/list \ -H "Content-Type: application/json" \ -d '{ "action": "start", "job_id": "model_selection", "data": { "machine": { "gpu_utilization": 0.3, "gpu_memory_free": 8.5, "gpu_count": 2 }, "models": [ { "type": "text-generation", "model_size": "15GB", "latency": 0.8, "throughput": 3, "gpu_memory_usage": "8GB", "response_speed": 0.10, "model_capability": 0.40, "gpu_availability": 0.30 }, { "type": "text-generation", "model_size": "7GB", "latency": 0.5, "throughput": 5, "gpu_memory_usage": "4GB", "response_speed": 0.20, "model_capability": 0.30, "gpu_availability": 0.30 } ] } }'
使用 GET 请求到 /api/ctrl/list 接口,查看当前运行的任务:
curl http://localhost:8000/api/ctrl/list
编辑 local.env 文件,设置以下环境变量:
API_HOST
API_PORT
MODEL_API_ENDPOINT
LOG_LEVEL
系统默认的评分权重配置:
pip install -r requirements-dev.txt
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。
项目处于活跃开发状态,欢迎贡献和反馈。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
ModelGavel
项目简介
ModelGavel 是一个智能模型选择系统,根据机器的硬件资源和模型性能指标,自动选择最适合的模型来处理任务。系统结合了 DCGM GPU 指标采集和模型性能评估,实现了高效的模型调度和资源利用。
项目结构
核心功能
1. 智能模型选择
2. GPU 指标采集
3. 模型管理
4. 任务调度
安装指南
前提条件
安装步骤
在项目根目录创建
docker-compose.yml文件:编辑
local.env文件,设置必要的环境变量:查看服务状态:
API 接口
1. 任务管理接口
请求示例
响应示例
使用说明
1. 启动系统
2. 提交任务
使用 POST 请求到
/api/ctrl/list接口,提交模型选择任务:3. 监控任务
使用 GET 请求到
/api/ctrl/list接口,查看当前运行的任务:配置指南
环境变量配置
编辑
local.env文件,设置以下环境变量:API_HOST- API 服务主机地址API_PORT- API 服务端口MODEL_API_ENDPOINT- 模型 API 调用地址LOG_LEVEL- 日志级别(INFO, DEBUG, ERROR 等)评分权重配置
系统默认的评分权重配置:
技术栈
开发指南
安装开发依赖
许可证
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。
项目状态
项目处于活跃开发状态,欢迎贡献和反馈。