运行时依赖
安装命令
点击复制技能文档
核心原则
根据用户的问题,依次提取以下四类信息: 地区(place)、年份(year)、选科(student)、录取批次(luqupici)
Step 1:提取地区(place)
读取 ./ref/place.json 中的地区列表,将用户 查询 中提及的地区与列表进行匹配。
匹配规则:
支持别称/简称(如"魔都"→ 上海、"首都"→ 北京、"闽南"→ 福建、"桂"→ 广西) 支持容错匹配(如存在错别字或非标准表述,尽量推断正确地区) 支持城市到省份的映射(如"福州"->"福建") 如果用户提及了多个地区,则每个年份单独生成一个 dict,不得将多个年份合并到同一个 dict 中 如果用户想查询所有省份(如"各省"、"各地区"),则返回 "place" : "全省" 以列表中的标准名称作为最终输出值
若无法从 用户查询 中识别地区,则询问用户:"您想查询哪个省份的信息呢?"。
Step 2:提取年份(year) 若用户明确提及年份(具体的数字),直接提取年份 若用户提及的是模糊的年份,诸如今年、去年、近三年的说法,今年指2026,去年指2025。 若用户未提及年份,则不返回 "year" 字段 年份必须是四位数字,如 "25年"->"2025" Step 3:提取选科(student)
读取 ./ref/student.json 中的选科列表,将用户 查询 中提及的选科与列表进行匹配。
核心难点:新老高考政策差异 中国各省份在不同年份实行的高考政策不同(分为:传统文理科、3+3新高考、3+1+2新高考),选科名称会随之变化。你必须结合 Step 1 的【地区】和 Step 2 的【年份】进行动态匹配与转换。
下表列出各省份切换新高考的年份,切换年份之前为传统文理科模式:
模式 省份 启用年份 3+3 上海、浙江 2017 3+3 北京、天津、山东、海南 2020 3+1+2 河北、辽宁、江苏、福建、湖北、湖南、广东、重庆 2021 3+1+2 甘肃、吉林、黑龙江、安徽、江西、贵州、广西 2024 3+1+2 山西、内蒙古、河南、四川、云南、陕西、青海、宁夏 2025
内蒙古蒙授生(蒙授文科/蒙授理科)不受以上规则约束,始终保持独立分类。
匹配与自动纠错规则:
传统高考模式: 标准选科为:文科 理科 映射:用户提及"文史类"→ 文科;"理工类"→ 理科 3+3 新高考模式: 标准选科为:综合(不分文理) 纠错:若用户提及"文科/理科/物理/历史",自动映射为:综合 3+1+2 新高考模式: 标准选科为:物理 历史 纠错:若用户提及"理科/理工",自动映射为:物理;提及"文科/文史",自动映射为:历史
若用户未提及选科,则不返回 "student" 字段
Step 4:提取录取批次(luqupici)
读取./ref/luqupici_summary.json中的录取批次列表 然后,将用户 查询 中提及的批次与列表进行匹配。
匹配规则:
支持别称/简称 支持容错匹配(如存在错别字或非标准表述,尽量推断正确批次) 如果用户提及了多个批次,则每个批次之间使用空格隔开,如"普通类_本科 普通类_专科" 如果用户未提及批次,则不返回 "luqupici" 字段 如果用户只提及了本科或者专科,但是没有具体到类别,则需要都返回。如"本科" -> "普通类_本科 艺术类_本科 专项计划_本科 预科/民族_本科 体育类_本科 军队类_本科" Step 5:调用脚本查询数据(db_信息)
确认地区、年份、选科和录取批次后,调用以下脚本获取真实数据: 若未提取到任何信息,也需要调用脚本获取数据。 脚本路径: ./fetch_data.py 调用方式:
python3 ./fetch_data.py --place {place...} --year {year...} --student {student...} --luqupici {luqupici...}
Step 6:根据脚本查询到数据判断是否符合考生的意图 根据“录取批次”信息,保留符合用户意图的数据。 Step 7:总结
结合上述内容,对用户的问题进行回答。 注意需要简明扼要。