新闻详情

新闻详情

首页 / 资讯中心 / 详情

Data-Juicer Agent Bad Case 流水线:一键运行、冒烟验证与端到端质量分析指南

发布时间:2026/9/29 8:27:37来源:尧图网络
Data-Juicer Agent Bad Case 流水线:一键运行、冒烟验证与端到端质量分析指南
人工智能大模型数据工程数据清洗数据增强数据质检【免费下载链接】data-juicerData processing for and with foundation models! ➡️ ➡️ 项目地址https://gitcode.com/gh_mirrors/da/data-juicer点击查看免费下载导读本文是 Data-Juicer 仓库中 Agent 交互数据质量分析流水线的端到端快速上手指南对应文档 demos/agent/QUICKSTART_BAD_CASE_ZH.md。通过本文你将掌握如何用一条命令在本地无 API 环境下跑通 bad case 冒烟流水线、如何跑全量 LLM 评估菜谱、如何生成可分享的自助 HTML 报告、如何做 P95 阈值校准与二次验证以及常见坑语言过滤误杀、KenLM 缺失、API 中途失败等的排查方法。读完即可在仓库根目录复现完整流程。该流水线的姊妹文档包括方法论 demos/agent/BAD_CASE_INSIGHTS_ZH.md、仅报告命令 demos/agent/BAD_CASE_REPORT_ZH.md总索引见 demos/agent/README.md。一、只想看报告最少步骤如果你已经跑完了dj-process或bash demos/agent/scripts/run_bad_case_pipeline.sh smoke|full只想快速得到一份可视化结论只需两条确认产物存在默认导出位于./outputs/agent_quality/processed.jsonlfull或./outputs/agent_bad_case_smoke/processed.jsonlsmoke。执行一行命令bash demos/agent/scripts/run_bad_case_pipeline.sh report ./outputs/agent_quality/processed.jsonl脚本会在同目录自动生成processed_bad_case_report.html。浏览器打开后即可查看tier 分层表中文展示名 机器枚举、字段→信号归因表、high/medium 分层图表、cohort 汇总、以及可展开的样本钻取卡片含 meta/stats 快照与每条 signal 对应的上游字段取值。报告页面的详细说明见 demos/agent/BAD_CASE_REPORT_ZH.md。提示report子命令可一次传入多个 JSONL分批导出无需先cat合并若最后一个参数以.html/.htm结尾则视为输出文件其余均为输入。无位置参数时默认输入./outputs/agent_quality/processed.jsonl。二、前置条件环境准备2.1 在仓库根目录激活可用的dj-process环境所有命令都应在仓库根目录、使用包含dj-process的环境执行cd /path/to/data-juicer uv venv source .venv/bin/activate uv pip install -e .[ai_services] # 全量菜谱需要 LLM仅 smoke 可只装 -e .smoke 路径不依赖任何 LLM API仅安装核心依赖即可uv pip install -e .full 路径包含大量 LLM 算子对话打标、轨迹质检、综合评分、insight 等需要[ai_services]扩展及其对应的 API 密钥。若出现ModuleNotFoundError: No module named jsonlines说明jsonlines未随核心依赖装上正常情况下它属于pyproject.toml的 Core dependencies可先uv pip install -e .补装核心依赖再按需uv pip install jsonlines。2.2 确认which dj-process指向当前环境务必检查which dj-process它应指向本仓库的.venv/bin/dj-process。如果指向 Homebrew 等全局旧包例如/opt/homebrew/bin/dj-process会找不到jsonlines等依赖且不会用到本仓库对 config 的修复——详见 demos/agent/minimal_configs/README_ZH.md。三、一键命令总表在仓库根目录执行bash demos/agent/scripts/run_bad_case_pipeline.sh 子命令支持的子命令如下脚本本身见 demos/agent/scripts/run_bad_case_pipeline.sh目的命令HTML 报告校验 图 表bash demos/agent/scripts/run_bad_case_pipeline.sh report ./outputs/agent_quality/processed.jsonl冒烟无 APIpipeline 后处理 自动报告bash demos/agent/scripts/run_bad_case_pipeline.sh smokeSKIP_AUTO_REPORT1可关掉末段报告仅后处理verify / 分位数 / cohort / slice不调 matplotlibbash demos/agent/scripts/run_bad_case_pipeline.sh postprocess [JSONL]写 P95 校准 JSON第二遍跑 mapper 前bash demos/agent/scripts/run_bad_case_pipeline.sh calibrate-and-slice ./outputs/agent_quality/processed.jsonl全量菜谱多 LLM贵/慢bash demos/agent/scripts/run_bad_case_pipeline.sh full单元测试不跑 dj-processbash demos/agent/scripts/run_bad_case_pipeline.sh unittest3.1 子命令行为细节smoke执行dj-process --config demos/agent/minimal_configs/09_bad_case_smoke.yaml随后依次运行 verify → 分位数 → cohort → slice 切片示例末尾自动生成*_bad_case_report.html。postprocess对已导出的 jsonl 只做 verify percentiles cohorts slice不生成 HTML用于深度调试默认输入为$SMOKE_OUT。calibrate-and-slice用compute_percentile_thresholds.py --write-calibration从现有导出写出 P95 校准文件到$CAL_OUT并打印下一步 YAML 配置提示见本文第五节的校准闭环。full执行dj-process --config demos/agent/agent_interaction_quality_analysis.yaml先尝试verify_bad_case_export.py --require-insight第 10 步完成时校验 insight 字段失败则降级为普通 verify再做后处理与自动报告。unittestPYTHONPATH. python -m unittest tests.ops.mapper.test_agent_bad_case_signal_mapper -v无需先跑dj-process适合快速回归信号分层逻辑。3.2 输出位置与环境变量覆盖环境变量默认值作用PYTHON.venv/bin/python否则python3指定 Python 可执行文件SMOKE_OUT./outputs/agent_bad_case_smoke/processed.jsonlsmoke 路径导出位置FULL_OUT./outputs/agent_quality/processed.jsonlfull 路径导出位置CAL_OUT./outputs/agent_quality/bad_case_calibration.json校准 JSON 输出位置SKIP_AUTO_REPORT1空smoke/full 末尾不自动生成 HTMLBAD_CASE_REPORT_LLM01报告导读不加--llm-summaryBAD_CASE_REPORT_BILINGUAL01报告不加--bilingualBAD_CASE_REPORT_LLM_TIMEOUT_SEC120导读 LLM HTTP 读超时秒数完整的usage帮助信息可在任意目录执行bash demos/agent/scripts/run_bad_case_pipeline.sh --help查看。四、端到端两条路径A. 本地快速验证无 LLM与 BAD_CASE_INSIGHTS 对齐bash demos/agent/scripts/run_bad_case_pipeline.sh smoke配置demos/agent/minimal_configs/09_bad_case_smoke.yaml对应minimal_configs目录里的 09 号配置该目录还提供 01~08 逐步拆分的可调试配置导出./outputs/agent_bad_case_smoke/processed.jsonl检查__dj__meta__.agent_bad_case_tier/agent_bad_case_signals或合并_stats.jsonl后由脚本读取smoke 配置的关键设计来自 09_bad_case_smoke.yaml使用agent_dialog_normalize_mapperextract_tool_skill_tags: true、copy_lineage_fields: true完成消息结构规范化usage_counter_mappertool_success_tagger_mapperagent_tool_type_mapper统计用量与工具执行标签agent_bad_case_signal_mapper开启启发式信号signal_on_tool_fail: true、signal_on_low_tool_success_ratio: truemin_tool_rounds_for_ratio_signal: 2并关闭依赖 LLM 的signal_on_llm_analysis_low/signal_on_llm_text_quality_low故意不放language_id_score_filterFastText 对 agent 短文本/中英混排常判为非字面zh若配lang: zh会把整批样本滤空Left 0 samples。全量菜谱保留该算子但lang: 且min_score: 0.0。跑完后可用jq抽查示例见 demos/agent/BAD_CASE_INSIGHTS_ZH.mdjq select(.__dj__meta__.agent_bad_case_tierhigh_precision) \ outputs/agent_bad_case_smoke/processed.jsonl | headB. 完整分析含 LLM 评估 可选校准 insight配置 API按项目惯例为各 LLM 算子设置所需环境变量/密钥如api_model: qwen-turbo对应的 DashScope/OpenAI 兼容 Key。跑全量菜谱bash demos/agent/scripts/run_bad_case_pipeline.sh full # 等价于 dj-process --config demos/agent/agent_interaction_quality_analysis.yaml该菜谱 demos/agent/agent_interaction_quality_analysis.yaml 包含近 40 个算子流程分段为① 数据规范化与 PII 脱敏/复核 → ② 通用清洗 → ③ 对话属性打标意图/情感/主题/强度→ ④ 模型用量与工具标签 → ⑤ 对话末轮/轨迹 LLM 质检记忆一致性、指代消解、话题漂移、错误恢复、澄清质量、主动性、去重复、轨迹连贯性、工具相关性→ ⑥ 保守的文本质量统计类 filter → ⑦ LLM 综合评分回复质量四维、Agent 场景四维、难度→ ⑧ Bad case 保守分层 → ⑨ LLM 可解释总览insight。可选两阶段校准bash demos/agent/scripts/run_bad_case_pipeline.sh calibrate-and-slice ./outputs/agent_quality/processed.jsonl脚本会把 P95 校准文件写到$CAL_OUT并提示下一步在 YAML 的agent_bad_case_signal_mapper中打开auto_calibrate_thresholds: true与calibration_json_path然后对同结构数据再跑第二轮dj-process见 agent_interaction_quality_analysis.yaml 第 9 步注释# auto_calibrate_thresholds: false/# calibration_json_path: ./outputs/agent_quality/bad_case_calibration.json。校准实现细节从源码/文档可见compute_percentile_thresholds.py --write-calibration会按meta.agent_request_model汇总 token / 延迟 /stats.perplexity的分位数生成含default与by_request_model两部分的 JSONmapper 侧默认calibration_manual_overrides_auto: true——即 YAML 里显式写的max_*/ perplexity 阈值仍优先于校准文件设为false则优先用校准文件。读取洞察第 10 步agent_insight_llm_mapper成功时结果在__dj__meta__.agent_insight_llm结构含headline、root_causes、narrative_alignment、human_review_priorityP0–P3、viz_facets。校验可加python demos/agent/scripts/verify_bad_case_export.py --input ... --require-insight五、脚本目录说明一键脚本与全部后处理 Python 脚本都位于 demos/agent/scripts/各脚本参数与示例详见 demos/agent/scripts/README_ZH.md。核心脚本一览脚本作用run_bad_case_pipeline.sh一键编排smoke / full / report / postprocess / calibrate-and-slice / unittestgenerate_bad_case_report.py自助报告tier、字段→信号归因表、分层图、cohort输出单页 HTMLbad_case_signal_support.py报告内归因表静态数据signal code → 上游 meta/stats / 算子dj_export_row.py解析__dj__meta__/__dj__stats__并与同级*_stats.jsonl按行合并verify_bad_case_export.py校验导出是否含agent_bad_case_tier/agent_bad_case_signalscompute_percentile_thresholds.py分位数报告--write-calibration生成校准 JSONanalyze_bad_case_cohorts.py按 model / pt / tier 汇总可选--out-csvslice_export_by_tier.py按 tier及可选--model导出子集 jsonl供人工复核手动分步示例与端到端流程一一对应python demos/agent/scripts/verify_bad_case_export.py \ --input ./outputs/agent_bad_case_smoke/processed.jsonl python demos/agent/scripts/compute_percentile_thresholds.py \ --input ./outputs/agent_quality/processed.jsonl \ --write-calibration ./outputs/agent_quality/bad_case_calibration.json \ --calibration-percentile 95 python demos/agent/scripts/analyze_bad_case_cohorts.py \ --input ./outputs/agent_quality/processed.jsonl \ --out-csv ./outputs/agent_quality/cohort_summary.csv python demos/agent/scripts/slice_export_by_tier.py \ --input ./outputs/agent_quality/processed.jsonl \ --tier high_precision \ --output ./outputs/agent_quality/high_precision_only.jsonl依赖说明各脚本要求python3.8analyze_bad_case_cohorts.py的 pandas 聚合路径为可选无 pandas 时自动回退到标准库聚合。六、LLM 算子慢、想加速全量菜谱调用大量 LLM如果速度/成本吃紧参考 demos/agent/PERFORMANCE_LLM_ZH.md主要手段包括调低并行度np如从 8 降到 2~4减少大模型算子混跑时的尾延迟抖动调小num_proc/ 使用turbo档模型减小try_num默认 2与max_round对话打标/质检默认 4 轮收紧sampling_params如max_tokens320 左右、temperature0.15换更小/更快的模型收窄agent_insight_llm_mapper的run_for_tiers默认仅[high_precision, watchlist]删除该字段等价于null即对全量跑。七、导出里的 meta 键名主字段为__dj__meta__不是meta定义见data_juicer.utils.constant.Fields。除非设置keep_stats_in_res_ds: true否则 meta 默认不会出现在主processed.jsonl里而在同级processed_stats.jsonl。09_bad_case_smoke.yaml 与 agent_interaction_quality_analysis.yaml 都已设keep_stats_in_res_ds: true便于jq单文件查看。demos/agent/scripts/下的分析脚本verify / analyze / slice / compute_percentile会自动把同目录的*_stats.jsonl按行合并后再读无需手动拼接。快速筛选示例见 demos/agent/BAD_CASE_INSIGHTS_ZH.md 文末jq select(.__dj__meta__.agent_bad_case_tierhigh_precision and .__dj__meta__.agent_request_modelqwen3-max) processed.jsonl | head jq -c .__dj__meta__.agent_insight_llm.headline, .__dj__meta__.agent_bad_case_signals processed.jsonl | head八、常见问题FAQsmoke 导出 0 条、verify 报got 0若 YAML 里含language_id_score_filter且lang: zhFastText 标签可能不是字面zhagent 短文本、中英混排尤其明显会把 demo 全部过滤掉。09_bad_case_smoke.yaml 已去掉该算子全量 agent_interaction_quality_analysis.yaml 仍保留该算子但设为lang: 、min_score: 0.0只产 stats 不删样本大语料上一般正常。lid.176.bin下载失败全量菜谱里的language_id_score_filter需要语言识别模型。可先跑01_normalize_only见 demos/agent/minimal_configs/README_ZH.md或换网络或手动把模型放到~/.cache/data_juicer/models/。full 中途 API 失败导出可能不完整可用verify_bad_case_export.py不加--require-insight检查 bad-case 字段agent_bad_case_tier/agent_bad_case_signals是否已写出判断是部分失败还是整体失败。分位数为空确认copy_lineage_fields: true由agent_dialog_normalize_mapper写入血缘字段与usage_counter_mapper已跑且meta.total_tokens/meta.agent_request_model存在。分位数计算依赖这些字段按模型分组统计。九、更深一步分层逻辑与源码印证本文聚焦“怎么跑”若要理解“为什么这么分层”建议阅读 demos/agent/BAD_CASE_INSIGHTS_ZH.md。其核心结论可作为排障与调参依据tier 语义meta.agent_bad_case_tier是机器枚举high_precision | watchlist | none报告译为“强怀疑主证据/ 待观察弱证据/ 未标记”。注意high_precision不是“模型精度高”而是“强怀疑、建议优先复核”。分层实现agent_bad_case_signal_mapper源码见 data_juicer/ops/mapper/agent_bad_case_signal_mapper.py读取上游 metatool_fail_count、tool_success_ratio、llm_analysis_score、llm_quality_score、各dialog_*1–5 分、agent_total_cost_time_ms、total_tokens等做确定性融合无额外 LLM 调用。长 agent 轨迹中多次 tool 失败很常见因此全量菜谱默认high_precision_on_tool_fail_alone: false——仅凭 tool 计数不会单独升强怀疑档并可用min_tool_fail_count_for_signal全量默认 5控制何时打出 tool 信号。insight 实现agent_insight_llm_mapper源码见 data_juicer/ops/mapper/agent_insight_llm_mapper.py把单条样本打包为 JSONtoken、工具、意图/主题/情感标签、三路 LLM eval 摘要、dialog_quality_llm、agent_bad_case_*、query/response 截断预览调用 API 输出严格 JSON解析失败时仍有占位结构原文保留在meta.agent_insight_llm_raw。多语言输出各 LLM 算子支持preferred_output_lang: zh | en实现见 data_juicer/utils/agent_output_locale.py第 10 步 insight 会把选用语言写入meta.agent_pipeline_output_lang供generate_bad_case_report.py --report-lang auto推断页面分档展示语言。以上路径均在仓库内可直接复现数据样例见demos/local/demo-agent-data-content.jsonl顶层含messages、response_choices、id无text由第一个算子agent_dialog_normalize_mapper写出text相关单元测试见 tests/ops/mapper/test_agent_bad_case_signal_mapper.py 与 tests/demos/agent/test_generate_bad_case_report_smoke.py。赞分享人工智能大模型数据工程数据清洗数据增强数据质检【免费下载链接】data-juicerData processing for and with foundation models! ➡️ ➡️ 项目地址https://gitcode.com/gh_mirrors/da/data-juicer点击查看免费下载相关推荐用 ZenML Sandbox 运行 Harbor 评测任务解析 tasks/hello 冒烟任务的指令、验证与端到端链路用 ZenML Sandbox 运行 Harbor 评测任务解析 tasks/hello 冒烟任务的指令、验证与端到端链路 ZenML 仓库中的 examplMLOps机器学习后端工作流自动化AI AgentMastra Agent Builder 权限与 RBAC 冒烟测试指南角色门控、权限矩阵与归属校验的端到端验证Mastra Agent Builder 权限与 RBAC 冒烟测试指南角色门控、权限矩阵与归属校验的端到端验证 本指南围绕 Mastra 仓库中 Agent人工智能Agent 框架AI AgentRAG后端Mastra Scorers 冒烟测试完全指南从 Studio 页面到 HTTP API 的端到端验证Mastra Scorers 冒烟测试完全指南从 Studio 页面到 HTTP API 的端到端验证 导读 本文是 Mastra 开源仓库中 .claude人工智能Agent 框架AI AgentRAG后端上一篇3步解锁跨平台启动器Wox从零开始构建你的效率工作流下一篇3分钟上手 Wand-Enhancer本地解锁 Wand 全部功能手机还能远程操控修改器创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

