|
Download README.md from JatinAutonomousLabs/PDF_analyst: direct link, hf CLI and curl.
- Browser
- Download file 5.47 kB
-
https://huggingface.co/spaces/JatinAutonomousLabs/PDF_analyst/resolve/main/README.md
- Command line
-
hf download hf://spaces/JatinAutonomousLabs/PDF_analyst/README.md
-
curl -L -o README.md https://huggingface.co/spaces/JatinAutonomousLabs/PDF_analyst/resolve/main/README.md
5.47 kB
| title: PDF Analysis & Orchestrator | |
| emoji: π | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: gradio | |
| sdk_version: 4.44.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: AI-powered PDF analysis with advanced features | |
| # π PDF Analysis & Orchestrator | |
| A powerful, intelligent PDF analysis tool that provides comprehensive document processing through AI-powered agents. This application offers advanced features including document chunking, caching, streaming responses, batch processing, and custom prompt management. | |
| ## π Features | |
| ### Core Analysis | |
| - **AI-Powered Analysis**: GPT-4 powered document analysis with context-aware responses | |
| - **Audience Adaptation**: Automatically adapts explanations for different audiences | |
| - **Document Segmentation**: Identifies and segments documents by themes and topics | |
| - **Multi-Agent Orchestration**: Specialized AI agents for different analysis aspects | |
| ### Performance Optimizations | |
| - **Document Chunking**: Smart processing of large documents (>15k chars) with sentence boundary detection | |
| - **Caching System**: PDF text extraction caching for improved performance | |
| - **Streaming Responses**: Real-time progress updates and status indicators | |
| - **Configurable Parameters**: Adjustable chunk sizes and processing options | |
| ### Enhanced Features | |
| - **Batch Processing**: Handle multiple PDFs simultaneously with comprehensive reporting | |
| - **Result Export**: Export analysis results in TXT, JSON, and PDF formats | |
| - **Custom Prompts**: Save, manage, and reuse custom analysis prompts | |
| - **Progress Indicators**: Real-time feedback during long-running analyses | |
| - **Session Management**: Per-user session isolation with persistent storage | |
| ## π― Use Cases | |
| - **Document Summarization**: Create concise summaries of complex documents | |
| - **Technical Explanation**: Explain technical content for general audiences | |
| - **Executive Summaries**: Generate high-level overviews for decision makers | |
| - **Content Analysis**: Extract key findings and insights from documents | |
| - **Batch Processing**: Analyze multiple documents with consistent instructions | |
| - **Research Assistance**: Process and analyze research papers and reports | |
| ## π οΈ Setup | |
| ### Prerequisites | |
| - Python 3.10+ | |
| - OpenAI API key | |
| ### Installation | |
| 1. **Clone the repository:** | |
| ```bash | |
| git clone https://huggingface.co/spaces/your-username/pdf-analysis-orchestrator | |
| cd pdf-analysis-orchestrator | |
| ``` | |
| 2. **Install dependencies:** | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 3. **Set up environment variables:** | |
| ```bash | |
| export OPENAI_API_KEY="sk-your-api-key-here" | |
| ``` | |
| 4. **Run the application:** | |
| ```bash | |
| python app.py | |
| ``` | |
| ## π Usage | |
| ### Single Document Analysis | |
| 1. Upload a PDF document | |
| 2. Enter your analysis instructions | |
| 3. Choose analysis options (streaming, chunk size) | |
| 4. Click "Analyze & Orchestrate" | |
| 5. View results and export if needed | |
| ### Batch Processing | |
| 1. Upload multiple PDF files | |
| 2. Enter batch analysis instructions | |
| 3. Click "Process Batch" | |
| 4. Review comprehensive batch results | |
| ### Custom Prompts | |
| 1. Go to "Manage Prompts" tab | |
| 2. Create custom prompt templates | |
| 3. Organize by categories | |
| 4. Reuse prompts across analyses | |
| ## ποΈ Architecture | |
| ### Core Components | |
| - **AnalysisAgent**: Primary analysis engine using GPT-4 | |
| - **CollaborationAgent**: Provides reviewer-style feedback | |
| - **ConversationAgent**: Handles user interaction | |
| - **MasterOrchestrator**: Coordinates agent interactions | |
| ### Key Files | |
| - `app.py`: Main application with Gradio interface | |
| - `agents.py`: AI agent implementations with streaming support | |
| - `config.py`: Centralized configuration management | |
| - `utils/`: Utility functions for PDF processing, caching, and export | |
| ## π§ Configuration | |
| ### Environment Variables | |
| - `OPENAI_API_KEY`: Required OpenAI API key | |
| - `OPENAI_MODEL`: Model to use (default: gpt-4) | |
| - `CHUNK_SIZE`: Document chunk size (default: 15000) | |
| - `CACHE_ENABLED`: Enable caching (default: true) | |
| - `ANALYSIS_MAX_UPLOAD_MB`: Max upload size in MB (default: 50) | |
| ### Model Configuration | |
| - **Temperature**: 0.2 (consistent, focused responses) | |
| - **Max tokens**: 1000 (concise but comprehensive) | |
| - **System prompts**: Designed for high-quality output | |
| ## π Performance | |
| - **Response Time**: Typically 2-5 seconds for analysis | |
| - **File Size Limit**: 50MB (configurable) | |
| - **Concurrent Users**: Supports multiple simultaneous sessions | |
| - **Memory Usage**: Optimized for efficient processing | |
| - **Caching**: Reduces processing time for repeated documents | |
| ## π Security | |
| - File size validation | |
| - Session isolation | |
| - Secure file handling | |
| - No persistent storage of sensitive data | |
| - Environment-based configuration | |
| ## π€ Contributing | |
| 1. Fork the repository | |
| 2. Create a feature branch | |
| 3. Make your changes | |
| 4. Add tests if applicable | |
| 5. Submit a pull request | |
| ## π License | |
| This project is licensed under the MIT License - see the LICENSE file for details. | |
| ## π Acknowledgments | |
| - Built on the successful Analysis & Orchestrate feature from Sharmaji ka PDF Blaster V1 | |
| - Powered by OpenAI's GPT-4 model | |
| - UI framework: Gradio | |
| - PDF processing: pdfplumber | |
| ## π Support | |
| For issues and questions: | |
| 1. Check the documentation | |
| 2. Review existing issues | |
| 3. Create a new issue with detailed information | |
| --- | |
| **Note**: This project focuses exclusively on the Analysis & Orchestrate functionality, providing the same high-quality results in a streamlined, focused package with enhanced performance and user experience. |