Bharath Mandha

AI/ML engineer at Goldman Sachs, building production RAG, LangGraph agents and retrieval evaluation over financial documents.

  • ~40% lower average credit-memo preparation time, a reported project-level estimate (Goldman Sachs)
  • 3M+ documents in a RAG platform used weekly by 70+ analysts (Goldman Sachs)
  • 25.0% of 30-day readmissions reached by a 10% call list, against 20.5% for the prior-stays rule (readmission-capacity, public data)
  • 0.14 to 0.71 Hit@10 on held-out FinanceBench questions from a company filter and statement routing (finance-rag-eval)

Projects

Three independent projects I built on public datasets, with the code, evaluations and measured results in each repository.

Finding the page that answers a question about a 10-K

Page-level retrieval over 360 SEC filings, scored on FinanceBench's 150 public questions. A company and period filter and statement routing do most of the work; an embedding hybrid tied BM25 at about five times the latency, so BM25 ships.

Held-out results
MeasureValue
Hit@10, 100 questions0.14 to 0.71
Company and period filter+0.29
Statement routing+0.28
Company name left out of the query (0.75)+0.04, within noise
BM25 on one core126 req/s, 12 ms p95
  1. SEC filing PDFs
  2. PyMuPDF page text
  3. Company and period filter
  4. BM25
  5. Statement routing
  6. FastAPI service
  • Python
  • BM25
  • MiniLM
  • ONNX Runtime
  • FastAPI
  • Prometheus
  • Docker
  • JavaScript

Who to call after a hospital discharge

Readmission models judged the way a care team uses them: at a fixed call capacity, on 101,766 public encounters split by patient. Each call on the list comes with its three TreeSHAP reasons, and CI retrains the model and checks the numbers on every push.

Readmissions reached, by share of discharges called

  • LightGBM
  • Most prior stays first
  • LACE score
  • Calling at random
Show the numbers
Share of readmissions reached
Ranking5% called10% called20% called30% called
LightGBM14.7%25.0%40.2%52.0%
Most prior stays first12.5%20.5%34.5%45.9%
LACE score7.8%15.8%28.1%39.2%
Calling at random5.0%10.0%20.0%30.0%
Each line ranks the 19,745 held-out discharges a different way and calls from the top.
Held-out results
MeasureValue
Readmissions reached, 10% call list25.0%
Most prior stays first20.5%
LACE score15.8%
Scoring on one core72 req/s, 18.7 ms p95
  1. UCI extract
  2. Patient-level split
  3. LightGBM
  4. Isotonic calibration
  5. TreeSHAP reasons
  6. FastAPI scoring
  • Python
  • pandas
  • LightGBM
  • XGBoost
  • scikit-learn
  • TreeSHAP
  • FastAPI
  • Docker

A research assistant that reviews its own answers

A LangGraph loop that answers questions about research papers with cited passages. A second model call reviews each answer and asks for another search when it falls short, and every model reply is recorded so CI can replay the QASPER evaluation without an API key.

Review until the answer is supported

QuestionRetrievetop 5 passagesAnswercites [1] to [5]Reviewsecond model callResultanswer and cited passagessupported and completerefined query, up to three roundssingle passQuestionRetrievetop 5 passagesAnswercites [1] to [5]Reviewsecond model callResultanswer and cited passagessupported and completerefined queryup to three roundssingle pass
It stops early at a 120 s deadline, at the spending cap, or when a refined query finds nothing new. The single pass it's measured against skips the review.
Status
BenchmarkQASPER, 150 test questions
Compared witha single pass over 5, 10 and 15 passages
Resulta tie at 5; the loop loses to a wider single pass
  • Python
  • LangGraph
  • OpenAI API
  • ONNX Runtime
  • MiniLM
  • FastAPI
  • Prometheus
  • Docker

Experience

Goldman Sachs

AI/ML Engineer

June 2025 to now

  • Co-designed and optimized the retrieval layer (metadata filtering, reranking) and the LangGraph orchestration layer of a LangChain, LangGraph and FAISS RAG platform over 3M+ internal financial documents (tens of millions of chunks) used weekly by 70+ credit and risk analysts, and built its FastAPI integration, working with platform, risk and compliance teams.
Show all bullets
  • The platform's automated evidence discovery, document analysis and validation, with analysts keeping their review, is reported to have cut average credit-memo preparation time by about 40%. This is an approximate project-level estimate, not a time study I ran.
  • Built a 500+ query RAG evaluation benchmark of factual retrieval, financial comparison and evidence-based reasoning questions. It scored retrieval with Hit Rate and MRR and generation with RAGAS faithfulness, groundedness and answer relevance, apart from the 10 to 20 second end-to-end workflow, and compared chunk size, overlap, top-k and embedding choices experiment by experiment, alongside metadata-filtering and index-performance work. Groundedness came out above 90%.
  • Built LangGraph agents for retrieval, analysis, validation and delegation that took over repetitive reasoning steps in credit analysis, with analysts reviewing sensitive decisions.
  • Implemented document preprocessing, recursive and semantic chunking, metadata enrichment, embedding generation and incremental FAISS index updates in the team's PySpark and AWS S3 ingestion pipeline, so new or modified documents reached the index without a full rebuild for routine updates.
  • Evaluated quantization and LoRA/QLoRA approaches for open-source models with Hugging Face Transformers and PEFT, weighing GPU-memory requirements, inference latency, model quality and serving cost, and concluded that infrastructure savings alone didn't justify moving complex credit reasoning to smaller models.

Cigna Healthcare

Machine Learning Engineer

March 2022 to August 2023

  • Built 30-day hospital readmission-risk prediction with XGBoost and LightGBM over 1.5M+ encounters, and reached 0.91 ROC-AUC on a held-out cohort of 200K+ encounters from 70K+ patients, with time-aware validation and patient-level separation. This is a reported professional result on private data and is not reproduced here. The readmission-capacity project above is a separate analysis of public data, with its own methods and results.
Show all bullets
  • Engineered 150+ candidate features from labs, demographics, encounter history and clinical notes, and kept about 100 in production based on predictive value and stability. I handled class imbalance and tuned the decision threshold.
  • Productionized training, batch inference, registration and retraining with MLflow and Airflow on SageMaker and EKS through CI/CD, using Terraform for infrastructure as code, with PSI drift monitoring and SHAP explanations that let clinical reviewers prioritize several thousand high-risk patients a month.

Best Buy

Associate Data Scientist

June 2020 to February 2022

  • Cut the weighted MAPE of SKU- and store-level demand forecasts by about 14% relative, with gradient-boosted models benchmarked against time-series baselines on time-based holdouts, tracking RMSE alongside MAPE.
Show all bullets
  • Built PySpark, SQL and BigQuery pipelines over 50M+ transactions across thousands of SKUs and hundreds of stores.
  • Raised response on comparable campaigns by about 12% with six customer segments from clustering and cohort analysis.

Skills

AI / ML

  • RAG
  • Agentic systems
  • Retrieval evaluation
  • LoRA / QLoRA
  • PyTorch
  • Hugging Face
  • LangGraph
  • LangChain
  • FAISS
  • RAGAS
  • XGBoost
  • LightGBM
  • scikit-learn
  • SHAP

Languages, data and web

  • Python
  • SQL
  • PySpark
  • BigQuery
  • FastAPI

Infrastructure and deployment

  • AWS (SageMaker, S3, EKS)
  • GCP Vertex AI
  • Docker
  • Kubernetes
  • Terraform
  • MLflow
  • Airflow
  • CI/CD

Education

Degree

Master of Science in Computer Science, University of North Texas, August 2023 to May 2025