36 lines
1.1 KiB
Python
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()
|