Self-hosted RAG in twenty lines with CDOC
Add documents, auto-chunk them, search with metadata filters and reranking, a working retrieval pipeline without a separate vector database.
If your corpus fits a cache, you don't need a separate vector database to do retrieval. CDOC gives you add, chunk, filter, and rerank inside Crowkis, sharing the bundled embedder, so a RAG pipeline is twenty lines, not a second service.
from crowkis import CrowkisClient
db = CrowkisClient(host="127.0.0.1", port=6379, tenant="docs")
# auto-chunk a long doc into overlapping passages, attach metadata
db.cdoc_add(
id="policy-2026",
text=long_policy_text,
chunk=512, overlap=64,
meta={"team": "legal", "year": "2026"},
)# filtered ANN search, reranked by the bundled cross-encoder
results = db.cdoc_search(
"how long is the refund window?",
k=5,
filter={"team": "legal"},
rerank=True,
)
for r in results:
print(r.score, r.id, r.text[:80]) # [id, text, score] triplesField-level filters narrow the search before it runs, and the optional rerank pass, the same cross-encoder that lifts the memory benchmarks, sharpens the ordering. Your documents are embedded and searched locally, which matters when the documents are contracts or tickets you can't ship to a hosted API.
In plain words. Add documents, search them by meaning with filters, get reranked results, all inside Crowkis, with nothing leaving your machine and no separate vector DB to run.