文本抽取 + Prompt + JSONL
把原始文本、字段定义和示例压入 prompt;从模型文本中取出唯一 JSON,再逐行写出。
这里不是泛泛教程。按 2025 成人组第二轮 T1/T2 的输入输出、评测器和隐藏测试逻辑组织:先写对格式,再写稳算法,最后用 3 小时模拟卷收口。
勾选状态只保存在当前浏览器;它不替代仓库内的 progress.md。
第二轮内容被压缩成 5 条可执行路径。每条先从 starter 出发,再用 evaluator 自证,不需要额外扩展无关框架。
把原始文本、字段定义和示例压入 prompt;从模型文本中取出唯一 JSON,再逐行写出。
先把检索做成确定性模块,再把命中文档拼进 messages,最终保持与 T1 相同的 JSON 纪律。
目标不是写出“聪明”的 prompt,而是让每条输入稳定产出一个满足 schema 的对象。先看标准解法,再从 starter 默写。
先角色与任务,再给字段和类型,接着给原文,最后明确“只输出 JSON,不要 Markdown”。
prompt = f"""你是批改助手。
从题目文本抽取答案并判断对错。
只输出一个 JSON 对象,不要解释、不要 Markdown。
字段:answer(str), is_correct(bool), reason(str)
题目:{question}
学生答案:{student_answer}"""一行一条 JSON、字段完整、类型正确、不能多字、输入多少条就输出多少条。先验证再提交。
record = json.loads(model_text.strip()) assert isinstance(record["answer"], str) assert isinstance(record["is_correct"], bool) assert isinstance(record["reason"], str) print(json.dumps(record, ensure_ascii=False))
数字提取、单位括号、多数字干扰。每题有独立测试数据与答案文件。
不再依赖唯一数字。练 prompt 的抽取范围、纠错理由和 JSONL 输出稳定性。
检索模块要可复现:向量归一化、cosine、稳定 Top-K、上下文拼接。LLM 只负责最后的结构化回答。
先防止零向量,再按分数降序取 K 个索引。并列和输入维度都要按题面/评测器处理。
q = F.normalize(query.float(), dim=-1) d = F.normalize(docs.float(), dim=-1) scores = d @ q top_scores, top_ids = torch.topk(scores, k=top_k) retrieved = [documents[i] for i in top_ids.tolist()]
只拼接命中文档,不混入答案文件。最终响应沿用 T1 的 JSON schema 和本地验证。
context = "\n\n".join(retrieved)
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "参考资料:\n" + context + "\n\n问题:" + query},
]
result = call_llm(messages)折扣、单位换算、应用题。每道都有 problem_bank、JSONL 和可运行测例。
先排查检索,再检查 Prompt;不要用模型不稳定性掩盖确定性代码的 bug。
4 道 T1、4 道 T2、2 道综合。题目、starter、公开数据、评测脚本和答案严格分目录;先打开题目,完成后才查看 answers/。
练 schema 约束和抽取边界,避免从题干中错拿数字。
练理由字段和不确定表达,重点是输出契约而不是修辞。
先证明 cosine 与 Top-K 正确,再让模型利用检索内容生成字段。
练多文档上下文和隐藏样例泛化,不允许用公开结果表查答案。
先做 T1 结构化抽取,再把可信字段交给 T2;练模块边界。
练 3 小时内的取舍:先让每条任务有可提交版本,再逐项补强。
每套都有 exam、starter、data、evaluator、answers 和解析。答案没有放在题目路径里;开始前勾选“已开始”,时间到后再去打开 answers/。
以官方 T1/T2 的代码骨架和评分点作为对齐基线,适合第一次完整计时。
保持题型不变,改变文本、文档和边界条件;检验是否真正掌握了结构。
覆盖合理的新考法,但不引入竞赛算法题。把它当作考前最后一次全流程演练。
全量资料已随页面部署:官方材料、训练代码、公开数据、评测器、答案和速查均可直接打开。网页中的答案默认折叠,但静态站点不适合作为答案权限控制。
先明确评分逻辑与 S/A/B/C,再开始任何一份练习。
考前只看这三份;不再扩展新知识点。
用真题、错题、模拟和模板默写收敛到可提交的代码。