AI and LLMRetrievalPerformance and Scale plans

RAG Knowledge Assistants

Answer questions over your own documents with chunking, metadata filters, hybrid vector and keyword search, and cached rerank scores, in one engine.

chunking strategies
3
vector + BM25 search
Hybrid
extra vector databases
0
Step 1 of 5
Define the pipeline

One chunk per paragraph. Use your embedding model's dimensions (3 keeps the example short).

Example sessionplaying
# Define the pipeline
hotkv> RAG.CREATE faq 3 STRATEGY paragraph
OK

An animated walkthrough with real HotKV commands and example replies. Click any step to jump to it.

The problem

A retrieval pipeline usually means a vector database, a keyword index, a chunking job, a reranker and glue code between them. Each piece is another service to run, secure and keep in sync with your documents, and the reranker is often the slowest and most expensive step.

How HotKV handles it

HotKV puts the pipeline in the engine that already serves your application. Define a pipeline, ingest documents, and search it. Chunking, document metadata and hybrid search that mixes vector similarity with BM25 keyword scoring all run server-side, and a rerank cache keeps cross-encoder scores so a repeated query and passage pair is never scored twice.

Step by step

What happens, command by command

  1. 01

    Define the pipeline

    One chunk per paragraph. Use your embedding model's dimensions (3 keeps the example short).

    RAG.CREATE faq 3 STRATEGY paragraph
  2. 02

    Ingest documents

    Each document is chunked server-side and stored with its metadata and one vector per chunk.

    RAG.INGEST faq doc:1 "To reset your password, click Forgot password on the login screen.\n\nBilling questions go to the billing team." META source help-center VECTORS 0.9,0.1,0.0 0.0,0.2,0.9
  3. 03

    Hybrid search

    Vector similarity and keyword relevance in one query, restricted to one source.

    RAG.SEARCH faq "how do I reset my password" K 2 ALPHA 0.5 VECTOR 0.88,0.12,0.01 FILTER source help-center
  4. 04

    Rerank, but only once

    Scores from the cross-encoder are cached per query and chunk, in a namespace made with RERANK.CREATE, so a popular query does not pay for reranking again.

    RERANK.GET faq_scores "reset password|doc:1:0"
  5. 05

    Answer, and check the pipeline

    The best chunks go to the model as context, so the answer comes from the help center instead of a guess. RAG.STATS shows what the pipeline holds.

    RAG.STATS faq
Where it fits

Real-world scenarios

Help center assistants

Articles and resolved tickets are ingested with their product and language as metadata. Each answer is grounded in the right product's documentation.

Legal and policy search

Contracts and policies are split by paragraph so retrieved passages are complete clauses, and keyword scoring catches exact terms such as clause numbers.

Engineering knowledge

Runbooks, design documents and postmortems become searchable by meaning for an on-call assistant.

Built in

What you get

Chunking in the engine

Fixed-size, sentence or paragraph chunking. Fixed-size chunks take a size and overlap you choose.

RAG.CREATE

Hybrid search

Vector similarity and BM25 keyword scoring in one query, with ALPHA setting the balance.

RAG.SEARCH

Metadata filters

Attach key and value pairs at ingest and filter on them at search time.

RAG.INGESTFILTER

Rerank cache

Keep cross-encoder scores for query and passage pairs so repeats are free.

RERANK.GETRERANK.SET

Common questions

Does HotKV create the embeddings?

No. You generate embeddings with the model you prefer and pass them with VECTORS when ingesting and VECTOR when searching.

Can I search without vectors?

Yes. RAG.SEARCH takes the query text for keyword scoring, and the VECTOR option adds vector similarity. ALPHA sets how the two scores are blended.

Which plans include it?

RAG pipelines and the rerank cache are part of the Performance and Scale plans.

Related use cases

Try it on your own workload

HotKV speaks the Redis protocol, so you can point an existing client at it and run these same commands.