SOULWIRE STUDIOCONCEPT BUILDBUILT WITH SYSTEM PROMPT + DATABASE LOOKUP + RAG VECTOR STOREFREE TO DOWNLOADSOULWIRE STUDIOCONCEPT BUILDBUILT WITH SYSTEM PROMPT + DATABASE LOOKUP + RAG VECTOR STOREFREE TO DOWNLOAD
AUTOMATIONINTRODUCTION

RAG vs. the Simple Chatbot

A decision playbook for choosing the right knowledge source behind an AI assistant.

Difficulty
Advanced
Stack
System prompt · Database lookup · RAG vector store
Cost
n8n + OpenAI + Supabase + Cohere
01

Section One

The Core Idea

This is not a choice between "a chatbot" and "RAG." Both are chatbots. The only real difference is where the assistant gets its answers, and that is driven by what the underlying data looks like, not by which approach sounds more advanced.

Pick the knowledge source that matches the data. Anything more is cost and complexity carried for no reason.

The one-line test

If the knowledge fits in a prompt, prompt it. If it is records you filter, query it. If it is a pile of documents you search, that is RAG.

Why this matters

RAG has real moving parts: an embeddings model, a vector table, a reranker, and a live database connection. That machinery earns its keep in exactly one of the three buckets on the next page. Reach for it because the data demands it, not by default.

02

Section Two

The Three Buckets

01

Step One

Small, fixed facts

A finite, known set of answers — an FAQ, a service list, a set of policies that rarely change. Put the facts directly in the system prompt. No database, no embeddings, nothing to maintain. The answers should come back exact every time; retrieval only adds fuzziness here.

02

Step Two

Structured records you filter

Rows with fields to sort and filter — listings, inventory, suppliers, pricing, member directories. Give the assistant a database lookup tool that queries the table directly. "Show records in region X under this price" is an exact filter; semantic search returns the most similar-sounding rows, not a clean filtered list.

03

Step Three

Large, unstructured documents

Prose too big to paste into a prompt — contracts, manuals, transcripts, policy PDFs, reports. Build Retrieval-Augmented Generation over a vector store: chunk it, embed it, retrieve only the few relevant chunks per question. The knowledge is too large for context and too unstructured to query with fields.

Identify the bucket first. The build follows.

III

Section Three

Quick Reference

Data Looks LikeRight BuildWrong Move
Known, finite factsFacts in the system promptRAG — overkill, adds fuzziness
Structured records to filterDatabase lookup toolRAG — imprecise on fields
Big pile of documentsRAG vector storePrompt stuffing — won't fit

The buy signal

On a discovery call, listen for this sentence: "The answer is in there somewhere, but nobody can find it." That points at bucket three — a shelf of policy documents, years of contracts, a long program manual. If the client instead describes a set list of answers or a spreadsheet of records, they are in bucket one or two. Do not sell them RAG.

04

Section Four

Where RAG Pays Off

RAG carries real moving parts: an embeddings model, a vector table sized to match, a reranker, a live database connection, and the discipline to keep embedding dimensions consistent across ingestion and retrieval. A mismatch quietly breaks results. That cost is worth it for bucket three and only bucket three — for buckets one and two it is slower, costlier, and less precise than the simpler build.

Where it fits

  • Professional-service firms — years of contracts and playbooks, “have we done a deal like this” questions
  • Government & economic development — grant guidelines, zoning rules, RFP requirements
  • Healthcare operations — protocols, onboarding manuals, compliance documents (the paperwork, not clinical decisions)
  • Nonprofits — program manuals, donor reports, board materials; keeps institutional memory answerable through staff turnover
  • Any business with a real knowledge base — product manuals, warranty terms, an internal wiki

When a simple build wins: a compliance FAQ with a fixed set of answers goes in the prompt. A catalog people filter and sort gets a database lookup. Anything that fits comfortably in one prompt does not need infrastructure.

05

Section Five

How We Actually Build It

This isn't theoretical. It's the exact shape of Soulwire's own bucket-three build — two linked n8n workflows, one that ingests documents and one that answers from them.

Fig. 2 — the real build, two workflows

Watch

Google Drive

Polls a folder every minute for new files

Chunk + Embed

OpenAI embeddings

Recursive text splitter, 200-char overlap

Store

Supabase

Vector table, insert mode

Answer

gpt-4.1-mini agent

Retrieves top 20, reranks with Cohere, replies over a webhook

Two pieces most guides skip. A reranker (Cohere) narrows the top 20 vector matches down to the ones actually worth answering from — retrieval alone returns similar-sounding chunks, not necessarily the right ones. And Postgres-backed session memory (45 messages of context, keyed by a session ID from the incoming request) is what makes it a conversation instead of a one-shot lookup.

The system prompt only allows one move: call the knowledge base tool first, answer only from what it returns, and say so plainly if the answer isn't in the retrieved chunks. Same grounding rule as every build in this library — never invent what the source doesn't say.

On a discovery call, listen for this sentence: “The answer is in there somewhere, but nobody can find it.”

— RAG vs. the Simple Chatbot, p. 4

Or this

§ Fin.

Rather have it built for you?

This guide is one system from the Soulwire Studio workflow library. We build AI automations for businesses that run on process: intake, scheduling, proposals, compliance-heavy operations. If you'd rather spend your time closing deals than debugging automation, book an audit and we'll find the automation hiding in your business.

Soulwire Studio

Systems with soul: custom websites, AI automation, and the digital ecosystems behind them, built for mission-driven businesses.

© 2026 Soulwire Studio · Veteran-owned · San Antonio, TX