Skip to content
View siddharthgaur1's full-sized avatar

Block or report siddharthgaur1

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
siddharthgaur1/README.md

Siddharth Gaur — AI/ML Engineer. Graph neural networks, LLM agents, retrieval systems. Mumbai / remote.

Portfolio LinkedIn Email

I build systems that have to be right, not just impressive — evaluation harnesses, retrieval pipelines, graph models, and the guardrails around them. Every number below is reproducible from a clean clone, and where one can't be, the repo says so instead of quoting it.

Start here

Three projects, each with a measured result rather than a claimed one.

OpenEval

Self-hosted LangSmith alternative: trace every LLM call, version prompts and datasets, run RAG and LLM-judge evals against any provider, block regressions in CI. One docker compose up.

The hard part — org → project → RBAC with per-project quotas designed in from the first migration. Multi-tenancy retrofits are where authorization bugs live.

Live ▶ · API — free tier, first request cold-starts.

DeepResearch

Nine-agent LangGraph pipeline: plan sub-questions, search in parallel, cross-check every claim against ≥2 sources, return a cited report with per-claim confidence. Runs end to end on Ollama for $0.

The hard part — its own README flags the Docker-socket-mounted sandbox as a real container-escape vector and explains why it isn't fixed yet, rather than hiding it.

indic-reg-bench

An open benchmark for Indian regulatory document understanding, built on SEBI enforcement orders: five tasks, a pip-installable harness, a HuggingFace dataset. Everything else here is a system I built; this is an instrument others measure their systems with.

The hard part — designing tasks a regex can't win. SEBI orders quote the noticee's own settlement pleas in phrasing identical to the ruling, so the first currency amount in a document is the wrong answer 46.7% of the time.

Open source

Maintainer-reviewed work outside my own account. DenseGATv2Conv lands directly on the graph work above.

PR Project
Merged #1386 — surface the wrapped exception class name in blank PdfminerException messages pdfplumber
Open #10755 — add DenseGATv2Conv PyTorch Geometric
Open #10759 — fix KeyError in separate() for attribute-less heterogeneous node stores PyTorch Geometric
Open #10757 — clarify radius/radius_graph CPU vs. GPU behaviour in docs PyTorch Geometric
Open #10761 — add Shapes docstrings to TransformerConv/SplineConv PyTorch Geometric

Where I don't round up

  • elliptic-gatv2-aml — a published negative result: Random Forest (0.8085 illicit-F1) beats my GATv2 (0.4266). The finding is that the fancy model lost.
  • query-injection-bench — found and fixed a critical read-only bypass in my own Cypher guard, then measured it.
  • recruit-voice-agent — the results doc separates fill rate from accuracy, names the latency target it missed, and labels every unrun measurement as unrun.
10 more projects — eval harnesses, RAG, graph sims, causal inference, MCP, data-quality monitoring (click to expand)
Project What it does Demo
llm-regressor The library + CI gate. Model-agnostic regression testing for prompt and model changes; a reusable GitHub Action gates a PR in five lines. 100% statement and branch coverage, ~2s with no API key
querypilot-v2 English → SQL with schema-aware RAG (retrieves the 3 relevant table chunks, not a full schema dump). Write-safety is a SQLite PRAGMA query_only + authorizer at the DB layer, so a prompt injection that beats every earlier check still can't write
autonomous-data-scientist Give it a CSV and "predict churn" — an 11-agent pipeline cleans, explores, engineers features, tunes, evaluates, ships a report. Generated pandas runs through an AST whitelist into a locked-down subprocess (import guard, path guard, rlimits, wall-clock kill). 80 tests
Sebi-Explorer Analytics over real public SEBI enforcement orders: violation classification, penalties, entity network, timeline — the corpus problem that motivated indic-reg-bench
rail-graph Graph analysis of a synthetic 600-station Indian rail network — PageRank, betweenness, k-shortest paths, resilience simulation. The sim re-runs betweenness per removed node, so the naive version never finishes
nse-daily-monitor Scheduled data-quality monitoring of the NSE bhavcopy — coverage, OHLC bounds, null rates and breadth against a trailing 60-day baseline, opening a GitHub issue when a check fails. Publishes derived metrics only, never a reconstructable quote ▶ runs
causal-lens Four independently usable methods for "did this intervention actually cause this outcome" — A/B testing (frequentist + Bayesian + CUPED), difference-in-differences, synthetic control, uplift modelling
indian-markets-mcp MCP server exposing Indian market and regulatory data from official sources only. latest_day() resolves against IST, not the host clock, so a UTC-hosted server doesn't report yesterday's close as today's every evening

About the demos: they run on Streamlit's free tier, so an idle app first shows a "Zzzz — wake it up?" button; one click and roughly 40 seconds brings it back. Every one also runs locally from its repo's Quickstart with no API key.

▶ demos are on free tiers and sleep when idle — the first click wakes them, which takes about a minute.

Stack

Python · PyTorch · PyTorch Geometric · LangGraph · scikit-learn · XGBoost · FastAPI · Neo4j · PostgreSQL · Redis · Kafka · ChromaDB · Docker · GitHub Actions

Open to AI/ML roles — Mumbai or remote.
siddharthgaur200304@gmail.com · LinkedIn · Portfolio

Pinned Loading

  1. corpgraph-rag corpgraph-rag Public

    Indian corporate-network knowledge graph in Neo4j with GraphRAG question answering and a GATv2 link predictor

    Python

  2. llm-regressor llm-regressor Public

    Regression testing for LLM model/prompt changes: deterministic, LLM-judge and statistical checks, CI-gate ready

    Python

  3. deepresearch deepresearch Public

    Self-hosted distributed multi-agent research system (LangGraph + Celery + FastAPI + Next.js)

    Python

  4. openeval openeval Public

    Open-source, self-hostable LLM evaluation & observability platform

    Python

  5. elliptic-gatv2-aml elliptic-gatv2-aml Public

    GATv2 node classifier for AML on the Elliptic Bitcoin graph, benchmarked against GCN, MLP and Random Forest

    Python

  6. indic-reg-bench indic-reg-bench Public

    An open benchmark for Indian regulatory document understanding, built on SEBI enforcement orders

    Python