My projects
VietNamese Medical Chatbot
Tech stack: Python, LangChain, LangGraph, Pinecone, Flask, React.js, Docker, PostgreSQL, HuggingFace.
- Architected a high-performance RAG system using fine-tuned Bi-encoder and cross-encoder with optimized preprocessing and text segmentation for semantic search and reranking, achieving MRR@10 = 76.52% through hybrid retrieval.
- Engineered an Agentic AI workflow with LangChain & LangGraph, enabling dynamic tool selection and multi-step reasoning by orchestrating Gemini 2.0 Flash.
- Developed a robust evaluation pipeline implementing custom metrics and an LLM-as-a-Judge framework to automate ground-truth generation and validate system accuracy.
- Deployed a scalable full-stack solution (Flask for backend, React.js for frontend and PostgreSQL for conversational memory) fully containerized with Docker
VietNamese Law Chatbot
Tech stack: HuggingFace, SentenceTransformers, Pandas, LangChain, LangGraph, Pinecone, Metaflow, DVC, FastAPI, Docker, Prometheus, Grafana, Loki.
- Designed and implemented a legal document retrieval system with a Bi-Encoder for semantic search and a Cross-Encoder for reranking, achieving MRR@10 = 71.98% (Top-5 = 77%).
- Built a RAG-based legal chatbot (Gemini 2.0-flash) integrating LangChain, LangGraph, and Pinecone for scalable retrieval, multi-turn reasoning, and conversational memory.
- Developed training & evaluation pipelines: fine-tuned Bi-Encoder and Cross-Encoder with optimized preprocessing and text segmentation for legal corpora.
- Managed datasets with DVC (AWS S3), and orchestrated experiments with Metaflow for pipeline tracking and hyperparameter management.
- Deployed a FastAPI + Docker backend with robust observability: Loguru for logging, Prometheus + Grafana + Loki + Alertmanager for monitoring, metrics, and alerting.
- Researched data distribution to improve robustness and accuracy of retrieval.
Mushrooms Classification Challenge
Tech stack: PyTorch, Torchvision, ISR, OpenCV, Albumentations
- Semi-Final Solution: Designed a two-stage pipeline with image super-resolution (32×32 → 64×64) and grayscale augmentation to enhance shape/edge detection for challenging classes, achieving 91% accuracy and improving Class 2 sample coverage from 90/150 to 124/150.
- Final Solution: Applied advanced preprocessing (resizing, augmentation, normalization) and built an ensemble of EfficientNetV2-L + ConvNeXt-Large for feature extraction, with a KAN (Kolmogorov–Arnold Network) as the classification head.
Tuned hyperparameters, optimized data complexity, and evaluated robustness with confusion matrices, achieving 98% accuracy and securing Top 9/20 in the competition.
Tech stack: Python, Pandas, NumPy, Scikit-learn, XGBoost, Seaborn, Matplotlib.
- Cleaned and preprocessed large salary datasets (outlier removal, text normalization, structured transformation of skills, companies, and salaries).
- Conducted job market analysis: Data Scientist roles yield the highest salaries ($74.7k–$128.2k); Python & SQL are core skills; AWS & Spark are in demand; top markets are California, Massachusetts, and New York.
- Built and compared multiple ML models (XGBoost, Random Forest, SVR, Linear Regression); best model XGBoost achieved R² = 83.6%, predicting salaries from skills, experience, location, and company size.