# paper_assitant **Repository Path**: jackieling/paper_assitant ## Basic Information - **Project Name**: paper_assitant - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-04 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PaperProcessor PaperProcessor 是一个基于 LLM 的论文处理系统,能够自动化完成 PDF 论文的解析、翻译、摘要提取和结构化处理,帮助研究者快速获取论文核心信息。 ## 🌟 功能特性 - 📄 **PDF 转 Markdown**:使用 MinerU API 将 PDF 论文转换为结构化的 Markdown 格式 - 🔍 **摘要提取**:自动识别并提取论文英文摘要 - 🌐 **全文翻译**:将英文论文翻译为中文,支持并发处理提高效率 - 📝 **摘要生成**:基于翻译后的内容生成中文摘要(约 300 字) - 📘 **简介生成**:生成中英文简介(约 150 字),便于快速了解论文内容 - 🏗️ **模块化架构**:各功能模块独立封装,便于扩展和维护 ## 📁 项目架构 ### 整体架构 ``` PaperProcessor ├── src/ # 源代码目录 │ ├── models/ # 模型层 │ ├── pipelines/ # 处理流水线 │ ├── services/ # 核心服务 │ └── utils/ # 工具函数 ├── data/ # 数据目录 ├── configs/ # 配置文件 ├── tests/ # 测试文件 ├── main_pipeline_processing_pdf.py # 主入口 ├── requirements.txt # 依赖文件 └── README # 项目说明 ``` ### 核心组件 | 模块 | 功能 | 文件位置 | |------|------|----------| | LLM 客户端 | 与大语言模型交互 | src/models/llm_client.py | | 摘要提取器 | 提取论文摘要 | src/services/abstract_extractor.py | | 句子拆分器 | 拆分文本为句子块 | src/services/sentence_splitter.py | | 摘要生成器 | 生成摘要和简介 | src/services/summary_generator.py | | 翻译器 | 中英文互译 | src/services/translator.py | | 论文流水线 | 整合处理流程 | src/pipelines/paper_pipeline.py | | MinerU API | PDF 转 MD 接口 | src/utils/mineru_api.py | | 配置管理 | 配置文件加载 | src/utils/config.py | | 文件工具 | 文件读写操作 | src/utils/file_utils.py | ## 📦 安装与环境配置 ### 1. 克隆项目 ```bash git clone cd PaperProcessor ``` ### 2. 创建虚拟环境 ```bash # 使用 Python 3.10+ python -m venv .venv # 激活虚拟环境 # Windows .venv\Scripts\activate # Linux/Mac source .venv/bin/activate ``` ### 3. 安装依赖 ```bash pip install -r requirements.txt ``` ### 4. 配置文件 配置文件位于 `configs/config.json`,主要配置项包括: - 模型参数 - 文件路径 - API 密钥 请根据实际情况修改配置文件。 ## 🚀 快速启动 ### 方式一:使用主入口脚本 运行完整的论文处理流程: ```bash python main_pipeline_processing_pdf.py ``` ### 方式二:自定义参数运行 指定输入输出路径: ```bash python main_pipeline_processing_pdf.py --pdf_path "data/input_pdfs/example.pdf" --output_path "data/translated_md/paper_zh.md" ``` ### 可用参数 | 参数 | 描述 | 默认值 | |------|------|--------| | --pdf_path | PDF 文件路径 | data/input_pdfs/example.pdf | | --md_temp_path | 临时 MD 文件路径 | data/md_raw/temp_paper.md | | --output_path | 最终输出文件路径 | data/translated_md/paper_zh.md | ## 📊 处理流程 1. **PDF 转 MD**:调用 MinerU API 将 PDF 论文转换为 Markdown 格式 2. **摘要提取**:从 Markdown 中提取英文摘要 3. **摘要翻译**:将英文摘要翻译为中文 4. **全文翻译**:将整个 Markdown 文档翻译为中文 5. **摘要生成**:基于中文内容生成摘要 6. **简介生成**:生成中英文简介 7. **结果保存**:保存翻译后的文档、摘要和简介到指定路径 ## 📁 数据目录结构 ``` data/ ├── input_pdfs/ # 原始 PDF 论文 ├── md_raw/ # MinerU 转换后的英文 MD ├── translated_md/ # 翻译后的中文 MD ├── summaries/ # 提取的摘要 └── processed/ # 结构化处理结果 ``` ## 🛠️ 技术栈 - Python 3.10+ - Asyncio(并发处理) - LLM API(如 Qwen) - MinerU API(PDF 解析) - 模块化设计 ## 📝 使用说明 1. 将需要处理的 PDF 论文放入 `data/input_pdfs/` 目录 2. 运行主入口脚本 3. 处理结果将保存在 `data/translated_md/`、`data/summaries/` 等目录 4. 可以通过命令行参数自定义输入输出路径 ## 🧪 测试 测试文件位于 `tests/` 目录,运行测试: ```bash python -m pytest tests/ ``` ## 📄 许可证 MIT License ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📧 联系方式 如有问题,请联系项目维护者。