Under Construction
Grounded AI • RAG + Query DSL

Prometheus Chatbot

An assistant that knows when to understand content and when to query exact data — always grounded in website sources.

More than RAG

Native RAG is great at explaining content, but it should not guess “latest”, date ranges, filters, or counts. Prometheus AI adds a routing layer that selects the right mechanism for each question.

LIVE RAG SIMULATION

One question, four possible routes

Choose a sample question to see which route the Retrieval Planner selects — and how data moves before the chatbot answers.

User question

How does Prometheus Lab currently use RAG?

LLM Query Planner

Reads intent, context, and safety boundaries

Select a route to run it

Planner selected: Semantic RAG

The question needs content understanding, not an exact numeric result.

01

Embed the question

Turn its meaning into a vector

02

Semantic search

Supabase pgvector • cosine similarity

03

Select Top 6 chunks

Keep relevant, authorized context

04

AI synthesis

Answer from context with sources

Grounded answer

Prometheus uses Routed RAG: the planner selects Semantic RAG for content questions, then the AI synthesizes only from retrieved passages.

The planner never answers directly. It only creates a retrieval plan; the server validates that plan before touching data.

What is the AI allowed to know?

Prometheus AI only retrieves indexed or authorized sources. It does not have blanket access to the entire database.

Blog Articles

Only published posts are queried. Content questions use the semantic index; lists and dates use live data.

Personal & Project Info

Public content from About Me and Projects supports answers about shared experience, skills, and projects.

Internal Resources (Assets)

Internal content is retrieved only when the account is authorized and the document is published or indexed.

How does AI learn about new content?

The two paths update differently: structured data is queried live, while semantic content needs a Knowledge Base refresh — never model retraining.

01

Publish new content

A Blog post is published, or a new Asset is published in Resources.

Blog • Asset
02

Choose the update path

Query DSL reads live data immediately. For semantic questions, run npm run rag:index to refresh the vector index.

Database: live • RAG: re-index
03

Retrieve fresh data

The planner routes the next question to the updated source and responds in the selected mode.

Exact or semantic

The database sees records as soon as they are published. Semantic RAG needs an index refresh. Internal Assets remain role-protected.

How it works

From question to grounded answer: plan, validate, retrieve from the right source, then respond.

1

Receive question & context

The system receives the question, conversation history, current time, and user role to establish the correct access scope.

Question • Context • Role
2

Plan retrieval

The planner classifies intent as Database, Semantic RAG, Clarify, or Unsupported instead of sending every question to vector search.

Database • RAG • Clarify • Unsupported
3

Validate the plan

Schemas and validators constrain entities, fields, operators, sorting, limits, and date formats. The model has no path to execute arbitrary SQL.

Schema • Allowlist • No raw SQL
4

Retrieve from the right source

Exact questions query live data; content questions use vector search for relevant passages. Assets always pass authorization checks.

Live DB • Vector Search • Authorization
5

Build structured evidence

Time ranges, ordering, counts, limits, and source metadata are normalized before the answer layer may use the result.

Normalized • Counted • Traceable
6

Respond in the selected mode

Database results use deterministic formatting; semantic answers are synthesized from evidence and streamed with sources. Ambiguous requests are clarified.

Deterministic DB • Grounded RAG

Tech Stack

Technologies behind this routed retrieval system.

Next.js 16

API Routes & Server Components

OpenAI API

GPT-5.4 Mini & Embeddings

Supabase

pgvector & RPC Functions

Framer Motion

Smooth UI Animations

TypeScript

End-to-End Type Safety

Streaming

NDJSON Real-time Response

Ask in natural language

Ask about content, the latest post, a date range, a count, or Assets you are authorized to access.