|
|
1 month ago | |
|---|---|---|
| __pycache__ | 3 months ago | |
| output | 3 months ago | |
| .gitignore | 2 months ago | |
| README.md | 3 months ago | |
| carddef2sql.py | 1 month ago | |
| nl2sql_batch_test.py | 3 months ago | |
| recall_eval.py | 3 months ago | |
| requirements.txt | 3 months ago | |
| sql_generate_testcase.json | 3 months ago | |
| stream_output_help.md | 3 months ago |
用于评估“根据用户问题召回仪表板/数据集”的三路召回表现。
id_map.parquet必需字段:
card_idcard_namedashboard_iddashboard_namedataset_iddataset_namebranch_codequestions.txt推荐格式每行一条:
123456\t本月深圳分行存款趋势
234567\t零售客户AUM周报看板
脚本也兼容 card_id,question、card_id|question 和 card_id question。
500 个,以 80% 概率强制放入正确卡片所在仪表板。recall_type=dashboard。recall_type=dataset。命中规则:
dashboard_id 即视为命中。dataset_id 即视为命中。python3 -m pip install -r requirements.txt
python3 recall_eval.py \
--questions-txt ./questions.txt \
--id-map-parquet ./id_map.parquet \
--api-url http://your-recall-api/recall \
--output-dir ./output
output/recall_summary.json:汇总指标output/recall_details.csv:逐题明细,包含第二路/第三路召回结果和错误信息脚本默认使用 POST JSON:
{
"question": "本月深圳分行存款趋势",
"recall_type": "dashboard"
}
返回支持以下常见结构之一:
{"data": [...]}{"items": [...]}{"results": [...]}每条记录至少包含一个可识别的 ID 字段,例如:
dashboard_iddataset_idid新增脚本 nl2sql_batch_test.py,用于批量执行:
card_id 和 sql运行前需要先修改脚本顶部常量:
BASE_URLQUERY_SQL_URLUSER_TOKEN运行命令:
python3 nl2sql_batch_test.py \
--input-json ./sql_generate_testcase.json \
--output-dir ./output
输出文件:
output/nl2sql_batch_summary.jsonoutput/nl2sql_generated_answers.json