stivenDR14
change readme
b526b77

A newer version of the Gradio SDK is available: 5.27.1

Upgrade

πŸ€– PDF AI Assistant

A multilingual PDF processing application that leverages various AI models to analyze, summarize, and interact with PDF documents. Built with Python, Gradio, and LangChain.

🌟 Features

  • Multiple AI Models Support:

    • OpenAI GPT-4
    • IBM Granite 3.1
    • Mistral Small 24B
    • SmolLM2 1.7B
    • Local Ollama models
  • Multilingual Interface:

    • English
    • EspaΓ±ol
    • Deutsch
    • FranΓ§ais
    • PortuguΓͺs
  • Core Functionalities:

    • πŸ“ Text extraction from PDFs
    • πŸ’¬ Interactive Q&A with document content
    • πŸ“‹ Document summarization
    • πŸ‘¨β€πŸ’Ό Customizable specialist advisor
    • πŸ”„ Dynamic chunk size and overlap settings

πŸ› οΈ Installation

  1. Clone the repository:
git clone <repository-url>
cd pdf-ai-assistant
  1. Install required dependencies:
pip install -r requirements.txt
  1. Set up environment variables:
# Create .env file
touch .env

# Add your API keys (if using)
WATSONX_APIKEY=your_watsonx_api_key
WATSONX_PROJECT_ID=your_watsonx_project_id

πŸ“¦ Dependencies

  • gradio
  • langchain
  • chromadb
  • PyPDF2
  • ollama (for local models)
  • python-dotenv
  • requests
  • ibm-watsonx-ai

πŸš€ Usage

  1. Start the application:
python app.py
  1. Open your web browser and navigate to the provided URL (usually http://localhost:7860)

  2. Select your preferred:

    • Language
    • AI Model
    • Model Type (Local/API)
  3. Upload a PDF file and process it

  4. Use any of the three main features:

    • Ask questions about the document
    • Generate a comprehensive summary
    • Get specialized analysis using the custom advisor

πŸ’‘ Features in Detail

Q&A System

  • Interactive chat interface
  • Context-aware responses
  • Source page references

Summarization

  • Chunk-based processing
  • Configurable chunk sizes
  • Comprehensive document overview

Specialist Advisor

  • Customizable expert roles
  • Detailed analysis based on expertise
  • Structured insights and recommendations

πŸ”§ Configuration

The application supports various AI models:

  • Local models via Ollama
  • API-based models (OpenAI, IBM WatsonX)
  • Hugging Face models

For Ollama local models, ensure:

ollama pull granite3.1-dense
ollama pull granite-embedding:278m

🌐 Language Support

The interface and AI responses are available in:

  • English
  • Spanish
  • German
  • French
  • Portuguese

πŸ“ License

[MIT License]

🀝 Contributing

Contributions, issues, and feature requests are welcome!