VESPER is a production-grade, self-healing AI platform designed for financial intelligence and data analysis. Built on AWS with an open-source-first philosophy, VESPER provides evidence-grounded answers with full citation tracking and provenance.
- π Evidence-Grounded Answers - Every response includes verifiable citations
- π Multi-Source Analysis - Cross-company comparisons with attribution
β οΈ Conflict Detection - Automatic surfacing of conflicting information- π Self-Healing - Automated drift detection and remediation
- π₯ Domain Portability - Switch domains (finance β healthcare) with one ENV change
π Demo Script | π― Features | πΈ Screenshots | π Domain Swap
VESPER follows a layered architecture:
- Data Layer - Medallion Architecture (Bronze/Silver/Gold) on AWS S3 with Apache Iceberg
- Retrieval Layer - Hybrid semantic search with PostgreSQL + pgvector
- Reasoning Layer - Multi-agent LLM system with dynamic model routing
- Safety Layer - Multi-tiered guardrails and policy enforcement
- Monitoring Layer - Self-healing observability with automated drift detection
- Infrastructure Layer - Kubernetes-orchestrated, event-driven serving
- UI Layer - Dual interfaces (Analyst Chat UI + Ops Dashboard)
vesper/
βββ infrastructure/ # Terraform IaC for AWS resources
βββ services/
β βββ ingestion/ # Data ingestion service (Bronze β Silver β Gold)
β βββ api-gateway/ # FastAPI gateway with auth & rate limiting
β βββ retrieval/ # Semantic search & RAG service
β βββ agents/ # LLM agent orchestration service
β βββ guardrails/ # Safety & policy enforcement service
β βββ monitoring/ # Observability & self-healing service
βββ orchestration/ # Airflow DAGs and workflows
βββ frontends/
β βββ analyst-ui/ # Next.js chat interface for analysts
β βββ ops-ui/ # Next.js dashboard for operations
βββ shared/ # Shared libraries, schemas, utilities
βββ docs/ # Architecture docs, ADRs, runbooks
βββ scripts/ # Setup, deployment, and utility scripts
βββ .github/ # GitHub Actions CI/CD workflows
βββ docker-compose.yml # Local development environment
- Cloud Platform: AWS (S3, EKS, RDS, MSK, ElastiCache, MWAA)
- Infrastructure as Code: Terraform
- Container Orchestration: Kubernetes (EKS) with KEDA autoscaling
- Service Mesh: Istio (optional for advanced scenarios)
- Storage: Amazon S3
- Table Format: Apache Iceberg / Delta Lake
- Processing: AWS Glue, Apache Spark
- Orchestration: Apache Airflow (AWS MWAA)
- Streaming: Apache Kafka (AWS MSK)
- Versioning: DVC (Data Version Control)
- Vector Database: PostgreSQL with pgvector extension
- Caching: Redis (AWS ElastiCache)
- Search: Hybrid (BM25 + Dense Embeddings) with Cross-Encoder Reranking
- LLM Framework: LangChain + LangGraph
- Model Serving: vLLM / Text Generation Inference
- Embeddings: OpenAI Ada / Sentence Transformers
- Experiment Tracking: MLflow
- Guardrails: NVIDIA NeMo Guardrails, Guardrails AI
- API Framework: FastAPI (Python 3.11+)
- Message Queue: Kafka (MSK) / SQS
- Authentication: JWT + OAuth 2.0
- API Gateway: AWS ALB / API Gateway
- Metrics: Prometheus + Grafana
- Tracing: OpenTelemetry
- Logging: CloudWatch / ELK Stack
- Drift Detection: EvidentlyAI
- APM: LangSmith / Arize
- Framework: Next.js 14+ (React, TypeScript)
- Styling: Tailwind CSS
- State Management: Zustand / React Query
- Real-time: WebSockets / Server-Sent Events
- Charts: ECharts / Recharts
- CI/CD: GitHub Actions
- Container Registry: AWS ECR
- Secrets Management: AWS Secrets Manager
- Deployment: Helm + ArgoCD
- AWS Account with appropriate permissions
- Docker (20.10+) and Docker Compose (2.0+)
- Terraform (1.5+)
- Python (3.11+)
- Node.js (20+) and pnpm
- kubectl and helm for Kubernetes management
- AWS CLI configured with credentials
git clone <repository-url>
cd vesper
cp .env.example .env
# Edit .env with your configuration# Start local development stack
docker-compose up -d
# This starts:
# - PostgreSQL with pgvector
# - Redis
# - Kafka (Redpanda)
# - MinIO (S3-compatible)
# - Airflow
# - Prometheus & Grafana# 1. Seed demo data (10 SEC filings for AAPL, AMZN, MSFT)
python scripts/demo_seed.py
# 2. Warm the cache with top 20 queries
python scripts/cache_warmers.py --persist
# 3. Run demo (see docs/DEMO_SCRIPT.md for full walkthrough)
curl -X POST http://localhost:8000/api/v1/query \
-H "Content-Type: application/json" \
-d '{"query": "What was Apple'\''s revenue for FY 2024?"}'
# 4. Switch to healthcare domain (no code changes!)
DOMAIN=healthcare docker-compose up -dcd infrastructure
terraform init
terraform plan -out=tfplan
terraform apply tfplan# Build and push Docker images
./scripts/build-and-push.sh
# Deploy to Kubernetes
./scripts/deploy.sh- Analyst UI: http://localhost:3000
- Ops Dashboard: http://localhost:3001
- Airflow: http://localhost:8080
- Grafana: http://localhost:3003
Each service is independently developable:
cd services/api-gateway
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .
pytest# Unit tests
./scripts/test-unit.sh
# Integration tests
./scripts/test-integration.sh
# E2E tests
./scripts/test-e2e.sh# Linting
./scripts/lint.sh
# Type checking
./scripts/typecheck.sh
# Security scanning
./scripts/security-scan.shConfiguration is managed via:
- Environment Variables:
.envfiles per environment - AWS Secrets Manager: Sensitive credentials
- ConfigMaps: Kubernetes configuration
- Terraform Variables: Infrastructure parameters
See Configuration Guide for details.
- Development: Local Docker Compose
- Staging: AWS EKS (staging namespace)
- Production: AWS EKS (production namespace)
- PR β GitHub Actions runs tests & builds
- Merge to
mainβ Auto-deploy to staging - Manual approval β Deploy to production
- Automated rollback on health check failures
See Deployment Guide for details.
- Metrics Dashboard: Grafana dashboards for each service
- Distributed Tracing: OpenTelemetry traces in Jaeger
- Log Aggregation: CloudWatch / ELK with correlation IDs
- Alerting: PagerDuty integration for critical alerts
- Evaluation Metrics: Nightly eval runs tracked in MLflow
See Monitoring Guide for details.
- Authentication: JWT tokens with short expiry
- Authorization: RBAC with policy-based access control
- Secrets: AWS Secrets Manager + encrypted at rest
- Network: VPC isolation, security groups, NACLs
- Data: Encryption at rest (S3, RDS) and in transit (TLS 1.3)
- Compliance: Audit logs for all data access and model decisions
See Security Guide for details.
Key architectural decisions are documented in Architecture Decision Records.
See CONTRIBUTING.md for development workflow and guidelines.
[License Type] - See LICENSE for details.
π§ Under Active Development - Phase 1: Foundation (Setup & Data Layer)
- β Phase 0: Project setup and infrastructure foundation
- π Phase 1: Data ingestion and lakehouse (Months 1-2)
- β³ Phase 2: Semantic indexing and retrieval (Month 2-3)
- β³ Phase 3: LLM agents and orchestration (Months 3-4)
- β³ Phase 4: Guardrails and safety (Month 4-5)
- β³ Phase 5: Monitoring and self-healing (Month 5-6)
- β³ Phase 6: Frontend UIs (Month 6-7)
- β³ Phase 7: End-to-end testing and optimization (Month 7)
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with β€οΈ for production-grade AI systems