(小白也可用)保姆级|OpenClaw 集成 DeepSeek V4(Flash/Pro)配置 TaoToken 详细步骤 2026/9/29 9:15:50

(小白也可用)保姆级|OpenClaw 集成 DeepSeek V4(Flash/Pro)配置 TaoToken 详细步骤

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
专注 WorkBuddy 企业实施,企业 workbuddy 落地公司的三个验证信号 2026/9/29 9:15:44

专注 WorkBuddy 企业实施,企业 workbuddy 落地公司的三个验证信号

专注型和「什么都做」,差别在三个信号选落地公司时常见两类候选:一类什么都做——今天做 AI、明天做小程序、后天做官网;一类只专注做 WorkBuddy 企业落地。直觉告诉你选后者,但「专注」不能只听对方说,得拿证据验。下…

阅读更多 →
企业 workbuddy 落地公司案例多,零售制造多行业成功交付 2026/9/29 9:15:44

企业 workbuddy 落地公司案例多,零售制造多行业成功交付

案例多不等于能交付到你的行业落地公司的案例页动辄几十个行业、上百个项目——但采购方真正该问的不是「案例多不多」,而是「这些案例里,有没有能迁移到我这个行业的经验」。案例读不对,越多越误导。微闻网络在零售、制造等多个行业都交付过…

