“智学文档助手”是一个本地轻量级的 GUI Python 应用程序。该项目专为处理复杂的理工科文档(PDF、PPTX、DOCX 等)而设计,利用大语言模型 (LLM) 提取多模态内容和公式,能够自动生成结构化学习笔记或高度定制化的 Office 文件。
本工具主要帮助学生、教师以及职场办公人士快速处理堆积如山的资料,其核心应用场景包括:
- 学习笔记压缩 (Notes Extraction): 将长篇累牍的复习资料(PDF/Word/PPT)精准压缩成理工科复习导向的笔记,自动抓取重点内容与公式,并生成易于复习的 Markdown 或 DOCX 文件。
- 文档/表格生成 (Office File Generation): 基于您上传的输入资料(文档或代码)和具体的需求说明,自动生成格式规范的商务可交付 Word 文档(DOCX)或结构化的 Excel 表格(XLSX)。
本项目已配置了自动化的虚拟环境管理,您只需双击运行即可。
- 环境准备: 确保您的电脑上已安装 Python (推荐 3.8 - 3.12 版本)。
- 启动程序:
双击根目录下的
run.bat文件。- 首次运行时,脚本会自动在本地创建虚拟环境(
.venv)并下载安装所需的依赖包,请耐心等待。 - 后续运行将直接启动秒开。
- 首次运行时,脚本会自动在本地创建虚拟环境(
- 初次配置:
启动后,点击左侧导航栏的 "模型设置":
- 填入您的
API Base URL(如使用 OpenAI 官方接口或兼容镜像站)。 - 填入您的
API Key。 - 指定大模型名称(推荐使用支持 Vision 视觉能力的模型,如
gpt-4o,gpt-4o-mini,或其他兼容平台的视觉大模型)。 - 设置保存后将永久写入本地
config.json,下次无需重新配置。
- 填入您的
对于包含大量图表、公式的复杂文档,项目提供了两种处理模式,可在“模型设置”中切换:
- 大模型视觉 (Vision) 模式 [推荐 & 默认]: 系统会提取文档中的图片,将其转化为 Base64,直接交由具备原生视觉能力的 LLM 进行原生解析。这种方式对复杂理工科图表的理解能力最强。
- 本地 OCR 模式 (Fallback):
如果您的模型不支持 Vision,系统可调用本地的
PaddleOCR提取图片上的文本和公式。 (注:该功能依赖于paddlepaddle,要求 Python 版本<= 3.12。您可在设置页面点击“一键安装 OCR 环境”自动完成配置)。 (注:OCR 环境较为复杂,一键配置可能配置失败,建议自行配置)
程序流程:将文件提取文本、公式、图片与结构等信息,与 prompt 和 skill 整合后发送给 llm,再将 llm 返回的信息整合为所需文件类型。
- prompts: llm提示词
- skills: llm skills
- ui: 图形化界面窗口脚本
- core:
- agent_service agent 相关代码:提示词整合,skill整合,与llm api交互,限制输入输出格式等
- docx_writer 将llm返回的文本转化为 docx 格式并输出文件
- formula_extract docx 数学公式提取
- formula_ocr OCR 进行图片公式提取
- llm_client llm api 调用
- skill_engine skill 整合脚本
- text_extract 文件信息提取
- xlsx_writer 将llm返回的文本转化为 xlsx 格式并输出文件
- pptx_extractor 参考 MinerU 实现的 pptx 信息提取
感谢使用智学文档助手,祝您办公/学习效率倍增!