RAG assistants that cite or refuse
For teams with documentation, policies, or a website that customers keep asking about. I build ingestion, retrieval, reranking, fallback, and the evaluation suite, then hand over the code.
Measured proof & related work
UET GPT
3 providersin production routing table
An unofficial retrieval assistant for UET Taxila students and applicants (not affiliated with or endorsed by UET Taxila). Configured with 3 model providers in the routing table (gpt-oss-20b on Groq, Gemini 2.5 Flash, Cohere rerank), Convex vector search, and Vercel AI SDK. The documented routing selects refusal for empty retrieval, hedging below 0.4, and mandatory citations from 0.4 to below 0.6. A separate relevance check filters weak results. These instructions do not guarantee factual answers. UET GPT is live, but no accuracy figure has been published yet. The evaluation method is part of the build.
Site Assistant
The interactive assistant running directly on this portfolio. It indexes verified project facts, technical benchmarks, and service details to answer client questions.
Live UET GPT Demo
Live public web application answering student queries without requiring initial authentication.
RAG Evaluation Guide
A proposed 30-question protocol with a copyable scorecard for retrieval, citation support, refusal correctness and latency. It is advice, not a published UET GPT accuracy study.
Is this a fit?
Good fit
- Teams with technical documentation, product guides, or university materials that need reliable, source-backed answers.
- Projects requiring an explicit refusal path: when sources lack an answer, the assistant must state that plainly instead of hallucinating.
- Applications needing provider fallback (such as gpt-oss-20b on Groq with Gemini 2.5 Flash fallback) to mitigate single-provider rate limits or temporary outages.
- Modern TypeScript and Next.js applications that need a streaming chat interface with citation links directly to the source passages.
Not a fit
- Open-ended conversational chatbots or creative roleplay agents without source grounding.
- Projects demanding zero-error extraction without an evaluation test suite.
- Teams looking for an off-the-shelf SaaS chatbot subscription rather than custom code owned in their repository.
What you get
- Custom vector embedding and ingestion pipeline with semantic chunking and Crawl4AI web extraction.
- Convex vector storage with cross-encoder reranking for high-precision passage retrieval.
- Multi-provider routing engine with automated model fallback (Groq to Gemini).
- Vercel AI SDK streaming chat interface with inline citation links to source passages.
- User authentication with Clerk, per-user rate limiting, and structured error logging.
- Automated evaluation test suite scoring retrieval recall and answer faithfulness.
What I need from you
- Access to your documentation files, knowledge base exports, or website URLs to index.
- Representative sample questions along with the expected answers from your sources.
- Target model preferences and provider API keys (Groq, Google Gemini, OpenAI, or Cohere).
- User access requirements, branding constraints, and target hosting environment.
Limits and failure modes
Every system has boundaries where it breaks or degrades. Here is what to expect and how the pipeline responds.
- Gaps in source documentation
- Empty retrieval can trigger a refusal, and low-scoring passages can trigger hedging. These instructions do not guarantee that an irrelevant passage will be rejected or an answer will be correct. Evaluation needs questions your sources cannot answer.
- Upstream provider downtime
- If an external model API suffers an outage, the system will switch to its configured fallback model, but severe multi-provider outages will pause answer generation.
- Keyword versus semantic retrieval
- Vector search can overlook exact alphanumeric IDs or brief acronyms; adding hybrid keyword search or reranking helps, but messy source formatting still hurts recall.
- Context window tradeoffs
- Feeding excessive document chunks into prompts increases token costs and causes lost-in-the-middle degradation; strict chunk boundaries are necessary.
Working process
Brief & documentation review
Share your documentation URLs or describe your knowledge base in the contact inquiry. I review the material and reply by email.
Technical scoping call
If it fits, we schedule a call to review query edge cases, retrieval requirements, and model routing.
Milestone agreement
You receive a written scope and fixed price before any code is written.
Pipeline build & evaluation
I build the ingestion pipeline, retrieval logic, fallback routing, and evaluation test suite.
Handover & evaluation verification
Work starts with half paid at kickoff, and the remaining half upon verified deployment, evaluation test suite, and source code handover.
Scope and pricing approach
AI assistant projects are structured as fixed milestones, bi-weekly engineering sprints, or knowledge-base audits.
For a fixed assistant build, half is paid at kickoff and the second half once the assistant is deployed, tested against verification queries, and handed over with documentation.
First working assistant (MVP)
1-2 weeksOne end-to-end working assistant path: ingestion, vector search, and streaming chat.
Production build
2-4 weeksEvaluation suite, multi-provider fallback routing, authentication, rate limiting, and full handover.
Architecture audit
3-5 days to 1-2 weeksA review of an existing RAG system's retrieval quality and failure modes with concrete PR diffs.
Assistant scopes are quoted after reviewing your docs. Full commercial terms: pricing.md.
Have a project or problem like this?
Send a brief →Frequently asked questions
How do you prevent the assistant from hallucinating answers?
The documented routing selects refusal for empty retrieval, hedging below 0.4, and mandatory citations from 0.4 to below 0.6. A separate relevance check filters weak results. These instructions do not guarantee factual answers.
What happens if an LLM provider goes down or hits rate limits?
The routing engine implements automatic model fallback, switching from a primary provider like Groq to a fallback provider like Gemini before returning an error to the user.
Who owns the code and data?
Upon final payment, custom work-product developed for your project transfers to you. Ingestion scripts, schemas, and configurations are handed over to your repository or infrastructure. Open-source libraries and tooling retain their respective licenses.
Can it index private databases or authenticated portals?
Yes. Crawlers and ingestion workers can be configured with authentication credentials or database read-replicas to sync private documentation safely.