Starter Templates

No-DB Mini Bot

Tiny corpus, no infrastructure

A vectorless (PageIndex/BM25) chatbot in Streamlit. No embeddings, no GPU, no database — the index is a single file on disk. Perfect for small/static corpora, demos, and offline use.

Download ZIP

Live previewinteractive mock — no backend

localhost:8501Streamlit

Offline · BM25

Local recall.

Try one — live mock, no backend.

Stack

Frontend

Streamlit

Architecture

Vectorless (BM25)

Framework

raw python

Vector DB

None (BM25)

Corpus

small

Complexity

Low

How it works

Browser
Streamlit app
FastAPI /query
Vectorless (BM25)

The frontend talks only to the backend; your API keys + pipeline URL stay server-side.

Get started

Option A · Docker Compose (one command)
cp .env.example .env        # add your API key(s)
docker compose up --build
Option B · Backend (manual)
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env        # add your API key(s)
python pipeline.py ingest ./corpus
uvicorn serve:app --reload  # http://localhost:8000
Option B · Frontend (Streamlit)
cd frontend
pip install -r requirements.txt
cp .env.example .env
streamlit run app.py        # http://localhost:8501

The downloaded README.md has the full guide — vector DB setup, API keys, and deployment to Render/Railway + Streamlit Cloud.

Project structure21 backend · 6 frontend · 31 files total

backend/
.github/
workflows/
deploy.yml
eval/
__init__.py
README.md
run_eval.sh
synthetic_qa.py
test_answer_quality.py
test_retrieval.py
ingestion/
__init__.py
chunker.py
loader.py
observability/
__init__.py
tracing.py
.env.example
config.yaml
docker-compose.yml
Dockerfile
pipeline.py
README.md
render.yaml
requirements.txt
serve.py
frontend/
.streamlit/
config.toml
.env.example
.gitignore
app.py
Dockerfile
requirements.txt
.env.example
.gitignore
docker-compose.yml
README.md

Ready to build?

Download the full monorepo and follow the README.

Download ZIP