RAG · EDGE CACHE · GROQ · PGVECTOR

Yourdocs,finally
abletothink.

Drop any PDF. Ask anything.
Agentic CRAG + Self-RAG pipeline,
multi-provider LLMs, and pgvector.

self-hosted · no credit card · MIT license
< tracking prey />

PRODUCTION STACK · EVERY LAYER BATTLE-TESTED. READ THE ARCHITECTURE BREAKDOWN →

Next.js
FastAPI
LangGraph
Groq
Cloudflare
Supabase
pgvector
Docker
Hugging Face
Vercel
0ms
TTFT at edge (ms)
0%
Semantic cache threshold
0
Embedding dimensions
0x
Chunks retrieved per query
[ HOW IT WORKS ]

Four layers of
zero-waste inference.

Upload your documents
PDF extracted via PyMuPDF, hierarchically chunked (parent + child) so retrieval stays precise without losing context.
Local embedding + HNSW indexing
Chunks embedded with a local sentence-transformers model (384-dim) and indexed in Postgres/pgvector with HNSW for fast similarity search.
Semantic cache lookup
The edge gateway checks a vector similarity cache before the request ever reaches the LLM pipeline — an exact or near-exact repeat question costs nothing.
Agentic RAG pipeline
Cache miss? A LangGraph CRAG + Self-RAG graph retrieves, reranks, grades its own retrieval and generation, and rewrites the query if the answer isn't grounded.
[ AGENTIC, NOT JUST RAG ]

One strike isn't
enough. Send arms.

The chameleon is one precise strike — that's retrieval. The octopus is the agent loop: multiple arms working at once — retrieve, grade, draft — each independently, before everything gets pulled back and synthesized into a single answer. Corrective RAG and Self-RAG in one picture.

< idle />
[ WHAT MAKES IT FAST ]

Built for engineers
who hate wasted tokens.

Dual-layer edge cache
Cloudflare KV for chat history + a semantic cache check on every /chat request. Repeat/paraphrased questions skip the LLM entirely.
Self-correcting retrieval
Hybrid search (BM25 + vector, RRF-fused) with a BGE reranker, graded by an LLM before generation even starts — CRAG catches bad retrievals early.
Origin shielding
The Cloudflare Worker proxies every request to the FastAPI origin with its own timeout + retry handling, so a slow backend fails clean instead of hanging the client.
Swappable inference
Intent-routed across Gemini, Groq, and NVIDIA, with a self-hosted vLLM (PagedAttention) fallback when no cloud API key is configured.
[ ARCHITECTURE ]

Boring stack. Boring reliability.

Next.js + Vercel
frontend layer
Cloudflare Workers
edge gateway
Cloudflare KV + R2
chat cache + file storage
FastAPI + LangGraph
agentic CRAG + Self-RAG
Gemini · Groq · NVIDIA
+ self-hosted vLLM fallback
Supabase pgvector
HNSW vector store + semantic cache

Your documents are waiting
to be understood.

Self-host in minutes. Edge-cached from request one. Swap any LLM. The chameleon never misses — neither will your inference pipeline.