阅读更多 →
【Codex智慧中医系统】实现通用数据视图并注册路由 2026/9/29 9:15:22

【Codex智慧中医系统】实现通用数据视图并注册路由

后台通用数据接口常因 ViewSet 能力边界模糊而出现隐患:轮播与统计接口本应只读,访问记录却需要查询和新增;若再以展示字段作为检索键,路由解析、详情命中和写入控制都会变得不稳定。 本文聚焦 CMS 管理系统的 general_data 通用数据应用,梳理模型、序列化器、ViewSet、D…

阅读更多 →
MMagic 中的 SRGAN 图像超分辨率:从论文原理到 4× 超分训练与评测实战 2026/9/29 9:15:08

MMagic 中的 SRGAN 图像超分辨率:从论文原理到 4× 超分训练与评测实战

媒体生成计算机视觉深度学习人工智能大模型 【免费下载链接】mmagic OpenMMLab Multimodal Advanced, Generative, and Intelligent Creation Toolbox. Unlock the magic 🪄: Generative-AI (AIGC), easy-to-use APIs, awsome model zoo, diffusion models, for tex…

阅读更多 →
从零构建AI推理模型:数据、训练、部署全链路工程实践 2026/9/29 9:15:08

从零构建AI推理模型:数据、训练、部署全链路工程实践

我先说明一下,该项目标题“ai-engineering-from-scratch”展开成一篇像资深工程师分享个人项目经验的博文,全文直接以从业者口吻展开,从零构建AI模型/推理模型的完整链路,覆盖规划、数据、预训练、对齐、推理与部署、工程化踩坑等…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