Skip to content

Demo: one command plus a live provider swap

The reference demo is docker compose up: it ingests a bundled messy sample corpus (mixed PDFs, scans, office docs, and a couple of deliberately dangerous files to exercise Screening) and produces parsed markdown, a browsable knowledge graph, and the Quality Report — CPU-only, no cloud, no GPU. The decisive moment is changing ONE line of pipeline config to swap a Provider (local GLiNER → Azure Comprehend, local embeddings → Bedrock) and rerunning the identical Pipeline, demonstrating model- and cloud-agnosticism concretely rather than by assertion. A thin, self-contained web viewer renders the KG and report. Rejected: a notebook walkthrough (reads as a script, hides the ops story — resume, storage-agnostic, Runners), a cloud-deployed stack on personal infra (undercuts "runs in your environment," not handable to a client), and three vertical demos (3× solo build plus domain-data tuning before the start date).


S13 build note — how the demo is realised. Shipped as the latence-demo package (the CPU demo set of ADR-0016): a deterministic, code-generated bundled messy corpus (mixed text/markdown + a real multi-page PDF + deliberately dangerous fixtures — a type-spoofed file, a zip bomb, an oversized file, and a prompt-injection document — auditable Python, no opaque binaries); the full-spine demo Pipeline (build_pipeline) composing S1–S9; a DemoBuilder that stages the corpus, runs the Pipeline on the built-in LocalRunner (CPU-only, offline), and composes the showable artifact; and export.demo_site, an Export Provider (registered via latence.providers) that renders the knowledge graph — nodes, edges, and per-edge Evidence — as ONE self-contained HTML file on Storage (all CSS/JS/graph inlined; no external CDN or network), exactly as ADR-0017 makes the KG a portable file rather than a live DB. The one-line Provider swap is build_pipeline(entity_provider=…) / latence-demo --entity-provider … (default the in-core gazetteer; entity.gliner local model or entity.endpoint cloud reruns the identical Pipeline), with examples/demo-pipeline.yaml and examples/demo-pipeline.swap.yaml the committed one-line diff. docker compose up runs the identical code with no credentials; the command exits non-zero if a planted dangerous fixture slips through or contract-completeness fails, so the demo doubles as a smoke test.