# Summary_Analysis **Repository Path**: ai-ollama/summary_-analysis ## Basic Information - **Project Name**: Summary_Analysis - **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-09-30 - **Last Updated**: 2025-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF文档分析器 基于LangChain和Ollama qwen3-0.6b模型的智能PDF文档分析工具。 ## 功能特性 - **PDF文档分块处理**: 智能文本分割,避免token限制 - **文档块凝练总结**: 对每个文本块进行精准总结 - **文档整体总结整合**: 整合所有块总结生成完整文档总结 - **多文档关联性分析**: 分析文档间的相似性和关联关系 - **向量化分析**: 使用sentence-transformers进行语义分析 - **多种输出格式**: 支持JSON和可读文本报告 ## 环境要求 - Python 3.8+ - Ollama服务(本地运行qwen3-0.6b模型) - 相关Python依赖包 ## 安装步骤 1. 安装依赖包: ```bash pip install -r requirements.txt ``` 2. 确保Ollama服务正在运行: ```bash ollama serve ``` 3. 拉取qwen3-0.6b模型: ```bash ollama pull qwen3:0.6b ``` ## 配置说明 编辑 `.env` 文件配置相关参数: ```env # Ollama配置 OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_MODEL=qwen3:0.6b # 文本分块配置 CHUNK_SIZE=1000 CHUNK_OVERLAP=200 # 向量化配置 EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2 VECTOR_DIMENSION=384 # 总结配置 MAX_SUMMARY_TOKENS=500 SUMMARY_TEMPERATURE=0.3 # 关联性分析配置 SIMILARITY_THRESHOLD=0.7 TOP_K_RELATED=5 ``` ## 使用方法 ### 基本使用 将PDF文件放入 `pdfs/` 目录,然后运行: ```bash python pdf_analyzer.py ``` ### 测试功能 运行测试脚本验证功能: ```bash python test_pdf_analyzer.py ``` ### 作为模块使用 ```python from pdf_analyzer import PDFAnalyzer # 初始化分析器 analyzer = PDFAnalyzer() # 分析单个文档 result = analyzer.analyze_document("path/to/document.pdf") # 批量处理多个文档 results = analyzer.process_multiple_documents("pdfs/") # 保存结果 analyzer.save_results(results, "outputs/results.json") ``` ## 输出结果 分析完成后,会在 `outputs/` 目录生成: - `analysis_results.json` - 完整的JSON格式分析结果 - `analysis_results_report.txt` - 可读性强的文本报告 ### 结果包含内容 - **文档基本信息**: 文件名、路径、文本长度、分块数量 - **块总结**: 每个文本块的凝练总结 - **整体总结**: 整合后的完整文档总结 - **向量化表示**: 用于关联性分析的文档向量 - **关联性分析**: 文档间的相似度和关联关系 - **综合分析**: 多文档集合的整体洞察 ## 技术架构 ### 核心组件 1. **PDF文本提取**: PyPDF2 2. **文本分块**: LangChain RecursiveCharacterTextSplitter 3. **LLM模型**: Ollama + qwen3-0.6b 4. **向量化**: sentence-transformers 5. **相似度计算**: scikit-learn cosine_similarity ### 处理流程 1. **文档加载**: 读取PDF文件并提取文本 2. **智能分块**: 根据配置参数进行文本分割 3. **块总结**: 对每个文本块调用LLM生成总结 4. **整合总结**: 整合所有块总结生成文档整体总结 5. **向量化**: 生成文档的向量表示 6. **关联分析**: 计算文档间的相似度 7. **结果输出**: 生成JSON和文本报告 ## 性能优化 - **流式处理**: 支持大文档的分块处理 - **缓存机制**: 可扩展支持结果缓存 - **并发处理**: 支持多文档并行分析 - **内存优化**: 合理的内存使用策略 ## 错误处理 - 完善的异常捕获和日志记录 - 友好的错误提示信息 - 部分失败时的容错处理 ## 扩展功能 - 支持其他文档格式(Word、TXT等) - 自定义总结模板和提示词 - 导出为其他格式(HTML、Markdown等) - 图形化界面 - 数据库存储支持 ## 注意事项 - 确保Ollama服务正常运行 - 根据文档大小调整分块参数 - 监控API调用频率和token使用 - 定期清理输出目录 ## 故障排除 ### Ollama连接失败 - 检查Ollama服务是否启动 - 确认端口号配置正确 - 检查防火墙设置 ### PDF解析失败 - 确认PDF文件未损坏 - 检查文件权限 - 尝试其他PDF解析库 ### 内存不足 - 减小分块大小 - 降低批处理数量 - 增加系统内存 ## 更新日志 - v1.0.0: 初始版本,支持基本功能