Skip to content
← All apps03 / ATLAST

RAG DOCUMENT INTELLIGENCE / LOCAL-FIRST MVP

ATLASTASK THE ARCHIVE. VERIFY THE SOURCE.

Turn a private document archive into answers you can inspect.

ATLAST ingests local PDF and TXT files, retrieves the most relevant passages, asks a local Ollama model to answer from that evidence, and exposes only citations validated against the retrieved sources.

Knowledge archive overview
ATLAST / KNOWLEDGE ARCHIVELOCAL APPLICATION · SYNTHETIC DATA

01 / PROBLEM & VALUE

Useful answers need visible evidence.

THE PROBLEM

Operational knowledge is trapped across PDFs and text files. Keyword search finds strings, but rarely gives a concise answer with enough context to trust it.

THE SOLUTION

Build a deterministic local index, retrieve passages by semantic similarity, bound the evidence sent to a local model, then validate every returned citation ID.

THE VALUE

A usable document-intelligence workflow whose source passages, document titles and page or section metadata stay inspectable from answer to archive.

02 / LIVE SYSTEM FLOW

Two observable paths through one local system.

The interface confirms request-level stages from real API outcomes and returned metadata. It does not claim streamed, real-time backend events or invented timings.

Document ingestion

  1. 01Validate upload
  2. 02Extract text
  3. 03Chunk deterministically
  4. 04Create embeddings
  5. 05Index in Qdrant

Grounded question answering

  1. 01Retrieve passages
  2. 02Select evidence
  3. 03Assemble bounded context
  4. 04Generate with Ollama
  5. 05Validate citations
  6. 06Return answer
Completed question-answering flow
Completed question-answering flow

03 / WORKING FEATURES

A complete local document lifecycle.

  • PDF & TXT ingestion

    Extract text and retain stable document identity, filename, page or section metadata where available.

  • Deterministic indexing

    Content hashes detect duplicates; deterministic chunks and lightweight Sentence Transformers embeddings feed persistent Qdrant local storage.

  • Grounded answers

    Document text is treated as untrusted data. The prompt constrains generation to retrieved evidence and unsupported questions can return an insufficient-evidence response.

  • Validated citations

    Citation IDs are accepted only when they match retrieved passages, with title and page or section metadata returned alongside them.

  • Lifecycle management

    List, replace and delete one document at a time. Replacement keeps the existing document until the new upload indexes successfully.

  • CLI, API & web UI

    The same ingestion, retrieval and QA services power command-line workflows, FastAPI endpoints and the responsive browser interface.

04 / ARCHITECTURE

Small components. Explicit trust boundaries.

A buildless web interface calls a loopback FastAPI application. The backend owns validation, extraction, embeddings, Qdrant persistence, bounded retrieval context, Ollama generation and citation validation.

BROWSER → FASTAPI → QDRANT ↔ OLLAMA
Interface
Responsive HTML, CSS and JavaScript for uploads, the document archive, system-flow status, answers and inspectable citations.
API
FastAPI endpoints for health, upload, listing, replacement, deletion, retrieval and grounded question answering.
Ingestion
Python extraction for PDF and TXT, SHA-256 document identity and deterministic word-window chunking.
Retrieval
Sentence Transformers embeddings with Qdrant local mode for persistent vector search.
Generation
A configurable local Ollama model receives bounded evidence and an injection-resistant grounding prompt.
Validation
Returned citation IDs are checked against the retrieved passage set before the structured response is exposed.

05 / RELEASE VERIFICATION

Verified release evidence, with a narrow claim.

A6 release verification used the packaged wheel and a real installed Ollama gpt-oss:20b model. The retrieval benchmark contains six labeled, answerable questions in a small synthetic corpus.

Automated tests
40 passing
Recall@3
1.0
MRR
1.0
Answerable questions
6 synthetic

These perfect synthetic retrieval scores do not establish general RAG accuracy, answer quality or performance on real organizational documents.

06 / REAL SCREENS

All five screens come from the local application using synthetic documents. There is no hosted interactive demo.

07 / LOCAL EXECUTION

Run the real application locally.

ATLAST is local software, not a public API. It requires Python 3.12, uv and a locally installed Ollama model. The default embedding model is downloaded on first use and cached locally; ATLAST never downloads an Ollama model automatically.

git clone https://github.com/fadel-santiago/atlast.git
cd atlast
uv python install 3.12
uv sync --frozen
uv run --frozen atlast --db .atlast/qdrant ingest examples/sample.txt
uv run --frozen atlast --db .atlast/qdrant serve --ollama-model gpt-oss:20b --port 8000

08 / LIMITATIONS

Grounded knowledge, without hiding the source.

← All apps