This commit is contained in:
hailin 2025-09-07 14:51:39 +08:00
parent 3309c45a7b
commit 30de9a5e5c
3 changed files with 228 additions and 0 deletions

107
distill_hf.py Normal file
View File

@ -0,0 +1,107 @@
#!/usr/bin/env python3
import os, json, uuid, time, argparse, random, signal
from multiprocessing import Pool, cpu_count
from tqdm import tqdm
import requests
# ========== 配置 ==========
API_URL = "http://183.36.35.42:30000/v1/chat/completions"
API_KEY = "token-abc123"
HEADERS = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
# 温度/采样策略(可根据需求扩展)
TEMPS = [0.2, 0.5, 0.8, 1.0]
# ========== 函数 ==========
def ask_teacher(prompt: str, temperature: float = 0.7, top_p: float = 0.95, n: int = 1, logprobs: int = 5):
"""调用教师模型 API"""
payload = {
"model": "Qwen3-32B",
"messages": [{"role": "user", "content": prompt}],
"temperature": temperature,
"top_p": top_p,
"n": n,
"max_tokens": 1024,
"logprobs": logprobs,
"stream": False,
}
try:
r = requests.post(API_URL, headers=HEADERS, json=payload, timeout=60)
r.raise_for_status()
return r.json()
except Exception as e:
return {"error": str(e)}
def process_one(prompt: str):
"""处理单个 prompt返回多条数据"""
records = []
for T in TEMPS:
resp = ask_teacher(prompt, temperature=T)
if "choices" not in resp: # 出错
continue
for ch in resp["choices"]:
rec = {
"id": str(uuid.uuid4()),
"prompt": prompt,
"teacher_answer": ch["message"]["content"],
"logprobs_topk": ch.get("logprobs", {}),
"decode_params": {"temperature": T, "top_p": 0.95, "n": 1},
"ts": int(time.time())
}
records.append(rec)
return records
def worker(job):
"""单个工作进程"""
prompt, out_path = job
records = process_one(prompt)
if not records:
return 0
with open(out_path, "a", encoding="utf-8") as f:
for r in records:
# 基础过滤
if 32 < len(r["teacher_answer"]) < 4000:
f.write(json.dumps(r, ensure_ascii=False) + "\n")
return len(records)
# ========== 主入口 ==========
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--seed_file", type=str, default="seeds.txt", help="种子 prompt 文件")
parser.add_argument("--output", type=str, default="distilled.jsonl", help="输出 JSONL 文件")
parser.add_argument("--target", type=int, default=1000000, help="目标样本数")
parser.add_argument("--workers", type=int, default=cpu_count(), help="并行进程数")
args = parser.parse_args()
# 读种子
with open(args.seed_file) as f:
seeds = [l.strip() for l in f if l.strip()]
# 断点续跑:已有样本数
done = 0
if os.path.exists(args.output):
with open(args.output) as f:
done = sum(1 for _ in f)
print(f"[INFO] 已有 {done} 条,目标 {args.target}")
# 主循环
pool = Pool(processes=args.workers)
try:
with tqdm(total=args.target, initial=done) as pbar:
while done < args.target:
batch_prompts = random.choices(seeds, k=args.workers)
jobs = [(p, args.output) for p in batch_prompts]
for added in pool.map(worker, jobs):
done += added
pbar.update(added)
except KeyboardInterrupt:
print("[WARN] 用户中断,保存进度中…")
pool.terminate()
finally:
pool.close()
pool.join()

1
run_distill.sh Normal file
View File

@ -0,0 +1 @@
python distill_hf.py --seed_file seeds.txt --output distilled.jsonl --target 1000000 --workers 32

120
seeds.txt Normal file
View File

