#!/usr/bin/env python3 # -*- coding: utf-8 -*- """作业 5 · vLLM 健康检查 HTTP 工具(FastAPI)。 207 上启动: bash /opt/workbuddy/scripts_bash_cursor/作业5_vLLM健康检查Agent/作业5_启动_vllm_health.sh """ from __future__ import annotations import _bootstrap # noqa: F401 from fastapi import FastAPI from 作业5_vllm_health import get_gpu_info, get_request_queue, get_vllm_status app = FastAPI( title="vLLM Health API", version="1.0.0", description="作业 5:检查 GPU 机 vLLM 容器、GPU 指标、请求排队", ) @app.get("/vllm/status", operation_id="get_vllm_status", summary="检查 vLLM 容器是否运行") def api_vllm_status() -> dict: return get_vllm_status() @app.get("/gpu/info", operation_id="get_gpu_info", summary="获取 GPU 利用率、显存、温度") def api_gpu_info() -> dict: return get_gpu_info() @app.get("/vllm/queue", operation_id="get_request_queue", summary="获取当前排队请求数") def api_queue() -> dict: return get_request_queue() @app.get("/health") def health() -> dict[str, str]: return {"status": "ok"} if __name__ == "__main__": import uvicorn import _config as C uvicorn.run("作业5_vllm_health_api:app", host="0.0.0.0", port=C.VLLM_HEALTH_PORT, reload=False)