Skip to content

bkennedyshit/bmx-bot-nvidia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ† AI Coach Bot - NVIDIA/AWS Hackathon Submission

NVIDIA NIM AWS EKS License: MIT

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.

🎯 Hackathon Requirements Met

βœ… 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


πŸ“– Table of Contents


πŸš€ About The Project

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.


✨ Key Features

  • 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

πŸ› οΈ Tech Stack

Python AWS NVIDIA Docker Kubernetes Flask

NVIDIA NIMs Used

  • LLM: meta/llama-3.1-nemotron-nano-8b-instruct
  • Embeddings: nvidia/nv-embedqa-e5-v5

AWS Services

  • Amazon EKS - Kubernetes orchestration
  • Amazon ECR - Container registry
  • Application Load Balancer - Traffic distribution

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      β”‚    β”‚   Flask API      β”‚    β”‚  NVIDIA NIMs    β”‚
β”‚   (HTML/JS)     │◄──►│   (RAG Engine)   │◄──►│  LLM + Embed    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚  Knowledge Base β”‚
                       β”‚  (65+ Articles) β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‚ Project Structure

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

⚑ Quick Start

Prerequisites

  • Python 3.9+
  • Docker & Docker Compose
  • AWS CLI configured
  • kubectl and eksctl
  • NVIDIA API Key (Get one here)

Local Development

  1. Clone the repository

    git clone https://github.com/YOUR_USERNAME/ai-coach-bot.git
    cd ai-coach-bot/hackathon_aws_version
  2. Set up environment

    cd backend
    cp .env.example .env
    # Edit .env with your NVIDIA API key
  3. Install dependencies

    pip install -r requirements.txt
  4. Run locally

    python app.py
    # Open frontend/index.html in browser

Docker Deployment

# 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:latest

☁️ AWS EKS Deployment

For complete deployment instructions, see QUICK_DEPLOY.md

One-Command Deploy

cd hackathon_aws_version
./deploy.sh

Manual Steps

  1. Create EKS cluster with eksctl
  2. Build and push Docker image to ECR
  3. Deploy to Kubernetes with kubectl
  4. Access via LoadBalancer URL

Estimated Cost: ~$5/day with $100 AWS credits

πŸŽ₯ Demo

Example Queries

  • "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"

API Endpoints

  • GET /health - System status
  • POST /chat - Chat with the bot
  • GET /models - Model information

πŸ§ͺ Testing

Health Check

curl http://localhost:5000/health

Chat API

curl -X POST http://localhost:5000/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "What are good BMX bikes for beginners?"}'

πŸ“Š Performance Metrics

The system tracks:

  • Response time and token usage
  • Retrieval accuracy with similarity scores
  • Source attribution and document relevance
  • Model performance monitoring

πŸ… Hackathon Compliance

  • βœ… 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

πŸ“œ License

Distributed under the MIT License. See LICENSE for more information.

πŸ“« Contact

Billy Kennedy - @billykennedybmx - billykennedy@nepa-ai.com

Built with ❀️ for the NVIDIA/AWS Hackathon

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors