An Agentic AI Application built for the NVIDIA/AWS Hackathon featuring advanced RAG (Retrieval-Augmented Generation) capabilities powered by NVIDIA NIM microservices and deployed on AWS EKS.
β
llama-3.1-nemotron-nano-8b-instruct large language reasoning model
β
NVIDIA NIM inference microservice deployment
β
Retrieval Embedding NIM (nvidia/nv-embedqa-e5-v5)
β
AWS EKS deployment ready
β
Complete RAG pipeline with 65+ curated documents
β
Agentic behavior with autonomous retrieval and reasoning
The AI Coach Bot is an intelligent agentic application that provides expert coaching on BMX, fitness, and product knowledge. Built specifically for the NVIDIA/AWS Hackathon, it demonstrates the power of combining NVIDIA's cutting-edge NIM microservices with AWS's scalable infrastructure.
Key Innovation: The bot autonomously retrieves relevant information from a curated knowledge base of 65+ expert articles and uses advanced reasoning to provide contextual, source-attributed responses.
- Advanced RAG Pipeline: Semantic retrieval using NVIDIA embedding NIMs
- Expert Knowledge Base: 65+ curated articles on BMX, fitness, and products
- Agentic Behavior: Autonomous information retrieval and contextual reasoning
- Real-time Chat Interface: Interactive web UI with source attribution
- Scalable Architecture: Containerized for AWS EKS deployment
- Performance Monitoring: Token usage and response time tracking
- Fallback Mechanisms: Robust error handling with TF-IDF backup
- LLM:
meta/llama-3.1-nemotron-nano-8b-instruct - Embeddings:
nvidia/nv-embedqa-e5-v5
- Amazon EKS - Kubernetes orchestration
- Amazon ECR - Container registry
- Application Load Balancer - Traffic distribution
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Flask API β β NVIDIA NIMs β
β (HTML/JS) βββββΊβ (RAG Engine) βββββΊβ LLM + Embed β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Knowledge Base β
β (65+ Articles) β
βββββββββββββββββββ
ai-coach-bot/
βββ data/ # Knowledge base (65+ articles)
β βββ processed_blogs.json
βββ scripts/ # Data processing utilities
βββ hackathon_aws_version/ # Main hackathon submission
β βββ backend/ # Flask API with RAG pipeline
β β βββ app.py # Main application
β β βββ requirements.txt # Python dependencies
β β βββ Dockerfile # Container configuration
β β βββ .env.example # Environment template
β βββ frontend/ # Web interface
β β βββ index.html # Chat interface
β β βββ script.js # Frontend logic
β βββ deploy.yaml # Kubernetes deployment
β βββ deploy.sh # Automated deployment script
β βββ cleanup.sh # Resource cleanup script
βββ README.md # This file
- Python 3.9+
- Docker & Docker Compose
- AWS CLI configured
- kubectl and eksctl
- NVIDIA API Key (Get one here)
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/ai-coach-bot.git cd ai-coach-bot/hackathon_aws_version -
Set up environment
cd backend cp .env.example .env # Edit .env with your NVIDIA API key
-
Install dependencies
pip install -r requirements.txt
-
Run locally
python app.py # Open frontend/index.html in browser
# Build and run
docker build -t ai-coach-bot:latest backend/
docker run -p 5000:5000 \
-e NVIDIA_API_KEY=your-key-here \
ai-coach-bot:latestFor complete deployment instructions, see QUICK_DEPLOY.md
cd hackathon_aws_version
./deploy.sh- Create EKS cluster with eksctl
- Build and push Docker image to ECR
- Deploy to Kubernetes with kubectl
- Access via LoadBalancer URL
Estimated Cost: ~$5/day with $100 AWS credits
- "What are good BMX bikes for beginners?"
- "How do I improve my cardio for BMX racing?"
- "What should I look for in bike grips?"
- "Explain the basics of a bunny hop"
GET /health- System statusPOST /chat- Chat with the botGET /models- Model information
curl http://localhost:5000/healthcurl -X POST http://localhost:5000/chat \
-H "Content-Type: application/json" \
-d '{"message": "What are good BMX bikes for beginners?"}'The system tracks:
- Response time and token usage
- Retrieval accuracy with similarity scores
- Source attribution and document relevance
- Model performance monitoring
- β
Uses
llama-3.1-nemotron-nano-8b-instruct - β NVIDIA NIM inference microservice
- β
Retrieval Embedding NIM (
nvidia/nv-embedqa-e5-v5) - β AWS EKS deployment
- β Complete RAG pipeline
- β Agentic autonomous behavior
Distributed under the MIT License. See LICENSE for more information.
Billy Kennedy - @billykennedybmx - billykennedy@nepa-ai.com
Built with β€οΈ for the NVIDIA/AWS Hackathon