config: 新增 [run] mode 运行模式配置(cascade/doubao/deepseek)
- config.ini 全局生效,GUI 跟随配置,CLI --mode 参数可临时覆盖 - 必填项检查与首次配置对话框按模式过滤(仅豆包不要求 DeepSeek 配置,反之亦然) - 模板/示例/README 同步更新,新增 2 个配置测试(共 35 个全部通过)
This commit is contained in:
@@ -22,9 +22,9 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
p.add_argument("-o", "--output", default=None, help="报表输出目录(默认为图片文件夹)")
|
||||
p.add_argument("-c", "--config", default=None, help="配置文件路径(默认 config.ini)")
|
||||
p.add_argument("--prompt", default=None, help="提示词文件路径(覆盖配置)")
|
||||
p.add_argument("--mode", choices=["cascade", "doubao", "deepseek"], default="cascade",
|
||||
help="检测模式:cascade=豆包初筛+DeepSeek复检(默认),doubao=仅豆包,"
|
||||
"deepseek=仅 DeepSeek 全量")
|
||||
p.add_argument("--mode", choices=["cascade", "doubao", "deepseek"], default=None,
|
||||
help="检测模式(默认取 config.ini [run] mode,未配置则 cascade):"
|
||||
"cascade=豆包初筛+DeepSeek复检,doubao=仅豆包,deepseek=仅 DeepSeek 全量")
|
||||
p.add_argument("--workers-ark", type=int, default=None, help="豆包并发数")
|
||||
p.add_argument("--workers-ds", type=int, default=None, help="DeepSeek 并发数")
|
||||
p.add_argument("--max-tokens", type=int, default=None,
|
||||
@@ -47,8 +47,9 @@ def main(argv=None) -> int:
|
||||
cfg.deepseek_workers = args.workers_ds
|
||||
if args.max_tokens:
|
||||
cfg.max_tokens = args.max_tokens
|
||||
mode = args.mode or cfg.mode
|
||||
|
||||
missing = missing_fields(cfg)
|
||||
missing = missing_fields(cfg, mode)
|
||||
if missing:
|
||||
print(f"配置不完整,请编辑 {DEFAULT_CONFIG} 填写以下必填项:")
|
||||
for m in missing:
|
||||
@@ -57,7 +58,7 @@ def main(argv=None) -> int:
|
||||
|
||||
try:
|
||||
rows, summary = asyncio.run(run_detection(
|
||||
args.folder, cfg, mode=args.mode, verify=not args.no_verify))
|
||||
args.folder, cfg, mode=mode, verify=not args.no_verify))
|
||||
except FileNotFoundError as e:
|
||||
logger.error("路径或文件不存在:%s", e)
|
||||
return 1
|
||||
@@ -72,7 +73,7 @@ def main(argv=None) -> int:
|
||||
try:
|
||||
out_dir = args.output or args.folder
|
||||
ts_dir = organize_output(rows, args.folder, out_dir)
|
||||
xlsx = build_report(rows, str(ts_dir), {"mode": args.mode, **{
|
||||
xlsx = build_report(rows, str(ts_dir), {"mode": mode, **{
|
||||
k: summary.get(k) for k in ("ds_calls", "ds_peak_cost", "ds_idle_cost")}})
|
||||
except Exception: # noqa: BLE001
|
||||
logger.exception("输出组织/报表生成失败")
|
||||
|
||||
Reference in New Issue
Block a user