/
Chaizee
/
ZenithCode_Incident-LLM-analytics
Обзор
Документация
Войти
/
Chaizee
/
ZenithCode_Incident-LLM-analytics
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
ui
train_test.py
45 строк
2 KB
Chaizee
feat: add llm-analyzer realisation
08 июн 2026, 18:44
08 июн 2026, 18:44
0796e1d
Код
Авторство
О чём код?
from __future__ import annotations import argparse import sys from loguru import logger from src.llm import LLMEngine from src.train import test_on_test, train_on_base def main() -> int: parser = argparse.ArgumentParser(description="Обучение и тест инцидент-аналитики") parser.add_argument("command", choices=["train", "test", "all"]) parser.add_argument("--rows", type=int, default=5000, help="Строк base для train (0=все)") parser.add_argument("--skip-llm", action="store_true") parser.add_argument("--model", default=None) args = parser.parse_args() max_rows = None if args.rows == 0 else args.rows engine = LLMEngine(model_name=args.model) def progress(frac: float, msg: str) -> None: logger.info("[{:.0%}] {}", frac, msg) try: if args.command in ("train", "all"): tr = train_on_base(engine=engine, max_rows=max_rows, skip_llm=args.skip_llm, progress=progress) print(f"Train OK: {tr.rows_labeled} rows, {tr.problems_found} problems, few-shot={tr.few_shot_count}") if args.command in ("test", "all"): if args.command == "all": engine = LLMEngine(model_name=args.model) # reload few-shot res = test_on_test(engine=engine, skip_llm=args.skip_llm, progress=progress) print(f"Test OK: {res.analytics.get('problems_count')} problems / {res.analytics.get('total_rows')} rows") except Exception as exc: logger.exception("failed") print(f"Error: {exc}", file=sys.stderr) return 1 return 0 if __name__ == "__main__": raise SystemExit(main())