Không có mô tả

ysl2007 cd15baaffc 召回 3 tháng trước cách đây
__pycache__ cd15baaffc 召回 3 tháng trước cách đây
README.md cd15baaffc 召回 3 tháng trước cách đây
recall_eval.py cd15baaffc 召回 3 tháng trước cách đây
requirements.txt cd15baaffc 召回 3 tháng trước cách đây

README.md

BI Recall Eval Script

用于评估“根据用户问题召回仪表板/数据集”的三路召回表现。

输入

  1. id_map.parquet

必需字段:

  • card_id
  • card_name
  • dashboard_id
  • dashboard_name
  • dataset_id
  • dataset_name
  • branch_code
  1. questions.txt

推荐格式每行一条:

123456\t本月深圳分行存款趋势
234567\t零售客户AUM周报看板

脚本也兼容 card_id,questioncard_id|questioncard_id question

召回逻辑

  1. 第一路:从全量仪表板中随机采样 500 个,以 80% 概率强制放入正确卡片所在仪表板。
  2. 第二路:调用召回接口,recall_type=dashboard
  3. 第三路:调用召回接口,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_id
  • dataset_id
  • id