This project implements a Retrieval-Augmented Generation (RAG) system using FastAPI and LangChain. It is designed with a simplified layered architecture to ensure separation of concerns and maintainability.
- Retrieval-Augmented Generation (RAG): Combines retrieval-based and generation-based approaches for answering complex queries by leveraging FastAPI and LangChain.
- Vector Database: Uses ChromaDB as a vector database for storing and retrieving embeddings, enhancing the retrieval capabilities.
- Layered Architecture: The project follows a simplified layered architecture, separating concerns such as routing, service logic, and data access.
- API Documentation: Automatically generated interactive API documentation via Swagger and Redoc.
- JWT Authentication: Secure your API with JSON Web Tokens (JWT) to manage user authentication and authorization.