---
title: "I Will build a RAG chatbot that answers from your documents and shows the source"
url: https://zinnhub.com/zinns/i-will-build-a-rag-chatbot-that-answers-from-your-documents-and-shows-the-source/
description: "People keep asking questions your documents already answer, and a general chatbot invents replies. I build a chatbot that searches your own files, answers from them with the file and page or section, and says so when the answer isn't there."
published: 2026-10-19T10:00:15+00:00
modified: 2026-10-19T10:00:15+00:00
language: en-GB
---

# I Will build a RAG chatbot that answers from your documents and shows the source

Your answers already sit in your documents: return policies, product manuals, price lists, contracts, help-center articles. I build a chatbot that searches those files first and answers only from what it finds, citing the file and page or section behind each answer. When the documents don’t cover a question, it says so instead of guessing.

Starter indexes up to 50 files (text PDF, Word, plain text or public web pages) behind a simple web chat, with a guide to run it on your own host. Standard takes up to 300 files, adds a chat widget for your site or a Telegram bot and chat history, and I set it up on your server. Advanced goes inside your own Postgres or Supabase app with user logins and access rules, so each user sees only the documents they’re allowed to see, or runs on your server with a local model, so your files never go to an AI provider.

Every package ends with a test on up to 20 of your questions. You get a table with each answer, the source it used and whether it was right; I then make one round of fixes and run the questions again. The source code is yours, and the bot runs on your own OpenAI, Claude or Gemini key, so you see every request on your provider’s bill and pay me no monthly fee.

The search index is built by a small model that runs with the bot and kept in PostgreSQL with pgvector, so your files don’t go to the AI provider, and a Postgres or Supabase app needs no separate vector service. Recent work: the vector search layer of a production Supabase backend for an election trading desk, with a filtered similarity search and team-only access rules, plus hourly LLM summaries that are checked before they are stored.

For 14 days after delivery, I fix anything that does not work as we agreed, free of charge.

No calls. Scope is agreed in writing before I start, and you get a written update at the end of each working day.

Steps for completing your project
1. Questions and documents – You send the files and the questions people really ask. I confirm in writing what the chatbot will answer, where it will live and which provider it runs on.
2. Index and search – I split the documents into passages, index them with a small embedding model that runs with the bot, and store them in PostgreSQL with pgvector, keeping the file and page or section of each passage.
3. Answers with sources – The chatbot answers only from the passages it retrieves and says plainly when the documents don’t cover a question.
4. Test on your questions – Up to 20 of your questions go through it, and you get the table of answers, sources and results, then one round of fixes.
5. Handover – Source code, a short guide to running it and, for Standard or Advanced, the widget, Telegram bot or app integration, set up on your server and checked.
