NLPWMAD / README.md
Mr-Thop's picture
Update README.md
db59a97 verified

A newer version of the Gradio SDK is available: 6.6.0

Upgrade
metadata
license: mit
sdk: gradio
colorFrom: yellow
colorTo: green
sdk_version: 5.49.1

AI Assistant - Gradio Web Application

A comprehensive AI Assistant built with Gradio that combines chat functionality, notes management, reminders, document processing, and system monitoring in a single web interface.

πŸš€ Features

  • πŸ’¬ Smart Chat: Intelligent conversations with AI assistance
  • πŸ“ Notes Management: Create, edit, and organize your notes
  • ⏰ Reminders: Set and manage time-based notifications
  • πŸ“„ Document Processing: Upload and analyze PDF, TXT, and Markdown files
  • πŸ’» System Monitoring: Real-time system performance metrics

πŸ› οΈ Technology Stack

  • Frontend: Gradio web interface
  • Backend: Python with integrated AI capabilities
  • AI Integration: Google Gemini API (configurable)
  • Data Storage: JSON-based local storage
  • File Processing: Support for multiple document formats

πŸƒβ€β™‚οΈ Quick Start

Local Development

  1. Clone the repository

    git clone <your-repo-url>
    cd ai-assistant-gradio
    
  2. Install dependencies

    pip install -r requirements.txt
    
  3. Set up environment variables (optional)

    # Create .env file
    GEMINI_API_KEY=your_gemini_api_key_here
    OPENAI_API_KEY=your_openai_api_key_here
    
  4. Run the application

    python gradio_app.py
    
  5. Open your browser Navigate to http://localhost:7860

Hugging Face Spaces Deployment

  1. Create a new Space on Hugging Face Spaces
  2. Select Gradio as the SDK
  3. Upload these files:
    • gradio_app.py (main application)
    • requirements.txt (dependencies)
    • README.md (this file)
  4. Add secrets (if using AI APIs):
    • GEMINI_API_KEY: Your Google Gemini API key
    • OPENAI_API_KEY: Your OpenAI API key
  5. Deploy and your app will be live!

πŸ“± Usage Guide

Chat Interface

  • Type messages in the chat box to interact with the AI
  • Use example prompts to get started quickly
  • Chat history is automatically saved

Notes Management

  • Create notes with titles and content
  • View all notes in an organized display
  • Delete notes by exact title match
  • Notes persist between sessions

Reminders System

  • Set reminders with specific dates and times
  • Add descriptions for detailed reminders
  • Mark reminders as completed
  • View active and completed reminders

Document Processing

  • Upload PDF, TXT, or Markdown files
  • Get automatic analysis and content preview
  • Files are saved for future reference
  • Content can be queried through chat

System Monitoring

  • View real-time system performance
  • Monitor CPU, memory, and disk usage
  • Track application statistics
  • Auto-refresh every 30 seconds

πŸ”§ Configuration

Environment Variables

  • GEMINI_API_KEY: Google Gemini API key for AI responses
  • OPENAI_API_KEY: OpenAI API key (alternative AI provider)
  • DEBUG: Set to true for debug mode
  • PORT: Custom port (default: 7860)

Customization

The application is designed to be easily customizable:

  • AI Provider: Modify the _generate_mock_response method to integrate with different AI services
  • Storage: Replace JSON storage with database integration
  • UI Theme: Customize the Gradio theme and CSS
  • Features: Add or remove tabs and functionality as needed

πŸ“Š Data Storage

Data is stored locally in JSON files:

  • data/notes.json: User notes
  • data/reminders.json: User reminders
  • data/chat_history.json: Chat conversation history
  • data/documents/: Uploaded documents

πŸ”’ Security Notes

  • Data is stored locally and not shared externally
  • API keys should be kept secure and not committed to version control
  • File uploads are processed locally and stored in the data directory
  • Consider implementing user authentication for production use

πŸš€ Deployment Options

Hugging Face Spaces (Recommended)

  • Free hosting for public applications
  • Automatic deployment from Git repository
  • Built-in secrets management
  • Easy sharing and collaboration

Other Platforms

  • Streamlit Cloud: Alternative free hosting
  • Railway: Easy deployment with custom domains
  • Heroku: Traditional cloud platform
  • DigitalOcean: VPS deployment
  • Local Server: Self-hosted solution

🀝 Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ†˜ Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Join the discussion in the community

🎯 Roadmap

Future enhancements planned:

  • User authentication and multi-user support
  • Database integration (PostgreSQL, MongoDB)
  • Advanced AI integrations
  • Mobile app companion
  • API endpoints for external integration
  • Advanced document analysis
  • Email and calendar integration
  • Voice commands and speech synthesis
  • Plugin system for extensibility

Built with ❀️ using Gradio and Python

Perfect for deployment on Hugging Face Spaces!