Files
ewoooc/scripts/ops/report_pixelrag_vlm_route_readiness.py

63 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""Report PixelRAG VLM route/model readiness."""
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from services.pixelrag_vlm_route_readiness_service import ( # noqa: E402
build_pixelrag_vlm_route_readiness,
)
def main() -> int:
parser = argparse.ArgumentParser(
description="讀回 PixelRAG VLM approved Ollama route / model readiness。"
)
parser.add_argument("--model", help="要檢查的 configured VLM model。")
parser.add_argument(
"--timeout",
type=int,
default=3,
help="/api/tags probe timeout 秒數。",
)
parser.add_argument(
"--include-models",
action="store_true",
help="輸出每個 host 的 model list。",
)
parser.add_argument(
"--probe-generate",
action="store_true",
help="執行極小 /api/generate preflight預設不呼叫模型。",
)
parser.add_argument(
"--probe-timeout",
type=int,
default=8,
help="/api/generate preflight timeout 秒數。",
)
args = parser.parse_args()
payload = build_pixelrag_vlm_route_readiness(
model=args.model,
timeout_seconds=args.timeout,
include_models=args.include_models,
probe_generate=args.probe_generate,
probe_timeout_seconds=args.probe_timeout,
)
print(json.dumps(payload, ensure_ascii=False, indent=2, sort_keys=True))
return 0 if payload.get("success") else 1
if __name__ == "__main__":
raise SystemExit(main())