Portfolio Project

Chatbot (LoRA + RAG)

RAG Chatbot Fine-Tuned with LoRA

Data Science Tourism Machine Learning Automation Python Ollama AWS Docker

Demo

STAR Summary

Situation
The project needed to show both sides of a tourism chatbot decision: a custom fine-tuned model that could learn destination voice and a production-ready managed model that could answer quickly with citations.
Task
Built the prototype from crawl to deployment, then expanded it into a dual-backend demo comparing a custom LoRA/SageMaker model with a live Bedrock model.
Action
  • Crawled Visit Grand Junction pages, built a FAISS retrieval index, and generated a tourism-specific Q&A dataset with an open-source LLM through Ollama.
  • Fine-tuned a Mistral 7B/Qwen-style chatbot path with LoRA and deployed the custom model behind AWS SageMaker/Lambda for cold-start and model-control comparison.
  • Added a Bedrock backend as the default live path, keeping the same RAG/citation experience while providing faster always-available responses for the website demo.
Result
  • The project now demonstrates both architectures: Bedrock as the practical live production path and LoRA/SageMaker as the custom fine-tuning path.
  • Viewers can compare managed-model reliability, streaming responses, and citation behavior against the custom model's cold-start and deployment tradeoffs.
  • The demo keeps source-grounded answers and citation links while making the model choice transparent through the backend selector.

Notes

Uses public Visit Grand Junction pages; retrieval provides citation links, and cold-start checks are part of the deployed demo.