Files
Mutual_Fund/scripts/evaluate_nl2sql.py
T

36 lines
1.1 KiB
Python

"""执行 NL2SQL 离线 Golden Case 评测。"""
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from nl2sql.evaluation import build_evaluation_report, load_cases
def main() -> None:
parser = argparse.ArgumentParser(description="NL2SQL 离线质量评测")
parser.add_argument(
"--cases",
default=str(Path(__file__).resolve().parents[1] / "tests" / "fixtures" / "nl2sql_golden_cases.json"),
help="Golden Case JSON 文件路径",
)
parser.add_argument("--prompt-version", default="unknown")
parser.add_argument("--semantic-version", default="unknown")
parser.add_argument("--model-version", default="unknown")
args = parser.parse_args()
report = build_evaluation_report(
load_cases(args.cases),
prompt_version=args.prompt_version,
semantic_version=args.semantic_version,
model_version=args.model_version,
)
print(json.dumps(report, ensure_ascii=False))
if __name__ == "__main__":
main()