A smart, conversational assistant built into my portfolio website that answers questions about my background, projects, and skills in natural language. It feels like chatting with me, even when I'm not available!
π Live: kanishkawaghmare.com
This assistant helps visitors to my website learn more about:
- My work history and projects
- Education and research background
- Technical skills and expertise
- Detailed information about specific projects
Instead of reading through my entire portfolio, visitors can simply ask questions like "What experience does Kanishka have with machine learning?" or "Tell me about the Movie Recommender project" and get immediate, accurate answers.
The assistant combines two powerful technologies:
- Smart Document Search: Finds the most relevant parts of my portfolio based on your question
- AI Text Generation: Creates natural, conversational answers using only the accurate information found
This approach (called "Retrieval-Augmented Generation" or RAG) ensures responses are:
- Accurate and factual
- Based only on my real experience
- Detailed where needed
- Conversational and helpful
- Clean Chat Interface: Floating chat bubble expands to a full conversation
- Mobile Responsive: Works great on all devices
- Real-Time Responses: No page reloads needed
- Built With: React, TypeScript, and Tailwind CSS
- Smart Search Engine: Finds the most relevant information from my knowledge base
- AI Text Generation: Creates natural-sounding responses using the retrieved information
- Fast API Server: Handles requests efficiently
- Built With: Python FastAPI, Vector Search (FAISS), and AI models via Hugging Face
- Always Available: Hosted on Google Cloud Run
- Scalable: Handles multiple conversations simultaneously
- Containerized: Packaged in Docker for consistent deployment
User: "Where was he born?."
Assistant: He was born in India
User: "What is his dog's name?"
Assistant: "Kanishka's dog's name is Beau, a four-year-old Boston Terrier. He's very proud of Beau and eager to share pictures!"
User: "What is his visa status?"
Assistant: Kanishka P Waghmare's visa status is that he holds a Partner visa, and therefore, does not require a TWV (Tewerkstellingsvergunning, or work permit) to work in the Netherlands."
.
βββ rag_chatbot.py # The main server with AI search & response logic
βββ data/
β βββ kanishka_knowledge.md # My experience, projects, and background info
βββ vectorstore/ # Search index for quick information retrieval
βββ components/ChatBot.tsx # The chat interface for the website
βββ Dockerfile # For cloud deployment
βββ requirements.txt # Python dependencies
- Clone & Install
git clone https://github.com/kanishkatks/kanbot.git
cd kanbot
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Set Up AI Access
Create a
.envfile:
HF_API_TOKEN=your_token_here # Get from huggingface.co- Start the Server
uvicorn rag_chatbot:app --host 0.0.0.0 --port 8080- View in Browser: Open http://localhost:8080
docker build -t kanbot .
docker run -p 8080:8080 -e HF_API_TOKEN=your_token_here kanbot# Google Cloud Run deployment
gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/kanbot
gcloud run deploy kabot \
--image gcr.io/YOUR_PROJECT_ID/kanbot \
--platform managed \
--region YOUR_REGION \
--set-env-vars HF_API_TOKEN=your_token_here \
--allow-unauthenticatedI'm planning to add these features in upcoming versions:
- Memory: Remember previous questions in the same conversation
- Multi-language Support: Chat in different languages
π€ Kanishka Waghmare
π kanishkawaghmare.com
π§ [email protected]
π LinkedIn
I'm open to collaboration, feedback, or just a friendly chat about data science and AI!
Built to make my portfolio interactive and showcase my work with practical AI applications!