llm-app vs sonic
Two of the top projects in RAG and search, side by side: who leads on each score part and who each one suits, then setup, license, activity and what each review found.
llm-app
YAML-configured RAG server that keeps a vector database synced with a document folder
sonic
Lightweight schema-less search index that returns object IDs, written in Rust
Verdict
Both score 82; llm-app ranks higher on stars, 58,711 to 21,377. Of the 4 score parts we measure for both, llm-app leads on 1, sonic on 1 and 2 are even.
- Adoptionllm-app leads by 14 points, 98 to 84.
- FreshnessEven at 100.
- Maintenancesonic leads by 13 points, 88 to 75.
- Agent-readyEven at 0.
Pick llm-app if you are
Teams wanting live, cited Q&A over a document folder without writing code
- Edits, additions and deletions propagate to the vector store as real upserts and deletes
- 8 backends: DuckDB (default, embedded), pgvector, Qdrant, Milvus, ChromaDB, Weaviate, Pinecone, MongoDB Atlas
Pick sonic if you are
Engineers needing a small full-text search index instead of Elasticsearch
- README benchmark: ~28MB RAM peak and ~880μs average query on 1M messages
- Built-in typo correction and autocomplete via the suggest operation
| What we compare | llm-app | sonic |
|---|---|---|
| Score parts, out of 100 | ||
| Adoption | 98, widely used | 84, widely used |
| Momentum | Not scored for this kind | Not scored for this kind |
| Freshness | 100, active | 100, active |
| Maintenance | 75, fair | 88, healthy |
| Agent-ready | 0, none | 0, none |
| Facts from GitHub and the README | ||
| Stars | 58.7k | 21.4k |
| License | MIT (permissive) | MPL-2.0 (copyleft) |
| Last commit | Nov 2026 | Oct 2026 |
| Last release | Nov 2026 | Oct 2026 |
| Language | Python | Rust |
| Docker | No | Yes |
| GPU | Optional | Not needed |
| arm64 or Apple Silicon | Not stated | Mentioned |
llm-app
serviette watches a folder or remote source (Google Drive, S3/MinIO, SharePoint, FTP/SFTP/WebDAV), parses and embeds documents with Pathway, and writes them to one of 8 vector databases. A separate stateless server hosts a web chat UI on / and a REST API under /api/v1 on port 8989, answering with cited sources. Edits and deletions in the source become upserts and deletes in the store within seconds.
Who it is for: Teams wanting live, cited Q&A over a document folder without writing code
Strengths
- Edits, additions and deletions propagate to the vector store as real upserts and deletes
- 8 backends: DuckDB (default, embedded), pgvector, Qdrant, Milvus, ChromaDB, Weaviate, Pinecone, MongoDB Atlas
- Indexer and server are separate processes sharing only the database; server scales horizontally
- Published benchmarks: 50 GB of text indexed at 14.65 GiB peak PSS, plus FRAMES retrieval results
Weaknesses
- Requires a Pathway license key, free but obtained via GitHub or LinkedIn sign-in
- No conversation memory or user accounts; answers one question at a time
- Default DuckDB backend is single-writer, so it suits laptops and demos only
- Local embeddings pull in PyTorch (about 0.8 GB for the CPU build)
- Python, OpenAI, LiteLLM, SentenceTransformers, Gemini
- Needs Pathway license key, Python with pip 23.1+, OpenAI API key (optional, for generated answers), Vector database (embedded DuckDB by default)
sonic
Sonic is a Rust search backend that indexes text pushed over its Sonic Channel TCP protocol and returns identifiers, which you resolve against your own database. It supports typo correction, autocomplete suggestions, and stop-word removal for 80+ languages, storing data in RocksDB and FST files. The README reports about 30MB RAM under load and sub-millisecond queries on a 1M-message benchmark.
Who it is for: Engineers needing a small full-text search index instead of Elasticsearch
Strengths
- README benchmark: ~28MB RAM peak and ~880μs average query on 1M messages
- Built-in typo correction and autocomplete via the suggest operation
- Buckets within collections allow separate per-user indexes
- Official client libraries for NodeJS, Rust and PHP, plus many community ones
Weaknesses
- Returns only identifiers; no document storage, so an external database is needed
- No HTTP API; access is only through the Sonic Channel TCP protocol
- master is bug-fix only while a v2 rework is underway
- Pre-built packages target 64-bit Debian 12 only; no semantic or vector search
- Rust
- Docker
More in RAG and search
Building with these?
We help teams pick an open-source AI stack and run it in production. Client work never changes a rank.