An intelligent document analysis and Q&A application that allows users to upload documents and engage in natural language conversations about their content. Built with a modern React frontend and a powerful Python backend, AwareX leverages advanced AI technologies to provide context-aware responses and automatic language translation.
- Document Upload & Analysis: Upload PDF documents and have them processed for intelligent querying
- AI-Powered Chat: Ask questions about your documents in natural language and receive contextual answers
- Automatic Translation: Supports 50+ languages with automatic language detection and semantic translation
- Modern UI: Clean, responsive interface built with React and Tailwind CSS
- Real-time Responses: Fast, streaming responses powered by state-of-the-art AI models
- React with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- shadcn/ui for UI components
- React Router for navigation
- Python with Flask
- Groq for LLM inference
- Pinecone for vector database
- Sentence Transformers for embeddings
- PyPDF2 for document processing
- Powered by Gemini AI for advanced language understanding
- Google Translate integration for seamless multilingual support
- Node.js (v16 or higher)
- Python (v3.8 or higher)
- npm or yarn
-
Navigate to the project directory:
cd AwareX -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Python dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile with your API keys:GROQ_API_KEY=your_groq_api_key PINECONE_API_KEY=your_pinecone_api_key GEMINI_API_KEY=your_gemini_api_key GOOGLE_TRANSLATE_API_KEY=your_google_translate_api_key -
Run the backend server:
python app.py
-
Install Node.js dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser to
http://localhost:5173
- Upload Documents: Use the upload page to add PDF documents to the system
- Start Chatting: Navigate to the chat interface and ask questions about your uploaded documents
- Multilingual Support: Ask questions in any supported language and receive responses in the same language
- Explore Features: Check out the landing page for more information about available features
POST /api/chat- Send a chat message and receive AI responsePOST /api/upload- Upload a document for processingGET /api/documents- List uploaded documents
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or issues, please open an issue on GitHub or contact the development team.