Overview
The Sigma application is a set of Docker Containers which can be deployed on any infra and for any scale.System Architecture
Core Components
Application Layer
- Frontend web client: Next.js-based web application providing the user interface for the Sigma platform
- API Server: Python FastAPI web server to handle business logic and requests
- Background Workers: Python workers to handle async jobs like fetching document updates, etc.
Data Layer
- Relational Database: Postgres database to store application data, user sessions, and system state
- Vector Database: Vespa keyword search engine + vector store for retrieving context for queries
- In Memory Cache: Redis, used to optimize performance
- File Store: MinIO blob store for user uploaded files and documents pulled from connectors
Infrastructure Layer
- Request Router: Nginx reverse proxy for load balancing and request routing
