PDF_analyst / README.md
JatsTheAIGen's picture
Shorten description further
cbd78de

A newer version of the Gradio SDK is available: 6.5.1

Upgrade
metadata
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:

    git clone https://huggingface.co/spaces/your-username/pdf-analysis-orchestrator
    cd pdf-analysis-orchestrator
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Set up environment variables:

    export OPENAI_API_KEY="sk-your-api-key-here"
    
  4. Run the application:

    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.