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.
A query against an example document collection: ranked passages plus an AI overview with citations back to each passage.
Recorded from a local Docker Compose run — this page is not a hosted live backend. To try it yourself, run it locally (instructions below).
Local-first by design: your documents never leave your machine. From the repo README:
ollama serve in a separate shell if it isn't already running).| Step | Command |
|---|---|
| 1 · Configure | cp .env.example .env then ollama pull qwen3:0.6b |
| 2 · Start the stack | docker compose up --build |
| 3 · Ingest documents | docker compose exec api turbosearch init-db then docker compose exec api turbosearch ingest-dir ./examples/local-docs |
| 4 · Search | docker 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.
| Layer | What it does |
|---|---|
| FastAPI | Search API: request validation, orchestration, and the /search, /ingest/text, /ingest/url endpoints. |
| Postgres 16 | Durable source of truth for documents, chunks, metadata, filters, and full-text search. It does not store vector columns. |
| turbovec vector index | Fast local approximate-nearest-neighbor retrieval over compact quantized vectors, with Postgres-provided allowlists for filtered search. |
| Qwen embeddings | Qwen/Qwen3-Embedding-0.6B embeds queries and passages locally, with MRL truncation for speed and memory control. |
| Cited LLM overviews | An 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.
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.
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.
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.
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.