Skip to content

Asubtlecoderrr/AshaChatbot

Repository files navigation

🚀 Asha AI Bot – Deployment Guide

This guide will help you set up and deploy the Asha AI chatbot (FastAPI backend + React frontend) on a Google Cloud VM instance using Docker.

📦 Local Development

✅ Frontend

cd frontend/my-app
npm install
npm run start

✅ Backend

pip install -r requirements.txt
uvicorn backend.main:app

☁️ GCP VM Deployment Using Docker

✅ Step 1: SSH into Your VM

Use the Google Cloud Console or gcloud CLI to SSH into your VM instance.

✅ Step 2: Navigate to the Project and Pull Latest Code

cd AshaChatbot
git pull

✅ Step 3: Set Up Environment Variables

Create a .env file in:

AshaChatbot/.env
AshaChatbot/ashaaiflow/.env
Add your required secrets:

  • GEMINI_API_KEY=your_api_key
  • SERPAPI_KEY=your_serpapi_key
  • SECRET_KEY=your_secret
  • ALGORITHM=HS256
  • ACCESS_TOKEN_EXPIRE_MINUTES=30
  • FERNET_KEY=your_fernet_key
  • MODEL=gemini-1.5-flash

✅ Step 4: Build Docker Image (Backend)

docker build -t fastapi-app .

✅ Step 5: Run Docker Container (Backend)

docker run -d -p 8000:8000 fastapi-app

✅ Step 6: Check Docker Logs (Optional)

docker logs <container_id>

Frontend Deployment (React App)

✅ Step 7: Navigate to Frontend Directory and Pull Code

cd frontend/my-app
git pull

✅ Step 8: Build Docker Image (Frontend)

docker build -t my-asha-chatbot .

✅ Step 9: Run Docker Container (Frontend)

docker run -d -p 3000:3000 my-asha-chatbot

🌐 Expose VM IP to Access the App

To allow external traffic to your VM:

Go to VPC Network > Firewall in the GCP Console.

Click Create Firewall Rule.

Name: allow-http
Targets: All instances in the network
Source IP ranges: 0.0.0.0/0
Protocols and ports: Check Specified protocols and ports, then allow:
tcp:8000
tcp:3000

Now you can access your app via:

http://<your-external-vm-ip>:3000 # Frontend
http://<your-external-vm-ip>:8000 # Backend API

✅ Done!

Your Asha AI Bot is now up and running on a GCP VM! 🎉 Make sure to monitor logs and container health for smooth operation.

🔄 Workflow Overview

  1. User Interaction:
    The user initiates a conversation with Asha AI via the frontend (React app). Asha listens to the user's query (e.g., job search, resume analysis, etc.).

  2. Intent Classification:
    Asha's CrewAI-based agent classifies the user's intent (e.g., job search, mentorship, resume feedback). Based on this intent, the appropriate backend agent is triggered.

  3. Specialized Agents:

    • Job Search Agent: Fetches relevant job listings from HerKey and SerpAPI.
    • Resume Analyst: Analyzes and provides feedback on the uploaded resume.
    • Learning Advisor: Recommends courses or learning resources based on user needs.
  4. Response Generation:
    The backend compiles the response (jobs, advice, feedback) and sends it back to the frontend.

  5. Bias Guardrails:
    Throughout the conversation, Asha checks for gender bias in questions and redirects or reframes as needed.

  6. User Receives Feedback:
    The frontend displays the relevant information (jobs, resources, or advice) to the user, offering a continuous, empathetic, and personalized experience.

AshaAI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published