technical_line: Hybrid search, graph indexing, and vector-symbolic memory.
tagline: Search and memory that run entirely on your machine.
lede: >-
WARM is a local-first document search engine and a vector-symbolic associative memory in one
store. Hybrid BM25 and exact-cosine retrieval, byte-offset hits, crash-safe persistence, and
superposed memory you can bind, bundle and query. No service calls and no telemetry.
license: Apache-2.0
announcement:
text: ""
url: ""
runtimes:
- id: rust
name: Rust
status: available
install: cargo add warm-rust --features security
requires: [Cargo.toml, examples/quickstart/rust/src/main.rs]
snippets:
- examples/quickstart/rust/src/main.rs:ingest
- examples/quickstart/rust/src/main.rs:hit
note: The engine itself. Every other runtime is a surface over it.
- id: python
name: Python
status: available
install: uv pip install warm-sdk
requires: [bindings/python/warm-sdk/pyproject.toml, examples/quickstart/python/quickstart.py]
snippets:
- examples/quickstart/python/quickstart.py:ingest
- examples/quickstart/python/quickstart.py:hit
note: An HTTP client for warm-server. The warm-python wheel provides native vector search and phase vectors.
- id: node
name: Node
status: available
install: npm install writerslogic-warm
requires: [index.d.ts, examples/quickstart/node/quickstart.mjs]
snippets:
- examples/quickstart/node/quickstart.mjs:ingest
- examples/quickstart/node/quickstart.mjs:hit
note: The npm package installs a native binary for your platform. Building from source requires Rust.
features:
- title: Hybrid search
body: Stemmed BM25 fused with exact cosine over embeddings you supply. Hits carry the passage and its byte range.
link: quickstart/index.md
- title: Vector-symbolic memory
body: Sparse binary hypervectors with bind, bundle and permute, a triple store with multi-hop queries, Hopfield cleanup and a resonator network.
link: concepts/holographic.md
- title: Crash-safe storage
body: Atomic batches, a mmap segmented log with generations, and replay. A store is a directory.
link: production-readiness.md
- title: Hardening you opt into
body: AES-256-GCM stores, signed audit logs, credential-gated agents and COSE/SCITT provenance behind Cargo features.
link: PRIVACY.md
- title: Local by construction
body: The engine makes no network calls and sends no telemetry. The optional HTTP server is yours to run.
link: concepts/privacy-limits.md
- title: Measured, including losses
body: Every number on this site traces to a committed results file, and the benchmark pages say where another system wins.
link: PUBLIC-BENCHMARKS.md
headline:
title: Hybrid retrieval on SciFact
file: benchmarks/results/public_scifact.json
metric: metrics.hms_hybrid.ndcg_at_10
metric_label: nDCG@10
compare:
- label: WARM dense (exact cosine)
metric: metrics.hms_dense_exact.ndcg_at_10
- label: WARM lexical (stemmed BM25)
metric: metrics.hms_lexical.ndcg_at_10
context: BEIR SciFact test split, 300 queries over 5,183 documents, MiniLM-L6-v2 embeddings (384 dimensions).
caveat: The published BM25 figure (0.665, Thakur et al. 2021) is quoted from the BEIR paper, not re-run here.
published:
- label: BM25 as published in BEIR
value: 0.665
source: https://arxiv.org/abs/2104.08663
link: PUBLIC-BENCHMARKS.md
chart:
title: Vector search on nytimes-256-angular
file: benchmarks/results/public_qgraph_nytimes-256-angular.json
recall_targets: ["0.90", "0.95"]
warm_prefix: HMS
annotations:
"WARM VGraph (4-bit codes, rerank)": opt-in encoding that ran at lower machine load than the other rows; the benchmark page treats it as unconfirmed.
link: PUBLIC-BENCHMARKS.md
comparison_fallback:
- benchmarks/results/public_scifact.json