A newer version of the Gradio SDK is available:
5.27.1
π€ 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
- Clone the repository:
git clone <repository-url>
cd pdf-ai-assistant
- Install required dependencies:
pip install -r requirements.txt
- 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
- Start the application:
python app.py
Open your web browser and navigate to the provided URL (usually http://localhost:7860)
Select your preferred:
- Language
- AI Model
- Model Type (Local/API)
Upload a PDF file and process it
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!