{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Academic-Data-Agent\n", "\n", "## 项目简介\n", "\n", "这是一个面向 Hello-Agents 社区展示的精简演示 Notebook,用来快速说明 Academic-Data-Agent 如何处理两类输入:\n", "\n", "- 结构化表格数据\n", "- 文本型 PDF 文献\n", "\n", "Notebook 默认使用轻量模式,便于社区评审快速复现。\n", "\n", "## 作者信息\n", "\n", "- GitHub: @healer-666\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 环境配置\n", "\n", "首次运行前,请先在项目目录执行:\n", "\n", "```bash\n", "pip install -r requirements.txt\n", "```\n", "\n", "并根据 `.env.example` 创建 `.env`,填写可用的模型配置。\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from __future__ import annotations\n", "\n", "from pathlib import Path\n", "import sys\n", "\n", "from IPython.display import Markdown, display\n", "\n", "PROJECT_ROOT = Path.cwd()\n", "SRC_PATH = PROJECT_ROOT / \"src\"\n", "OUTPUT_ROOT = PROJECT_ROOT / \"outputs\"\n", "OUTPUT_ROOT.mkdir(exist_ok=True)\n", "\n", "if str(SRC_PATH) not in sys.path:\n", " sys.path.insert(0, str(SRC_PATH))\n", "\n", "from data_analysis_agent.agent_runner import run_analysis\n", "from data_analysis_agent.presentation import render_trace_table, render_full_report, render_diagnostics\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def render_run_summary(result, title: str):\n", " methods = \", \".join(result.methods_used) if result.methods_used else \"unknown\"\n", " tools = \", \".join(result.tools_used) if result.tools_used else \"unknown\"\n", " summary_md = f\"\"\"\n", "## {title}\n", "\n", "- 输入类型: `{result.input_kind}`\n", "- 数据路径: `{result.data_context.absolute_path.as_posix()}`\n", "- 数据规模: `{result.data_context.shape[0]} x {result.data_context.shape[1]}`\n", "- 识别领域: `{result.detected_domain}`\n", "- 使用工具: `{tools}`\n", "- 分析方法: `{methods}`\n", "- 文档解析状态: `{result.document_ingestion_status}`\n", "- 候选表数量: `{result.candidate_table_count}`\n", "- 选中主表: `{result.selected_table_id or 'not_applicable'}`\n", "- PDF 多表综合: `{result.pdf_multi_table_mode}`\n", "- 报告路径: `{result.report_path.as_posix()}`\n", "- Trace 路径: `{result.trace_path.as_posix()}`\n", "- 审稿状态: `{result.review_status}`\n", "- 总耗时: `{result.total_duration_ms / 1000:.2f}s`\n", "\"\"\"\n", " display(Markdown(summary_md))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 示例 1:表格数据分析\n", "\n", "这里使用一个轻量的 Excel 样例,演示标准表格分析路径。社区版默认使用 `draft + auto`,尽量减少等待时间。\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1/7] Loading runtime configuration...\n", " Model: deepseek-chat | Tavily credential: detected\n", " Latency mode: auto\n", " Vision review: configured\n", "[2/7] Created production run directory...\n", " Run root: c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130434\n", "[3/7] Running input document ingestion...\n", " Input kind: tabular\n", " Document ingestion skipped: input is already tabular.\n", "[4/7] Building compact dataset metadata context...\n", " Data shape: 1070 rows x 31 columns\n", "[5/7] Tool registry ready: PythonInterpreterTool, TavilySearchTool\n", " Fast path: True | effective max steps: 3\n", "[6/7] Advanced Data Analyst started reasoning (max steps = 3)\n", " Analysis round: 1\n", " Step 1/3: thinking...\n", " Calling PythonInterpreterTool | Stage 1: Load the raw Excel file, inspect data quality, clean missing values and column names, and save cleaned dataset.\n", " Completed PythonInterpreterTool | status = success\n", " Observation: Loading raw Excel file... Raw shape: (1070, 31) Raw columns: ['序号', '孕妇代码', '年龄', '身高', '体重', '末次月经', 'IVF妊娠', '检测日期', '检测抽血次数', '检测孕周', '孕妇BMI', '原始读段数', '在参考基因组上比对的比例', '重复读段的比例', '唯一比对的读段数 ', 'GC含量', '13号染色体的Z值', '18号\n", " Step 2/3: thinking...\n", " Calling PythonInterpreterTool | Stage 2: Load cleaned data, perform statistical analysis, generate visualizations, and save figures.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING:matplotlib.legend:No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " Completed PythonInterpreterTool | status = success\n", " Observation: Loaded cleaned data shape: (1070, 31) Columns: ['序号', '孕妇代码', '年龄', '身高', '体重', '末次月经', 'IVF妊娠', '检测日期', '检测抽血次数', '检测孕周', '孕妇BMI', '原始读段数', '在参考基因组上比对的比例', '重复读段的比例', '唯一比对的读段数', 'GC含量', '13号染色体的Z值', '18号染色体的Z值', '21号染色\n", " Step 3/3: thinking...\n", " Final report generated successfully.\n", "[7/7] Saving Markdown report and run trace...\n", " Final report: c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130434/final_report.md\n", " Agent trace: c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130434/logs/agent_trace.json\n", "[8/8] Production artifact validation passed.\n" ] }, { "data": { "text/markdown": [ "\n", "## 表格案例运行摘要\n", "\n", "- 输入类型: `tabular`\n", "- 数据路径: `C:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/data/sample_table.xlsx`\n", "- 数据规模: `1070 x 31`\n", "- 识别领域: `生物医学/无创产前检测(NIPT)`\n", "- 使用工具: `PythonInterpreterTool`\n", "- 分析方法: `数据清洗(缺失值处理、类型转换), 描述性统计, Shapiro-Wilk正态性检验, Mann-Whitney U检验, 效应量计算(秩二列相关系数), Bootstrap置信区间估计, Pearson相关性分析, 箱线图, 热力图, 分布直方图`\n", "- 文档解析状态: `not_needed`\n", "- 候选表数量: `0`\n", "- 选中主表: `not_applicable`\n", "- PDF 多表综合: `False`\n", "- 报告路径: `c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130434/final_report.md`\n", "- Trace 路径: `c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130434/logs/agent_trace.json`\n", "- 审稿状态: `skipped`\n", "- 总耗时: `110.79s`\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "tabular_result = run_analysis(\n", " data_path=PROJECT_ROOT / \"data\" / \"sample_table.xlsx\",\n", " output_dir=OUTPUT_ROOT,\n", " quality_mode=\"draft\",\n", " latency_mode=\"auto\",\n", " verbose=True,\n", ")\n", "render_run_summary(tabular_result, \"表格案例运行摘要\")\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "

Agent 推理轨迹表

\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
StepStage / ToolDecisionStatusShort ObservationNotes
1本地 Python 分析 (PythonInterpreterTool)Stage 1: Load the raw Excel file, inspect data quality, clean missing values and column names, and save cleaned dataset.成功Loading raw Excel file... Raw shape: (1070, 31) Raw columns: ['序号', '孕妇代码', '年龄', '身高', '体重', '末次月经', 'IVF妊娠', '检测日期', '检测抽血次数', '检测孕周', '孕妇BMI', '原始读段数', '在参考基因组上比对的比例', '重复读段的比例', '唯一比对的读段数 ', 'GC含量', '13号染色体的Z值', '18号Local Python execution | status=success | decision=Stage 1: Load the raw Excel file, inspect data quality, clean missing values and column names, and save cleaned dataset. | observation=Loading raw Excel file... Raw shape: (1070, 31) Raw columns: ['序号', '孕妇代码', '年龄', '身高', '体重', '末次月经', 'IVF妊娠', '检测日期', '检测抽血次数', '检测孕周', '孕妇BMI', '原始读段数', '在参考基因组上比对的比例', '重复读段的比例', '唯一比对的读段数 ', 'GC含量', '13号染色体的Z值', '18号
2本地 Python 分析 (PythonInterpreterTool)Stage 2: Load cleaned data, perform statistical analysis, generate visualizations, and save figures.成功Loaded cleaned data shape: (1070, 31) Columns: ['序号', '孕妇代码', '年龄', '身高', '体重', '末次月经', 'IVF妊娠', '检测日期', '检测抽血次数', '检测孕周', '孕妇BMI', '原始读段数', '在参考基因组上比对的比例', '重复读段的比例', '唯一比对的读段数', 'GC含量', '13号染色体的Z值', '18号染色体的Z值', '21号染色Local Python execution | status=success | decision=Stage 2: Load cleaned data, perform statistical analysis, generate visualizations, and save figures. | observation=Loaded cleaned data shape: (1070, 31) Columns: ['序号', '孕妇代码', '年龄', '身高', '体重', '末次月经', 'IVF妊娠', '检测日期', '检测抽血次数', '检测孕周', '孕妇BMI', '原始读段数', '在参考基因组上比对的比例', '重复读段的比例', '唯一比对的读段数', 'GC含量', '13号染色体的Z值', '18号染色体的Z值', '21号染色
3最终报告Analysis complete. Generate final report with APA-style statistics, effect sizes, and telemetry.成功Generated final Markdown report: Analysis complete. Generate final report with APA-style statistics, effect sizes, and telemetry.
\n", " " ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "render_trace_table(tabular_result)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 示例 2:PDF 文献分析\n", "\n", "这里使用一篇小型样例论文。当前版本会:\n", "\n", "- 抽取文献背景\n", "- 识别候选表\n", "- 自动选择一张主表做定量分析\n", "- 将其他候选表作为上下文证据参与报告解释\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1/7] Loading runtime configuration...\n", " Model: deepseek-chat | Tavily credential: detected\n", " Latency mode: auto\n", " Vision review: configured\n", "[2/7] Created production run directory...\n", " Run root: c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655\n", "[3/7] Running input document ingestion...\n", " Input kind: pdf\n", " Document ingestion completed | status = completed\n", " Summary: PDF 文档解析完成:共提取 2 张候选表,已选择 table_01 作为主表写入 cleaned_data.csv,其余候选表会与文献背景一起作为综合解释上下文。\n", "[4/7] Building compact dataset metadata context...\n", " Data shape: 7 rows x 5 columns\n", "[5/7] Tool registry ready: PythonInterpreterTool\n", " Fast path: True | effective max steps: 3\n", "[6/7] Advanced Data Analyst started reasoning (max steps = 3)\n", " Analysis round: 1\n", " Step 1/3: thinking...\n", " Calling PythonInterpreterTool | Stage 1: Load raw PDF table, inspect, clean column names, handle missing values, save cleaned dataset.\n", " Completed PythonInterpreterTool | status = success\n", " Observation: Raw data shape: (7, 5) Raw data columns: ['Model Configuration', 'Precision', 'Recall', 'mAP50', 'mAP50-95'] Raw data dtypes: Model Configuration object Precision float64 Recall float64 mAP50 float64 mAP50-95 float64 dty\n", " Step 2/3: thinking...\n", " Calling PythonInterpreterTool | Stage 2: Load cleaned data, compute descriptive statistics, rankings, bootstrap confidence intervals, cautious correlation analysis, generate 2-4 light visualizations.\n", " Completed PythonInterpreterTool | status = success\n", " Observation: === Loaded cleaned data === Model Configuration Precision Recall mAP50 mAP50_95 0 YOLOv5 0.95920 0.86365 0.93806 0.67804 1 YOLOv6 0.84015 0.80368 0.81593 0.59957 2 YOLOv7 0.73430 0.89090 0.89700 0.67450 3 YOLOv8 0.95006 \n", " Step 3/3: thinking...\n", " Final report generated successfully.\n", "[7/7] Saving Markdown report and run trace...\n", " Final report: c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/final_report.md\n", " Agent trace: c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/logs/agent_trace.json\n", "[8/8] Production artifact validation passed.\n" ] }, { "data": { "text/markdown": [ "\n", "## PDF 案例运行摘要\n", "\n", "- 输入类型: `pdf`\n", "- 数据路径: `C:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/data/extracted_tables/table_01.csv`\n", "- 数据规模: `7 x 5`\n", "- 识别领域: `computer_vision_object_detection`\n", "- 使用工具: `PythonInterpreterTool`\n", "- 分析方法: `descriptive_statistics, ranking, bootstrap_confidence_intervals, spearman_correlation, visualization`\n", "- 文档解析状态: `completed`\n", "- 候选表数量: `2`\n", "- 选中主表: `table_01`\n", "- PDF 多表综合: `True`\n", "- 报告路径: `c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/final_report.md`\n", "- Trace 路径: `c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/logs/agent_trace.json`\n", "- 审稿状态: `skipped`\n", "- 总耗时: `122.89s`\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pdf_result = run_analysis(\n", " data_path=PROJECT_ROOT / \"data\" / \"sample_paper.pdf\",\n", " output_dir=OUTPUT_ROOT,\n", " quality_mode=\"draft\",\n", " latency_mode=\"auto\",\n", " document_ingestion_mode=\"auto\",\n", " verbose=True,\n", ")\n", "render_run_summary(pdf_result, \"PDF 案例运行摘要\")\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "## 完整报告正文\n", "\n", "# 小样本目标检测模型性能对比分析报告\n", "\n", "## 数据概览\n", "本数据集来源于一篇关于目标检测模型改进的学术论文(PDF 提取表)。数据包含 7 种 YOLO 系列模型配置(YOLOv5、YOLOv6、YOLOv7、YOLOv8、YOLOv9、YOLOv11、YOLOv8‑BFDS)在四个关键性能指标上的表现:\n", "- **Precision**(精确率)\n", "- **Recall**(召回率)\n", "- **mAP50**(平均精度,IoU 阈值为 0.5)\n", "- **mAP50‑95**(平均精度,IoU 阈值从 0.5 到 0.95 的平均值)\n", "\n", "数据规模为 7 行 × 5 列,属于典型的小样本结果表(N=7)。原始数据无缺失值,已进行列名标准化(将 `mAP50-95` 改为 `mAP50_95`)并保存为清洗后 CSV。\n", "\n", "## 方法说明\n", "鉴于样本量极小(N=7),本次分析严格遵循小样本分析原则:\n", "1. **描述性统计**:计算各指标的均值、标准差、四分位数。\n", "2. **排序与排名**:按各指标从高到低排列模型。\n", "3. **Bootstrap 置信区间**:采用非参数 Bootstrap(5000 次重抽样,百分位法)估计各指标总体均值的 95% 置信区间,避免对分布形态的假设。\n", "4. **相关性分析**:使用 Spearman 秩相关系数(非参数)评估指标间的单调关联,同时提供 Pearson 相关系数作为参考。\n", "5. **可视化**:生成 4 幅轻量图表,直观展示模型间性能差异与指标间关系。\n", "\n", "**统计学治理说明**:\n", "- 未进行假设检验(如 t 检验、ANOVA),因为每个模型仅有一个观测值,不具备重复测量或实验组内重复,不符合群体比较的前提。\n", "- 所有结论均基于描述性统计与 Bootstrap 区间,避免过度推断。\n", "- 相关性分析仅提示关联,不暗示因果关系。\n", "\n", "## 核心假设检验结论\n", "**本分析未执行传统假设检验**,原因如下:\n", "- 每个模型配置仅有一个观测值,无法估计组内变异,因此不能进行组间显著性检验。\n", "- 小样本(N=7)下,任何参数检验的统计功效极低,且正态假设难以验证。\n", "- 遵循《PDF_Small_Table_Mode》指导,仅进行描述性、排序、Bootstrap 区间及相关性分析。\n", "\n", "替代的量化结论如下:\n", "\n", "### 1. Bootstrap 95% 置信区间(各指标总体均值)\n", "| 指标 | 样本均值 | 95% CI (Bootstrap) |\n", "|------|----------|---------------------|\n", "| Precision | 0.8983 | [0.8462, 0.9501] |\n", "| Recall | 0.8647 | [0.8063, 0.9232] |\n", "| mAP50 | 0.9018 | [0.8519, 0.9516] |\n", "| mAP50_95 | 0.6733 | [0.5996, 0.7471] |\n", "\n", "**解读**:所有指标的置信区间均较宽,反映小样本下估计的不确定性。mAP50_95 的区间下限最低(约 0.60),提示该指标在不同模型间波动较大。\n", "\n", "### 2. 模型排名(按各指标降序)\n", "- **Precision**:YOLOv8‑BFDS (0.970) > YOLOv5 (0.959) > YOLOv8 (0.950) > YOLOv9 (0.946) > YOLOv11 (0.888) > YOLOv6 (0.840) > YOLOv7 (0.734)\n", "- **Recall**:YOLOv8‑BFDS (0.990) > YOLOv11 (0.899) > YOLOv7 (0.891) > YOLOv5 (0.864) > YOLOv9 (0.808) > YOLOv6 (0.804) > YOLOv8 (0.799)\n", "- **mAP50**:YOLOv8‑BFDS (0.991) > YOLOv11 (0.947) > YOLOv5 (0.938) > YOLOv7 (0.897) > YOLOv8 (0.868) > YOLOv9 (0.855) > YOLOv6 (0.816)\n", "- **mAP50_95**:YOLOv8‑BFDS (0.836) > YOLOv11 (0.699) > YOLOv5 (0.678) > YOLOv7 (0.675) > YOLOv8 (0.622) > YOLOv9 (0.604) > YOLOv6 (0.600)\n", "\n", "**综合表现最佳**:YOLOv8‑BFDS 在四项指标上均排名第一,且领先幅度明显。\n", "\n", "### 3. Spearman 秩相关系数矩阵\n", "| | Precision | Recall | mAP50 | mAP50_95 |\n", "|-------------|-----------|--------|-------|----------|\n", "| Precision | 1.000 | 0.179 | 0.536 | 0.714 |\n", "| Recall | 0.179 | 1.000 | 0.536 | 0.536 |\n", "| mAP50 | 0.536 | 0.536 | 1.000 | 0.893 |\n", "| mAP50_95 | 0.714 | 0.536 | 0.893 | 1.000 |\n", "\n", "**解读**:\n", "- mAP50 与 mAP50_95 呈现强正相关(ρ=0.893),说明两者变化趋势高度一致。\n", "- Precision 与 mAP50_95 呈中度正相关(ρ=0.714)。\n", "- Recall 与 Precision 几乎无单调关联(ρ=0.179),提示在这组模型中,高精确率不一定伴随高召回率,反之亦然。\n", "\n", "## 结果解释\n", "1. **YOLOv8‑BFDS 全面领先**:该模型在四项指标上均位列第一,尤其 Recall (0.990) 与 mAP50 (0.991) 接近完美,与文献背景中“增强的 YOLOv8 模型集成 DCNv2、E‑SEModule、Concat_BiFPN 等优化模块”的描述相符,说明其改进有效提升了检测精度与召回。\n", "2. **传统模型表现分化**:YOLOv5 在 Precision 和 mAP50 上表现优异(第二、三位),但 Recall 仅居中;YOLOv7 在 Recall 上较高(第三),但 Precision 最低(0.734)。这种分化反映了不同模型架构在精度‑召回权衡上的差异。\n", "3. **mAP50_95 整体较低**:所有模型的 mAP50_95 均低于 0.84,且 Bootstrap 区间下限仅约 0.60,说明在更严格的 IoU 阈值范围内,模型性能仍有较大提升空间。\n", "4. **相关性提示**:mAP50 与 mAP50_95 强相关,可视为一致性验证;Precision 与 Recall 几乎无关,符合目标检测中常存在的“精度‑召回 trade‑off”现象。\n", "\n", "## 讨论\n", "### 与文献背景的关联\n", "- 背景文献提到“YOLOv8‑BFDS 集成 DCNv2、E‑SEModule、Concat_BiFPN 等模块以提升对变形、遮挡、小目标及低对比度物体的检测能力”。本数据中 YOLOv8‑BFDS 在 Recall(0.990)和 mAP50(0.991)上显著高于其他模型,间接支持了这些模块的有效性。\n", "- 文献亦提及“CB‑YOLOv5s 通过双向通道解决目标相互遮挡及背景相似导致的低检测精度问题”。本表中未包含 CB‑YOLOv5s,但 YOLOv5 本身在 Precision 和 mAP50 上表现良好,说明基础 YOLOv5 已有较强检测能力,改进版本可能在此基础上进一步提升。\n", "\n", "### 方法学局限\n", "1. **样本量极小**:仅 7 个模型,每个模型仅单次观测,无法进行统计检验,所有结论均为描述性。\n", "2. **缺乏重复测量**:未提供同一模型在多组数据上的性能变异,因此无法评估模型稳定性。\n", "3. **数据来源单一**:仅来自一篇论文的单个结果表,可能存在选择性报告偏差。\n", "4. **未控制实验条件**:不同模型的训练数据、超参数、硬件环境可能不同,影响直接可比性。\n", "\n", "### 与候选表的交叉验证\n", "PDF 中另一候选表(table_02)包含 YOLOv8 与 YOLOv8+BiFPN 的对比,其中 YOLOv8+BiFPN 的 Precision、Recall、mAP50 分别为 0.973、0.983、0.988,均高于本表中 YOLOv8 的对应值(0.950、0.799、0.868)。这进一步支持了 BiFPN 结构对性能的提升作用,与本表中 YOLOv8‑BFDS(含 Concat_BiFPN)表现最优的趋势一致。\n", "\n", "## 清洗后数据路径\n", "`c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/data/cleaned_data.csv`\n", "\n", "## 图表引用\n", "1. **各模型精确率与召回率对比** \n", "![精确率与召回率对比](c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/figures/review_round_1/bar_precision_recall.png)\n", "2. **精确率 vs 召回率散点图** \n", "![精确率 vs 召回率散点图](c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/figures/review_round_1/scatter_precision_recall.png)\n", "3. **Spearman 秩相关热图** \n", "![Spearman 秩相关热图](c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/figures/review_round_1/heatmap_spearman_corr.png)\n", "4. **多指标平行坐标图** \n", "![多指标平行坐标图](c:/Users/pc/OneDrive/Desktop/agent/Co-creation-projects/healer-666-Academic-Data-Agent/outputs/run_20260317_130655/figures/review_round_1/parallel_coordinates.png)" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "render_full_report(pdf_result)\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

错误与诊断详情

本次运行无工具级异常。

" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "render_diagnostics(pdf_result)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 总结与展望\n", "\n", "这个社区版演示重点展示三件事:\n", "\n", "- 结构化表格的自动分析能力\n", "- PDF 文献中的候选表提取与主表分析能力\n", "- 运行产物、报告与 trace 的可追踪性\n", "\n", "完整版项目还提供了 Gradio 工作台、历史记录浏览、视觉审稿和更完整的工程能力。\n" ] } ], "metadata": { "kernelspec": { "display_name": "agent_env", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.20" } }, "nbformat": 4, "nbformat_minor": 5 }