curl.
Before you start
You need a Linux x86_64 machine: the local stack runs only there today. Check each tool:
The first start downloads the pinned container images and the embedding model, about 1 GB.
Run Quivr and try it
1
Start Quivr
Clone the repository and start the local stack:Point your shell at it. This sets the API address, a local API key and the webhook destination the last step uses:
make dev starts PostgreSQL, Temporal, S3-compatible storage, Weaviate and an embedding server in Docker, builds the quivr binary, and runs its API and worker. When it is ready it prints the API address:2
Create a Corpus
A Corpus is a collection of articles you search together. Create one:Keep its identifier for the next steps:Every request that creates something carries an
idempotency_key. Send the same request again and you get the same Corpus back, never a second one.3
Add an article
Each article is a Record. Quivr answers as soon as the article is stored safely, with an Ingestion Receipt. Processing happens in the background. Read the Receipt until its
namespace says where it comes from and record_key is its identity there:state is resolved, usually within a second:4
Search by keyword
5
Search by meaning
The worker also turns each article into vectors, a few seconds after it arrives. Search with words the article does not contain:Without
mode, a search is hybrid: it combines keywords and meaning.6
Get alerted on a topic
An alert has two parts. A Saved Query holds what to look for, here any article that mentions a library or a museum:A Subscription turns it on. It names the plugin that decides each match, here the keyword rules of the first-party The alert watches articles that arrive from now on. Add one that matches:Within seconds the alert catches it. Each catch is a Match, with evidence that says why:Quivr also sends each Match as a signed webhook to the destination. The local stack’s destination delivers nowhere, so here you read Matches through the API.
alerts plugin, and where to send notifications:What you built
You ran the whole engine on your machine: durable ingestion, keyword and semantic search with exact excerpts, and an alert decided by a plugin.make down stops the stack and keeps its data; make reset deletes it. The requests above use fixed idempotency keys, so to run them again from scratch, make reset first.
Core concepts
The few ideas behind what you just did: Corpus, Record, Version, search and alerts.
Build your first plugin
Teach Quivr to read a new file format, and search it.
Add content
Send batches and files, correct and withdraw articles.
Keyword alerts
Write alert queries and read what matched.