webFun1 / REDME.md
benkada's picture
Upload REDME.md
ad43e8a verified

AI-Powered Web Application

This project is an AI-powered web application that provides four main functionalities:

  1. Document & Image Analysis: Upload documents or images for AI-powered summarization and interpretation.
  2. Intelligent Question Answering: Ask questions about your documents and images to get AI-powered answers.
  3. Data Visualization: Generate visualizations from Excel data using natural language requests.
  4. Document Translation: Translate your documents to different languages using AI.

Project Structure

The project consists of two main parts:

  1. Frontend: A vanilla JavaScript, HTML, and CSS application with a user-friendly interface for interacting with the AI functionalities.
  2. Backend: A Python FastAPI application that serves as a RESTful API for the AI services.

Technologies Used

Frontend

  • HTML5
  • CSS3
  • Vanilla JavaScript

Backend

  • Python
  • FastAPI
  • Hugging Face Transformers
  • Document parsing libraries (Tika, PyPDF2, python-docx, pandas)
  • Data visualization libraries (Matplotlib, Seaborn)

Getting Started

Prerequisites

  • Python 3.8 or higher
  • Docker (for deployment)

Running the Application

# Navigate to the backend directory
cd backend

# Create a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Start the FastAPI server
uvicorn main:app --reload

Running with Docker

# Build the Docker image
docker build -t ai-web-app .

# Run the container
docker run -p 8000:8000 ai-web-app

Deployment on Hugging Face Spaces

This application can be deployed on Hugging Face Spaces using the Docker SDK. Follow these steps:

  1. Create a new Space on Hugging Face Spaces.
  2. Select Docker as the SDK.
  3. Upload the project files to the Space.
  4. The Space will automatically build and deploy the application.

API Documentation

The API documentation is available at /docs when the backend server is running.

Project Report

The project report should include the following sections:

  1. Backend Architecture and API Design: Detailed description of the FastAPI backend structure, API endpoint specifications, request/response handling, and API documentation.
  2. Prompt Engineering and Optimization: Detailed description of the prompt engineering process, including design, testing, and refinement of prompts for optimal performance.
  3. Frontend Design and User Experience: Analysis of the frontend design choices, UI/UX considerations, user workflows, and implementation of interactive elements.
  4. Deployment and Scalability: Discussion of Dockerization strategy, deployment process on Hugging Face Spaces, and considerations for web application scalability and performance.

License

This project is licensed under the MIT License - see the LICENSE file for details.