# UltimateRAG This project is an AI-based application that leverages Gemini/OpenAI and JinaAI embeddings on a FastAPI backend. The application is capable of reading PDFs, maintaining webpage memory, and facilitating interactive chat with websites, webpages, and PDFs. ## Project Description The AI-based application aims to provide an interactive and intelligent interface for users to engage with various digital content. The key features of the application include: - **PDF Reading**: The application can read and understand the content of PDF documents. - **Webpage Memory**: The application retains memory of interactions on webpages, allowing for a seamless user experience. - **Interactive Chat**: Users can chat with the application about websites, webpages, and PDFs, receiving intelligent and context-aware responses. ## Project Structure The project is divided into two main parts: the backend and the frontend. ### Backend - **Framework**: FastAPI - **AI Models**: Gemini/OpenAI, JinaAI embeddings - **Capabilities**: Reading PDFs, webpage memory, interactive chat ### Frontend - **Framework**: Svelte - **UI/UX**: Responsive and user-friendly interface for interacting with the AI-based functionalities ## To-Do List ### Backend 1. **Set up FastAPI backend** - Install FastAPI and create the initial project structure 2. **Integrate AI Models** - Configure and integrate Gemini/OpenAI models - Set up JinaAI embeddings 3. **Implement PDF Reading Capability** - Develop endpoints to upload and read PDF documents 4. **Develop Webpage Memory Feature** - Create mechanisms to store and retrieve webpage interactions 5. **Enable Interactive Chat** - Implement chat functionality using AI models ### Frontend 1. **Set up Svelte Frontend** - Install Svelte and create the initial project structure 2. **Design User Interface** - Create a responsive and intuitive UI for interacting with the backend functionalities 3. **Implement PDF Interaction** - Develop frontend components to upload and display PDF content 4. **Develop Webpage Memory Interface** - Create frontend components to visualize and interact with stored webpage memories 5. **Enable Chat Interface** - Implement a chat interface to communicate with the backend ## Getting Started ### Prerequisites - **Backend**: Python, FastAPI, Gemini/OpenAI, JinaAI - **Frontend**: Node.js, Svelte