Spaces:
Sleeping
Sleeping
| # 🤖 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: | |
| ```bash | |
| git clone <repository-url> | |
| cd pdf-ai-assistant | |
| ``` | |
| 2. Install required dependencies: | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 3. Set up environment variables: | |
| ```bash | |
| # 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: | |
| ```bash | |
| python app.py | |
| ``` | |
| 2. Open your web browser and navigate to the provided URL (usually http://localhost:7860) | |
| 3. Select your preferred: | |
| - Language | |
| - AI Model | |
| - Model Type (Local/API) | |
| 4. Upload a PDF file and process it | |
| 5. 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: | |
| ```bash | |
| 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! | |