Agentic RAG is a modern chat application that combines conversational AI with Retrieval-Augmented Generation (RAG) capabilities. The project features a clean, intuitive interface for users to interact with AI models while leveraging document knowledge for enhanced, context-aware responses.
- Support for multiple AI models (TinyLlama, Qwen, SmoLLM2)
- Real-time streaming responses with typing animations
- Message editing and conversation history
- Thread-based conversation management
- PDF document upload and processing
- RAG integration for context-aware answers
- Vector database storage for efficient document retrieval
- Automatic document ingestion and indexing
- Frontend: React-based SPA with modern UI components
- Backend: FastAPI with SQLAlchemy for data persistence
- Database: SQLite for conversation storage
- ID Management: Backend-generated UUIDs for all entities
- Lazy thread creation (threads created only when messages are sent)
- Message editing with version history
- Session persistence and management
- Mock and real API modes for development
- Backend-Controlled ID Generation: All thread, message, and edit IDs are generated by the backend using UUIDs
- Lazy Resource Creation: Threads are created only when users send their first message
- Clean API Design: RESTful endpoints with proper separation of concerns
- State Management: React Context for session and conversation state
- Responsive Design: Modern UI with dark/light mode support
- Frontend: React, JavaScript, Tailwind CSS
- Backend: Python, FastAPI, SQLAlchemy
- Database: SQLite
- AI Integration: Support for multiple LLM providers
- Document Processing: PDF parsing and vector embeddings
This project demonstrates best practices in full-stack development, API design, and AI integration, making it an excellent foundation for building production-ready conversational AI applications.