How vasundhara-331/novara---final-year-project works
Novara is an enterprise LLM gateway with a governance dashboard. Callers authenticate and submit prompts through native or compatibility APIs; the gateway applies request controls and adaptive model routing before invoking an LLM provider, then tracks usage and audit activity for the dashboard. The README documents prompt compression, response caching, budgets, rate limits, and operational metrics. Some wiring is inferred only from documented capabilities because the relevant route, middleware, and optimization implementations were not sampled.
Main entry points: app.py FastAPI application · middleware Request controls · litellm_client.py Provider client · routes.py Login and registration
Components 26
API and identity
- FastAPI application
src/novara/api/app.py - Login and registration
src/novara/auth/routes.py - Native chat endpoint
src/novara/api/routes/chat.py - Compatibility endpoints
src/novara/api/routes - Admin endpoints
src/novara/api/routes/admin.py - Credential validation
src/novara/services/auth_service.py
Gateway runtime
- Enterprise gateway
src/novara/gateway/enterprise_gateway.py - Request pipeline
src/novara/gateway/pipeline.py - Request context
src/novara/gateway/context.py - Request controls
src/novara/middleware - Prompt analysis
src/novara/interfaces/query_analyzer.py - Compression and cache
src/novara/optimization - Provider client
src/novara/gateway/litellm_client.py
Adaptive routing
- Model router
src/novara/gateway/model_router.py - ADIE decision engine
src/novara/adie
Governance and state
- Usage and audit APIs
src/novara/api/routes/admin.py - Audit and usage services
src/novara/services - Persistent state
src/novara/database/session.py - Governance records
src/novara/models - Metrics and tracing
src/novara/monitoring
Governance dashboard
- Dashboard application
frontend/src/App.jsx - Dashboard session
frontend/src/context/AuthContext.jsx - Dashboard API client
frontend/src/api/client.js - Governance views
frontend/src/pages
Other components
- API caller
- LLM providers
Connections 29
- API caller → FastAPI application: sends requests
- FastAPI application → Login and registration: mounts routes
- FastAPI application → Native chat endpoint: mounts routes
- FastAPI application → Compatibility endpoints: mounts routes
- FastAPI application → Admin endpoints: mounts routes
- Login and registration → Credential validation: validates credentials
- Native chat endpoint → Enterprise gateway: submits request
- Compatibility endpoints → Enterprise gateway: submits request
- Enterprise gateway → Request pipeline: executes
- Request pipeline → Request controls: dispatches context
- Request controls → Prompt analysis: analyzes prompt
- Request controls → Compression and cache: optimizes prompt
- Request controls → Provider client: invokes generation
- Provider client → Model router: selects model
- Model router → ADIE decision engine: requests decision
- Provider client → LLM providers: sends completion
- LLM providers → Provider client: returns response
- Request pipeline → Audit and usage services: records activity
- Login and registration → Audit and usage services: audits actions
- Admin endpoints → Persistent state: manages records
- Audit and usage services → Persistent state: writes records
- Persistent state → Governance records: persists entities
- FastAPI application → Metrics and tracing: exposes metrics
- Dashboard application → Dashboard session: provides session
- Dashboard application → Governance views: renders views
- Governance views → Dashboard API client: requests dashboard data
- Dashboard session → Dashboard API client: supplies credentials
- Dashboard API client → FastAPI application: calls API
- Governance views → Admin endpoints: manages governance