@ -0,0 +1,120 @@
多步推理:安全与合规门控(红线测试),逐步验证每一步是否正确,最后输出结论与信心分数。 采用三段式写作:现状→方案→预期。
给 GitHub Actions 持续集成发布 制定 8 周里程碑计划(每周 1 个里程碑),附成功标准。 采用三段式写作:现状→方案→预期。
将 GDPR 与 CCPA 在数据主体请求的差异 的回答限制为 3 点,每点不超过 20 字。 采用三段式写作:现状→方案→预期。
把 软件许可证合规注意点(衍生作品分发) 转成 SQL 需求说明,给出 3 条示例并解释窗口函数用法。 仅输出编号 16 的步骤,每步一句话。
写工具路由决策:遇到 LLM 蒸馏数据管道(采样/过滤/回灌),是否需要调用外部工具?如需要,列出工具名与参数。 采用三段式写作:现状→方案→预期。
把以下需求拆成可执行任务清单:隐私政策变更通知范本。请输出 JSON字段task, owner, due, risk。 输出 CSV逗号分隔item, detail, owner, due。
编写 PRD 摘要(问题/用户/场景/目标/范围外GitHub Actions 持续集成发布。 严格输出 JSON字段title, bullets[], risk, next_step。
输出风险登记表CSV竞品对比性能/价格/部署/生态/服务),列:风险、概率、影响、缓解、应急。 严格输出 JSON字段title, bullets[], risk, next_step。
写排障清单:当 体检前饮食与饮水准备清单(科普) 出现异常时,按 1→5 的次序逐步定位。 输出 Markdown 表格,不少于 5 行。
撰写商务邮件模板:就 Go 并发下载器(断点/校验/重试/日志) 与客户沟通,包含开场、请求、时间表、致谢。 输出 YAMLsummary, steps, risks, owners。
严格输出 JSON为 近似算法设计(最短路径变体) 生成抽取结果,确保可解析且字段完整。 严格输出 JSON字段title, bullets[], risk, next_step。
撰写商务邮件模板:就 组合数学容斥原理练习 与客户沟通,包含开场、请求、时间表、致谢。 输出 CSV逗号分隔item, detail, owner, due。
写 120 字以内摘要:时间序列分解与季节性分析,保留关键数字与风险点。 采用三段式写作:现状→方案→预期。
编写代码审查清单:近似算法设计(最短路径变体),突出安全与可维护性。 输出 YAMLsummary, steps, risks, owners。
撰写商务邮件模板:就 处理未成年人数据的额外保护措施 与客户沟通,包含开场、请求、时间表、致谢。 严格输出 JSON字段title, bullets[], risk, next_step。
给 软件许可证合规注意点(衍生作品分发) 制定 8 周里程碑计划(每周 1 个里程碑),附成功标准。 输出 Markdown 表格,不少于 5 行。
把 CI/CD 流水线lint→test→build→deploy 转成 SQL 需求说明,给出 3 条示例并解释窗口函数用法。 输出 CSV逗号分隔item, detail, owner, due。
从文本中抽取结构化信息JSON围绕 零售门店会员增长与复购提升,字段:主体, 时间, 地点, 金额/数量, 结论。 输出 YAMLsummary, steps, risks, owners。
从文本中抽取结构化信息JSON围绕 因果推断入门场景,字段:主体, 时间, 地点, 金额/数量, 结论。 输出 Markdown 表格,不少于 5 行。
输出 Mermaid 流程图代码flowchart异常检测3σ 与 MAD 方法,标出关键分支。 采用三段式写作:现状→方案→预期。
从文本中抽取结构化信息JSON围绕 事件响应流程(分级/取证/通报/修复/复盘),字段:主体, 时间, 地点, 金额/数量, 结论。 采用三段式写作:现状→方案→预期。
将 线性代数对角化条件示例 写成 FAQ6 问 6 答),覆盖常见误区。 输出 YAMLsummary, steps, risks, owners。
严格输出 JSON为 Zero Trust 接入与审计 生成抽取结果,确保可解析且字段完整。 严格输出 JSON字段title, bullets[], risk, next_step。
写排障清单:当 SQL 优化与索引设计 出现异常时,按 1→5 的次序逐步定位。 输出 CSV逗号分隔item, detail, owner, due。
写排障清单:当 哈希分片写入多个小文件 出现异常时,按 1→5 的次序逐步定位。 严格输出 JSON字段title, bullets[], risk, next_step。
输出 YAML渠道伙伴招募与赋能summary, steps, risks, owners。 输出 Markdown 表格,不少于 5 行。
给 第三方组件合规清单(含 SBOM 字段) 制定 8 周里程碑计划(每周 1 个里程碑),附成功标准。 输出 YAMLsummary, steps, risks, owners。
编写 PRD 摘要(问题/用户/场景/目标/范围外):梯度消失的成因与举例。 输出 Markdown 表格,不少于 5 行。
严格输出 JSON为 日志采集与集中化Fluent Bit/Vector 生成抽取结果,确保可解析且字段完整。 仅输出 3 条要点,每条 ≤ 20 字。
生成 5 条社媒文案(各 50 字内Kubernetes HPA 横向扩容策略,语气:正式/友好/紧迫/专业/轻松。 采用三段式写作:现状→方案→预期。
把 Lipschitz 连续性的定义与例子 转成 SQL 需求说明,给出 3 条示例并解释窗口函数用法。 仅输出编号 16 的步骤,每步一句话。
给 Pandas 清洗(缺失/异常/标准化/编码) 制定 8 周里程碑计划(每周 1 个里程碑),附成功标准。 输出 CSV逗号分隔item, detail, owner, due。
输出合规模板清单A/B 测试设计与样本量计算,按 数据/访问/日志/第三方/保留期 分类列要点。 输出 CSV逗号分隔item, detail, owner, due。
生成标准操作流程SOPNginx 反向代理与缓存/限流/CORS 配置,分为 准备→执行→验证→回滚。 仅输出 3 条要点,每条 ≤ 20 字。
把以下需求拆成可执行任务清单供应商安全问卷VSA模板。请输出 JSON字段task, owner, due, risk。 输出 CSV逗号分隔item, detail, owner, due。
把 GitHub Actions 持续集成发布 转成 SQL 需求说明,给出 3 条示例并解释窗口函数用法。 仅输出 3 条要点,每条 ≤ 20 字。
生成标准操作流程SOPCI/CD 流水线lint→test→build→deploy分为 准备→执行→验证→回滚。 输出 Markdown 表格,不少于 5 行。
输出 YAML餐后血糖管理的通用提示科普summary, steps, risks, owners。 采用三段式写作:现状→方案→预期。
用要点列出:组合数学容斥原理练习 的实施步骤,限制 6 条,并给出每条的验收标准。 输出 Markdown 表格,不少于 5 行。
写一个 Python 伪代码示例,完成 数据驻留实施三步 的数据处理与校验,并打印统计结果。 仅输出编号 16 的步骤,每步一句话。
输出 YAML采购评估ROI 导向模板summary, steps, risks, owners。 仅输出 3 条要点,每条 ≤ 20 字。
写排障清单:当 组合数学容斥原理练习 出现异常时,按 1→5 的次序逐步定位。 仅输出 3 条要点,每条 ≤ 20 字。
为 数据驻留实施三步 生成 5 个测试用例(输入/期望输出/边界情况)。 输出 CSV逗号分隔item, detail, owner, due。
为 运动强度分级与心率区间示例(科普) 生成 5 个测试用例(输入/期望输出/边界情况)。 采用三段式写作:现状→方案→预期。
把 SQL 窗口函数的 7 日滚动活跃 输出为 Markdown 表格,列:步骤、输入、输出、负责人、时限。 严格输出 JSON字段title, bullets[], risk, next_step。
用通俗语言解释 日志采集与集中化Fluent Bit/Vector提供一个生活类比约 150 字。 仅输出编号 16 的步骤,每步一句话。
生成 5 条社媒文案(各 50 字内日志解析与指标聚合JSON Lines → 指标表),语气:正式/友好/紧迫/专业/轻松。 仅输出 3 条要点,每条 ≤ 20 字。
严格输出 JSON为 数据质量校验与缺失值处理 生成抽取结果,确保可解析且字段完整。 输出 YAMLsummary, steps, risks, owners。
用要点列出SQL 窗口函数的 7 日滚动活跃 的实施步骤,限制 6 条,并给出每条的验收标准。 仅输出编号 16 的步骤,每步一句话。
生成标准操作流程SOP客户成功推行计划分为 准备→执行→验证→回滚。 输出 YAMLsummary, steps, risks, owners。
把以下需求拆成可执行任务清单NP 完全问题的归约示例。请输出 JSON字段task, owner, due, risk。 仅输出编号 16 的步骤,每步一句话。
制定 A/B 测试方案GDPR 与 CCPA 在数据主体请求的差异,包含样本量、指标与停表规则。 输出 YAMLsummary, steps, risks, owners。
输出 Mermaid 流程图代码flowchartNginx 反向代理与缓存/限流/CORS 配置,标出关键分支。 输出 YAMLsummary, steps, risks, owners。
严格输出 JSON为 API 设计与速率限制/缓存策略 生成抽取结果,确保可解析且字段完整。 输出 CSV逗号分隔item, detail, owner, due。
输出合规模板清单评测集MMLU/IFEval/ToolBench/业务私有),按 数据/访问/日志/第三方/保留期 分类列要点。 输出 CSV逗号分隔item, detail, owner, due。
输出风险登记表CSVSaaS 订阅业务的留存与扩张,列:风险、概率、影响、缓解、应急。 输出 Markdown 表格,不少于 5 行。
输出 YAML安全与合规门控红线测试summary, steps, risks, owners。 严格输出 JSON字段title, bullets[], risk, next_step。
把 常见化验指标入门解读(科普) 改写为更正式且简洁的版本,删除空话与重复。 输出 CSV逗号分隔item, detail, owner, due。
从文本中抽取结构化信息JSON围绕 TCP 重传与拥塞排障,字段:主体, 时间, 地点, 金额/数量, 结论。 输出 Markdown 表格,不少于 5 行。
输出 Mermaid 流程图代码flowchart处理未成年人数据的额外保护措施标出关键分支。 采用三段式写作:现状→方案→预期。
给 评测集MMLU/IFEval/ToolBench/业务私有) 制定 8 周里程碑计划(每周 1 个里程碑),附成功标准。 输出 YAMLsummary, steps, risks, owners。
用通俗语言解释 HTML 表格转结构化 JSON提供一个生活类比约 150 字。 输出 YAMLsummary, steps, risks, owners。
从文本中抽取结构化信息JSON围绕 哈希分片写入多个小文件,字段:主体, 时间, 地点, 金额/数量, 结论。 仅输出编号 16 的步骤,每步一句话。
生成 5 条社媒文案(各 50 字内):向量数据库选型与嵌入更新策略,语气:正式/友好/紧迫/专业/轻松。 输出 YAMLsummary, steps, risks, owners。
输出 Mermaid 流程图代码flowchartAPI 设计与速率限制/缓存策略,标出关键分支。 输出 Markdown 表格,不少于 5 行。
用通俗语言解释 安全与合规门控(红线测试),提供一个生活类比,约 150 字。 严格输出 JSON字段title, bullets[], risk, next_step。
多步推理:运动强度分级与心率区间示例(科普),逐步验证每一步是否正确,最后输出结论与信心分数。 严格输出 JSON字段title, bullets[], risk, next_step。
输出 Mermaid 流程图代码flowchart力量与有氧的配比与每周安排科普标出关键分支。 输出 Markdown 表格,不少于 5 行。
多步推理LRU 缓存实现与单元测试,逐步验证每一步是否正确,最后输出结论与信心分数。 输出 Markdown 表格,不少于 5 行。
将 异常检测3σ 与 MAD 方法 写成 FAQ6 问 6 答),覆盖常见误区。 输出 CSV逗号分隔item, detail, owner, due。
把 供应商安全问卷VSA模板 改写为更正式且简洁的版本,删除空话与重复。 采用三段式写作:现状→方案→预期。
生成 5 条社媒文案(各 50 字内):公平性评估清单与偏差缓解,语气:正式/友好/紧迫/专业/轻松。 采用三段式写作:现状→方案→预期。
编写 PRD 摘要(问题/用户/场景/目标/范围外Prometheus 告警规则设计。 严格输出 JSON字段title, bullets[], risk, next_step。
严格输出 JSON为 CI/CD 流水线lint→test→build→deploy 生成抽取结果,确保可解析且字段完整。 仅输出 3 条要点,每条 ≤ 20 字。
为 MENA 市场本地化要点 生成 5 个测试用例(输入/期望输出/边界情况)。 严格输出 JSON字段title, bullets[], risk, next_step。
输出 YAML异常检测3σ 与 MAD 方法summary, steps, risks, owners。 严格输出 JSON字段title, bullets[], risk, next_step。
写排障清单:当 常见化验指标入门解读(科普) 出现异常时,按 1→5 的次序逐步定位。 输出 CSV逗号分隔item, detail, owner, due。
写工具路由决策:遇到 客户成功推行计划,是否需要调用外部工具?如需要,列出工具名与参数。 严格输出 JSON字段title, bullets[], risk, next_step。
从文本中抽取结构化信息JSON围绕 Lipschitz 连续性的定义与例子,字段:主体, 时间, 地点, 金额/数量, 结论。 输出 Markdown 表格,不少于 5 行。
把 体检前饮食与饮水准备清单(科普) 转成 SQL 需求说明,给出 3 条示例并解释窗口函数用法。 严格输出 JSON字段title, bullets[], risk, next_step。
把以下需求拆成可执行任务清单LLM 蒸馏数据管道(采样/过滤/回灌)。请输出 JSON字段task, owner, due, risk。 输出 CSV逗号分隔item, detail, owner, due。
编写 PRD 摘要(问题/用户/场景/目标/范围外采购评估ROI 导向)模板。 采用三段式写作:现状→方案→预期。
输出 YAMLZero Trust 接入与审计summary, steps, risks, owners。 仅输出 3 条要点,每条 ≤ 20 字。
写一段 SRE 值班手册片段:数据驻留实施三步,流程为 告警→分级→处置→复盘。 仅输出 3 条要点,每条 ≤ 20 字。
输出风险登记表CSV睡眠卫生实用建议科普风险、概率、影响、缓解、应急。 严格输出 JSON字段title, bullets[], risk, next_step。
将 运动强度分级与心率区间示例(科普) 写成 FAQ6 问 6 答),覆盖常见误区。 输出 CSV逗号分隔item, detail, owner, due。
为 MENA 市场本地化要点 设计评估指标KPI/质量/安全),每项 1 句定义与计算方法。 输出 CSV逗号分隔item, detail, owner, due。
输出合规模板清单:思考链监督与安全裁剪,按 数据/访问/日志/第三方/保留期 分类列要点。 仅输出 3 条要点,每条 ≤ 20 字。
多步推理供应商安全问卷VSA模板逐步验证每一步是否正确最后输出结论与信心分数。 严格输出 JSON字段title, bullets[], risk, next_step。
编写代码审查清单:跨境电商销量预测看板建设,突出安全与可维护性。 仅输出编号 16 的步骤,每步一句话。
生成 5 条社媒文案(各 50 字内):常见化验指标入门解读(科普),语气:正式/友好/紧迫/专业/轻松。 仅输出 3 条要点,每条 ≤ 20 字。
制定 A/B 测试方案Kubernetes HPA 横向扩容策略,包含样本量、指标与停表规则。 输出 CSV逗号分隔item, detail, owner, due。
把 线性代数对角化条件示例 改写为更正式且简洁的版本,删除空话与重复。 仅输出编号 16 的步骤,每步一句话。
写排障清单:当 蓝绿发布与回滚 出现异常时,按 1→5 的次序逐步定位。 采用三段式写作:现状→方案→预期。
写一个 Python 伪代码示例,完成 Excel 多表合并与列选择 的数据处理与校验,并打印统计结果。 输出 Markdown 表格,不少于 5 行。
写一段 SRE 值班手册片段API 设计与速率限制/缓存策略,流程为 告警→分级→处置→复盘。 输出 YAMLsummary, steps, risks, owners。
把 Kubernetes HPA 横向扩容策略 转成 SQL 需求说明,给出 3 条示例并解释窗口函数用法。 输出 YAMLsummary, steps, risks, owners。
多步推理:高 IO 延迟定位Linux 工具),逐步验证每一步是否正确,最后输出结论与信心分数。 输出 Markdown 表格,不少于 5 行。
从文本中抽取结构化信息JSON围绕 GitHub Actions 持续集成发布,字段:主体, 时间, 地点, 金额/数量, 结论。 输出 Markdown 表格,不少于 5 行。
把 多机多卡随机性固定与复现 输出为 Markdown 表格,列:步骤、输入、输出、负责人、时限。 严格输出 JSON字段title, bullets[], risk, next_step。
写 120 字以内摘要:零售门店会员增长与复购提升,保留关键数字与风险点。 仅输出编号 16 的步骤,每步一句话。
写一个 Python 伪代码示例,完成 RAG 与 微调 与 蒸馏 的区别与组合 的数据处理与校验,并打印统计结果。 输出 CSV逗号分隔item, detail, owner, due。
编写代码审查清单Python 解析大型 JSONL 并统计 UV/P95突出安全与可维护性。 输出 YAMLsummary, steps, risks, owners。
把 HTML 表格转结构化 JSON 输出为 Markdown 表格,列:步骤、输入、输出、负责人、时限。 输出 Markdown 表格,不少于 5 行。
写工具路由决策:遇到 特征工程与目标泄露防范,是否需要调用外部工具?如需要,列出工具名与参数。 严格输出 JSON字段title, bullets[], risk, next_step。
为 久坐对代谢健康的影响与微习惯(科普) 生成 5 个测试用例(输入/期望输出/边界情况)。 严格输出 JSON字段title, bullets[], risk, next_step。
将 Excel 多表合并与列选择 的回答限制为 3 点,每点不超过 20 字。 严格输出 JSON字段title, bullets[], risk, next_step。
严格输出 JSON为 DPO/SimPO 偏好对齐与评测 生成抽取结果,确保可解析且字段完整。 输出 YAMLsummary, steps, risks, owners。
多步推理POC 成功标准与回滚预案,逐步验证每一步是否正确,最后输出结论与信心分数。 仅输出编号 16 的步骤,每步一句话。
写工具路由决策:遇到 零售门店会员增长与复购提升,是否需要调用外部工具?如需要,列出工具名与参数。 输出 YAMLsummary, steps, risks, owners。
撰写商务邮件模板:就 POC 成功标准与回滚预案 与客户沟通,包含开场、请求、时间表、致谢。 仅输出 3 条要点,每条 ≤ 20 字。
编写 PRD 摘要(问题/用户/场景/目标/范围外API 设计与速率限制/缓存策略。 仅输出编号 16 的步骤,每步一句话。
生成标准操作流程SOPExcel 多表合并与列选择,分为 准备→执行→验证→回滚。 输出 YAMLsummary, steps, risks, owners。
写排障清单:当 高 IO 延迟定位Linux 工具) 出现异常时,按 1→5 的次序逐步定位。 输出 Markdown 表格,不少于 5 行。
把 RAG 与 微调 与 蒸馏 的区别与组合 输出为 Markdown 表格,列:步骤、输入、输出、负责人、时限。 输出 Markdown 表格,不少于 5 行。
写工具路由决策:遇到 DPO/SimPO 偏好对齐与评测,是否需要调用外部工具?如需要,列出工具名与参数。 仅输出编号 16 的步骤,每步一句话。
从文本中抽取结构化信息JSON围绕 异常检测3σ 与 MAD 方法,字段:主体, 时间, 地点, 金额/数量, 结论。 采用三段式写作:现状→方案→预期。
写工具路由决策:遇到 高 IO 延迟定位Linux 工具),是否需要调用外部工具?如需要,列出工具名与参数。 严格输出 JSON字段title, bullets[], risk, next_step。
为 Python 解析大型 JSONL 并统计 UV/P95 生成 5 个测试用例(输入/期望输出/边界情况)。 采用三段式写作:现状→方案→预期。
生成标准操作流程SOP哈希分片写入多个小文件分为 准备→执行→验证→回滚。 输出 CSV逗号分隔item, detail, owner, due。