A working RAG case study
Clinic information.
Answers with evidence.
I built an RxDx Q&A assistant that retrieves public clinic content before answering, with source links you can inspect.
Independent, AI-assisted project. Public website data. No RxDx affiliation.
Evidence you can inspect.
The project is backed by a real knowledge base, automated checks and live endpoint verification. The metrics describe what was tested.
Verified 13 October 2026. Hybrid hit@1: 83%; MRR: 0.889. Retrieval metrics measure source discovery, not answer accuracy. No commercial impact claim is made.
Follow a question
through the system.
RAG connects an answer to retrieved source content. Explore each stage to see the decisions behind this implementation.
Good answers start with usable data.
The shared snapshot contains 254 doctors, 14 branches, 49 speciality archives and 26 general pages. Clinic names and schedules are normalized; inconsistent profiles are flagged for confirmation. Missing information stays missing.
Engineering choices,
with reasons.
The goal was to satisfy the RAG brief with an inspectable, deployable system. Each choice responds to the data and constraints of this project.
Retrieval and generation
- Hybrid searchBM25 handles exact names; embeddings connect phrases such as “skin doctor” to related source content. Rank fusion combines both.
- Content-aware chunkingKeep a doctor’s profile and schedule together. Split longer pages with overlap and remove repeated website boilerplate.
- An index that fits the corpusNumPy vectors and BM25 are enough for 427 chunks. No hosted vector database is needed for this demo.
- Traceable answersNova Lite receives the top eight passages. Numbered citation markers are checked against retrieved sources.
Deployment and operations
- FastAPI on VercelOne application serves the bot UI, Q&A API, navigator API and this portfolio page.
- Short-lived AWS identityVercel OIDC exchanges a signed production identity for temporary credentials. The IAM role can invoke only Nova Lite.
- Serverless conversation handlingRecent history travels with every request so follow-ups work across different server instances.
- Cost-aware inferenceAWS stays on its Free account plan. Inference consumes eligible credits; app limits are best-effort per instance.
A demo that can say
“the source doesn’t say.”
One live check asked for an exact clinic address that was absent from the snapshot. The bot gave a contact fallback rather than inventing the missing detail.
Actual deployed Q&A response, excerpt
“Where is the RxDx Whitefield clinic?”
“For the exact address, please call +91 901 409 1111 or WhatsApp +91 90199 61402.”
Returned source: RxDx about-us pageTry doctor profiles, services or contact questions in Ask RxDx. For structured doctor searches, switch to Care Navigator.
Open the working demoAn extension for
questions with constraints.
“ENT in Whitefield, Saturday, Kannada-speaking” requires exact matching over fields. Care Navigator combines model interpretation with deterministic tools.
Observed live behavior
- Find an ENT doctor in Whitefield on Saturday.The tool returned two matches from the directory.
- Which one speaks Kannada?A follow-up returned Dr Santosh Nagalikar with one filtered match.
- A message describing crushing chest pain.The deterministic emergency screen returned its fixed urgent-care response before model inference.
Bounded tool use
Five tools cover doctor search, doctor details, valid branches, valid specialities and booking-request drafts. Tool results supply facts; the model explains them.
The agent stops after eight model calls per turn. Booking requests are drafts: nothing is sent or booked. Review links are searches, not fetched ratings.
Availability comes from a static public snapshot, not a live appointment system.
What this project
demonstrates.
A concrete example of the work I can discuss with prospective clients: turning approved information into an AI application with clear behavior and verification.
- RAG knowledge assistantsSource preparation, chunking, hybrid retrieval, grounded responses and source links.
- Structured workflow agentsModel-to-tool integration, validated filters, bounded loops and human handoff points.
- Cloud application deliveryAPI routes, model adapters, deployment configuration and scoped cloud identity.
- Evaluation and debuggingRetrieval datasets, index-freshness checks, adapter tests and live scenario checks.
- Technical trade-offsChoosing simple storage at small scale and distinguishing retrieval from exact filtering.
- Honest implementation boundariesExplaining incomplete data, finite credits, AI-assisted development and what still needs production hardening.
Understand the scope
before reusing the pattern.
A published demo is evidence of working behavior. Production requirements depend on the client’s data, users and risk.
Source freshness and missing facts
The knowledge base is a 26 August 2026 snapshot of public RxDx pages. It includes missing and inconsistent fields. Clinic schedules must be confirmed, and exact addresses/opening hours are outside this snapshot.
What the tests and metrics prove
The launch suite passed 88 tests and retrieval was evaluated on 30 curated questions. Live checks covered answers, citations, follow-ups and navigator emergency handling. There is no comprehensive end-to-end answer accuracy score, load-test result or measured business ROI.
Free-plan costs and availability
Amazon Bedrock inference consumes eligible AWS Free-plan credits. The account has not been upgraded. Demo availability is finite and depends on remaining credits, plan expiry and Vercel limits. Application rate limits are per-instance and best-effort.
What a client production rollout would add
Depending on scope: scheduled source refresh, wider answer-quality evaluation, durable quotas, monitoring, authentication, access-aware retrieval and approved integrations. The navigator emergency screen is a keyword backstop, not clinical triage.
The complete case study.
31 editable slides with detailed speaker notes: the original brief, problem, architecture, build decisions, AWS/Vercel deployment, testing, lessons and freelance service offerings.