docs/features/academic/batch_file_query.md
研究工作中经常需要处理来自不同来源、不同格式的大量文档——可能是一批调研报告、一组实验记录、或者一系列文献综述。逐个打开阅读不仅耗时,还难以形成整体认知。GPT Academic 的 批量文件询问 功能允许您一次性上传多种格式的文档,然后向 AI 提出统一的问题或处理要求,快速获取结构化的分析结果。
批量文件询问的核心价值在于"统一处理"与"自定义灵活性"的结合。您可以同时处理 PDF、Word、Markdown、Excel、PPT 等多种格式的文件,而无需关心格式差异——系统会自动提取每个文件的文本内容。更重要的是,您可以自定义处理指令,让 AI 按照您的具体需求来分析文档。
无论是"总结每份报告的核心观点"、"提取所有文献中关于某方法的描述",还是"对比这些文档的异同",都可以通过一次操作完成。处理结果会以多种格式输出,方便您后续使用或分享。
系统基于 LlamaIndex 的文档加载器,支持以下常见格式:
| 格式类型 | 支持的扩展名 | 说明 |
|---|---|---|
| 文档 | .docx, .doc | Microsoft Word 文档 |
| 电子书 | .epub | 电子书格式 |
| 演示文稿 | .ppt, .pptx, .pptm | PowerPoint 演示文稿 |
| 表格 | .csv | 逗号分隔值文件 |
.pdf | 便携文档格式 | |
| 文本 | .txt, .md | 纯文本和 Markdown |
| 笔记本 | .ipynb | Jupyter Notebook |
| 邮件 | .mbox | 邮件存档格式 |
| 脚本 | .bat | 批处理脚本 |
对于复杂格式的文件(如 Word、PPT),系统会自动提取其中的文本内容;对于包含格式信息的文件(如 Markdown),会保留基本的结构标记。如果您上传的文件格式不在支持列表中,系统会尝试作为纯文本处理,但效果可能不理想。
将需要处理的文件整理好。您可以:
对于压缩包上传的情况,系统会自动解压并递归扫描其中的所有文件。建议将相关联的文件组织在一起,这样生成的综合分析会更有针对性。
将文件上传到 GPT Academic 界面后,在函数插件下拉菜单中找到 学术 分类,选择 批量文件询问 (支持自定义总结各种文件) 插件。
如果您只是想快速总结所有文件的内容,可以直接点击执行。系统会使用默认的总结模式:为每个文件生成不超过 500 字的摘要,然后综合所有文件生成一份整体报告。
<!-- IMAGE: feat_batch_query_01_workflow.png --> <!-- 描述: 批量文件询问的操作界面 --> <!-- 标注: ① 上传区显示已上传的多个文件或 ZIP 压缩包 ② 函数插件区的"学术"分类 ③ "批量文件询问"插件按钮 ④ 高级参数区(可输入自定义处理指令) ⑤ 对话区显示的文件处理进度 --> <!-- 尺寸建议: 1000px -->这是批量文件询问最强大的特性——您可以在插件的参数设置界面中输入自定义指令,让 AI 按照您的具体需求处理文档。点击插件按钮后,在弹出的参数面板中找到"对材料提问"输入框,输入您的处理要求。
以下是一些实用的指令示例:
# 提取特定信息
请从每份文档中提取以下信息:研究方法、样本数量、主要发现。
# 对比分析
对比这些文档在技术方案上的异同,列出各自的优缺点。
# 信息整合
这是一组关于机器学习的文献,请梳理出当前该领域的主要研究方向。
# 特定问题回答
这些文档是一个项目的会议纪要,请回答:项目目前的主要风险有哪些?
# 格式化输出
请用表格形式总结每份报告的执行摘要,包括:项目名称、负责人、进度、问题。
如果不输入任何指令,系统会执行默认的总结任务。
点击执行后,系统会依次进行以下处理:
文件扫描:系统递归遍历上传的文件或文件夹,识别所有支持格式的文件。对于压缩包,会先解压到临时目录再扫描。
内容提取:使用多线程并行处理,同时提取多个文件的文本内容。每个文件的提取过程有超时保护,避免单个问题文件阻塞整体进度。界面会实时显示每个文件的处理状态。
文本分片:对于内容较长的文件,系统会按照 token 限制将其切分成多个片段。切分时会尽量保持段落完整性,确保每个片段都有足够的上下文。
批量处理:所有文件片段会被打包成批次,并行发送给 AI 模型处理。如果您设置了自定义指令,每个片段都会按照该指令进行处理。
结果汇总:单个文件的多个片段处理结果会合并成该文件的完整结果;然后所有文件的结果会进一步综合,生成整体的分析报告。
处理完成后,系统会生成多种格式的结果文件,方便您在不同场景下使用:
| 输出格式 | 文件名 | 适用场景 |
|---|---|---|
| Markdown | 文档总结_时间戳.md | 技术文档、GitHub 展示、后续编辑 |
| HTML | 文档总结_时间戳.html | 网页浏览、邮件分享 |
| Word | 文档总结_时间戳.docx | 正式报告、打印输出 |
这三种格式的内容相同,都包含以下部分:
所有结果文件都会出现在界面右侧的下载区,点击文件名即可下载。
为了提高效率,系统会同时处理多个文件和多个文本片段。默认配置下,最多会启动 32 个并行工作线程。这意味着即使上传了大量文件,整体处理时间也不会线性增长。
并行处理的进度会实时显示在界面上,您可以看到每个文件的当前状态:等待中、正在提取内容、正在分析、已完成等。
某些文件可能因为格式问题或内容异常而导致处理卡住。系统为每个文件的处理设置了 30 秒的超时限制,为内容提取设置了 10 秒的超时。超时的文件会被标记为处理失败,但不会影响其他文件的正常处理。
如果您发现某些文件经常超时,可能是因为:文件过大(超过 10MB)、格式损坏、或包含复杂嵌入对象。尝试将问题文件单独处理,或转换为更简单的格式后重新上传。
单个文件的大小限制为 10MB。对于超大文件,建议:
???+ question "部分文件显示'处理超时'" 这通常是因为文件内容提取过程超过了时限。可能的原因包括:
- 文件格式复杂或包含大量嵌入对象(如 PPT 中的大量图片)
- 文件实际大小超过显示的文件大小(如压缩的 PDF)
- 系统资源紧张,处理速度变慢
尝试将问题文件单独处理,或转换为其他格式(如将 DOCX 导出为 TXT)后重新上传。
???+ question "处理结果中某些文件内容为空" 如果文件正常处理完成但内容显示为空,可能是:
- 文件本身内容为空或几乎为空
- 文件是扫描件或图片格式的 PDF,需要 OCR 处理
- 文件格式虽在支持列表中,但具体子类型不被支持
对于扫描版 PDF,可以先用其他 OCR 工具转换后再上传。
???+ question "如何只处理压缩包中的部分文件" 目前系统会处理压缩包中所有支持格式的文件。如果您只想处理部分文件,有两种方法:
1. 解压后只选择需要的文件重新打包
2. 将需要的文件单独上传,而不是使用压缩包
???+ question "自定义指令没有生效" 请确认您在正确的位置输入了指令。指令应该输入在插件参数面板的"对材料提问"文本框中,而不是主界面的输入框。如果使用虚空终端调用此功能,指令需要通过高级参数传递。
???+ question "想对同一批文件进行不同角度的分析" 您可以多次执行插件,每次使用不同的自定义指令。系统不会缓存处理结果,每次执行都是独立的处理过程。这样您可以从多个角度分析同一批文档。