Demo · open-source repo · local-first

Search your documents by meaning, with cited answers.

turbosearch is our open-source semantic search stack: FastAPI, Postgres, and a custom vector index, with AI overviews that cite the exact passages they came from. This page is repo-backed — the recording below is a real local run.

Demo · screen recording of a real local run

turbosearch in action

A query against an example document collection: ranked passages plus an AI overview with citations back to each passage.

Screen recording of turbosearch: a natural-language query returns ranked document passages, followed by an AI-generated overview with citations to the exact passages.

Recorded from a local Docker Compose run — this page is not a hosted live backend. To try it yourself, run it locally (instructions below).

Run it locally

Local-first by design: your documents never leave your machine. From the repo README:

Prerequisites: Docker and Ollama on your host (ollama serve in a separate shell if it isn't already running).
StepCommand
1 · Configurecp .env.example .env then ollama pull qwen3:0.6b
2 · Start the stackdocker compose up --build
3 · Ingest documentsdocker compose exec api turbosearch init-db then docker compose exec api turbosearch ingest-dir ./examples/local-docs
4 · Searchdocker compose exec api turbosearch search "Which document mentions semantic retrieval?" — or curl "http://localhost:8000/search?q=semantic%20retrieval"

Drop your own .txt / .md files in place of ./examples/local-docs to search your own collection.

Architecture summary

LayerWhat it does
FastAPISearch API: request validation, orchestration, and the /search, /ingest/text, /ingest/url endpoints.
Postgres 16Durable source of truth for documents, chunks, metadata, filters, and full-text search. It does not store vector columns.
turbovec vector indexFast local approximate-nearest-neighbor retrieval over compact quantized vectors, with Postgres-provided allowlists for filtered search.
Qwen embeddingsQwen/Qwen3-Embedding-0.6B embeds queries and passages locally, with MRL truncation for speed and memory control.
Cited LLM overviewsAn OpenAI-compatible LLM layer (host Ollama locally) writes a concise overview grounded in the top passages, with citations to each one.

Search flow: Postgres narrows candidates with metadata and full-text filters → Qwen embeds the query → turbovec retrieves the nearest vectors → the API merges scores and citations → the LLM writes the grounded overview.

Why this demo exists: keyword search fails the moment people phrase things differently than your docs do. turbosearch is the retrieval core we deploy inside client knowledge bases — the same stack, pointed at your documents. MIT licensed; bring your corpus to the free assessment.

Frequently asked questions

Can I try turbosearch live on this page?

No — this demo is not a hosted live backend. turbosearch is a local-first stack: you run it locally with Docker Compose against your own documents. The recording above shows a real local run.

What do I need to run it?

Docker, a copy of the repo, and Ollama on your host for embeddings and overviews. The README's local-run block gets you from zero to searching in a few commands — no cloud account required.

How is this different from keyword search?

Keyword search matches words; turbosearch matches meaning. Qwen embeddings turn your query and your passages into vectors, turbovec retrieves the nearest ones, Postgres applies your metadata filters, and the LLM writes an overview with citations to the exact passages.

What would Vroom build on top of this for my business?

A private search over your docs, tickets, or knowledge base — ingestion wired to your sources, filters for your teams, and the overview layer tuned to your tone. Scope it in the free assessment.