Skip to content
View olivia0401's full-sized avatar

Block or report olivia0401

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
olivia0401/README.md

Olivia (Mengxiao Xu)

AI Engineer building production LLM agents, evaluation systems, and safety-focused ML services.

I work on the gap between "the demo works" and "the system is safe to ship": agent runtimes, structured outputs, RAG, tool calling, evaluation, failure analysis, observability, security controls, and CI/CD.

LinkedIn | Email | UK - open to relocating to Belfast

What I build

  • Production AI agents: LangGraph, MCP, RAG, tool calling, OCR, verifier agents, and escalation-only safety controls
  • Evaluation and reliability: golden datasets, rubric design, LLM-as-judge calibration, paired significance testing, confidence intervals, provenance, and regression gates
  • Applied ML services: imbalanced classification, ranking, off-policy evaluation, forecasting, APIs, Docker, and CI/CD

Featured projects

Project What it demonstrates
Parent Check (live demo) Bilingual scam-safety agent for older adults. Deterministic rules set a risk floor; the LLM analyst and verifier can escalate risk but never lower it. Includes MCP, RAG, OCR, SSRF protection, OpenTelemetry, Prometheus, Terraform, and AWS.
Prompt Evaluation Framework Production-style evaluation build: a paired experiment over 23 client briefs, 6 models and approximately 142 prompt configurations, 32 automated data-integrity checks, an evidence-grounded quality gate over a 61-item golden dataset, multi-tenant API/worker/database/dashboard services, and CI gates backed by 256 pytest tests and 87 Playwright tests.
LLM-to-Action Planning for Robotic Battery Disassembly LLM-to-ROS 2/MoveIt planning for a Kinova Gen3 robot, with RAG, safety validation, live execution probes, Wilson confidence intervals, McNemar/Holm correction, and reproducible failure analysis.
AI Job Scout UK Skilled Worker sponsor job radar that ingests live ATS and aggregator roles, filters sponsor-eligible employers, and scores roles against a user's CV. Supports local use and Docker Compose multi-user deployment.
Sequential Recommendation GRU4Rec and SASRec compared with popularity and Markov baselines on MovieLens-1M and RetailRocket, with ranking metrics plus SNIPS off-policy evaluation for the business question: would deployment actually lift conversion?
UK Road Casualty Severity Analysis SQL data engineering over UK Department for Transport records, time-series forecasting with ARIMA/SARIMA/Prophet/LSTM, and an explicit leakage audit separating retrospective analysis from deployable pre-incident prediction.
Stroke Prediction ML Service Leak-free imbalanced classification with XGBoost, SMOTEENN, cross-validated threshold tuning, FastAPI, Gradio, Docker, and GitHub Actions. Honest cross-validated AUC-ROC is 0.79, with F1 0.17 and recall 0.21.

I re-check my own headline numbers

Project First reported After audit What changed
battery-disassembly-llm-planning safety recall 12.4% 2.5% the earlier metric mixed safety labels with overall plan correctness and credited the validator for rejecting safe-but-non-canonical plans; the corrected view is 2 of 80 unsafe commands detected
sequential-recommender SASRec Recall@10 0.994 0.804 a left-padding mask produced NaN at the final position; NaN compared false against every negative and made the ranker look perfect
traffic-risk-prediction macro-F1 0.76 0.35 features only known after a crash leaked into a framing that sounded like pre-incident prediction
stroke-prediction-ml F1 0.59 0.17 the decision threshold was tuned on the same data used for scoring instead of inside cross-validation (0.59 to 0.22); a later fix to feature-bin edges that did not match their labels moved it to 0.17

Four different causes, one habit: an evaluation system that never revises downward usually just is not looking.

How I work

  • Validate the data and decision rule before interpreting model performance
  • Measure the noise floor and compare against strong baselines
  • Separate format validity, semantic correctness, and real execution
  • Keep raw data, provenance, assumptions, and correction logs visible
  • Fail builds on regressions, malformed outputs, missing provenance, or too-small samples

Toolbox

  • AI: Python, LangGraph, MCP, RAG, tool calling, Anthropic/OpenAI SDKs, OCR, structured outputs
  • Evaluation: golden datasets, LLM-as-judge, groundedness, error analysis, Wilcoxon/McNemar, confidence intervals, Cohen's kappa
  • Engineering: FastAPI, Flask, pytest, Playwright, TypeScript/Node, GitHub Actions, OpenTelemetry, Prometheus
  • Cloud and data: PostgreSQL/pgvector, Redis, Docker, Terraform, AWS, SQL
  • ML and robotics: PyTorch, XGBoost, scikit-learn, ROS 2, MoveIt 2

UK | LinkedIn | Email

Pinned Loading

  1. battery-disassembly-llm-planning battery-disassembly-llm-planning Public

    LLM to ROS 2/MoveIt action planner for battery disassembly, plus the evaluation that checks it: 5 research questions, Wilson CIs, McNemar with Holm correction, a leak-free RAG split, and a test set…

    Python 1

  2. sequential-recommender sequential-recommender Public

    GRU4Rec and SASRec vs Popularity/Markov on MovieLens-1M and RetailRocket. Ranking metrics (Recall/NDCG/MRR) plus SNIPS off-policy evaluation - would deploying it actually lift conversion? - cross-c…

    Python

  3. traffic-risk-prediction traffic-risk-prediction Public

    UK road-casualty analysis over DfT open data: analytical SQL plus ARIMA/SARIMA/Prophet/LSTM forecasting and severity classification. The severity model scored macro-F1 0.76 on features that only ex…

    Python