Quick Answer: Measure RAG retrieval by freezing the corpus, running a labeled query set, and scoring whether the right chunks appear in the top k. Do not start with chatbot thumbs-up. Generation can hide a dead index or blame a live one.
RAG retrieval performance is the measured rate at which a retriever returns the judged-relevant chunks for a query before any generator writes an answer. Enterprise teams use it to decide whether to change chunking, embeddings, filters, or the index itself. Latency and cost are separate instruments.
This page is a measurement method. It is not a hybrid-search architecture guide and not a security audit of the corpus. If you cannot name k, the gold documents, and the corpus version, you are scoring anecdotes.
Which metrics actually describe retrieval?
| Metric |
What it answers |
When it misleads |
| Recall@k |
Did any gold chunk appear in the top k? |
Ignores order if you only need “present” |
| Hit rate |
Share of queries with at least one gold hit |
Same as recall@k when each query has one gold set |
| MRR |
How soon the first gold chunk appears |
Punishes useful later passages on long queries |
| nDCG@k |
Did graded relevance land near the top? |
Needs graded labels, not binary bookmarks |
| Precision@k |
How much of the window is junk? |
Looks fine while recall is collapsing |
Pick one primary metric and keep it for a quarter. Recall@k is the usual primary for regulated search because missing a policy clause is worse than ranking it third. Add MRR when users only read the first passage. Add nDCG when legal and FAQ chunks have different value.

Do not mix faithfulness, toxicity, or answer exact-match into the retrieval score. Those measure the generator and the prompt. A perfect answer from a leaked system prompt can coexist with a broken index. Split the reports.
How do you build a gold set that survives a week?
Start from production queries, not from titles you wish users typed. Sample across easy lookups, rare identifiers, and adversarial paraphrases. For each query, mark the chunk IDs that must appear, not the whole source PDF. Two annotators should agree or the item is dropped.
Freeze the corpus hash and the embedding model name with the gold set. If someone rebuilds chunks, the labels expire. Store the index build ID next to the score. Teams that “refresh the index” and keep old labels invent regressions.
Size is a judgment, not a trophy. A few hundred well-agreed queries beat thousands of noisy clicks. Add new queries when a product line or a policy corpus ships. Retire queries whose documents were deleted on purpose so deletion does not look like a recall crash.
What is the measurement procedure?
Run the retriever only. Disable the generator, rerank experiments you are not measuring, and any cache that can serve yesterday’s neighbors. Send each gold query with the same filters production uses: tenant, ACL, language, time window.
Record k that matches the prompt budget. If the model sees eight chunks, score @8, not @100. Publish recall@k, the count of queries, the corpus ID, and the time window. That four-tuple is the result. A chart without those fields is decoration.
Compare one change at a time. A new embedding model plus a new chunk size plus a new filter is not an experiment. If you must ship a bundle, keep a holdout query slice that still runs against the previous index on AI storage architecture that can hold both indexes without mixing IDs.
Which failure modes look like “the model got worse”?
ACL filters that suddenly drop gold chunks look like recall loss. They may be a security fix. Annotate those queries as out of scope instead of tuning embeddings to leak. Empty filters in the test harness look like recall gain. They are a leak.
Clock-skewed document versions produce two gold IDs for one clause. Pick the version the generator is allowed to cite. Embedding backfills that skip a collection produce silent zeros. Count documents in and documents out after every rebuild.
Serving Decision Matrix: Enterprise LLM Inference Infrastructure
| Serving Infrastructure Model |
Compute & Memory Contention |
P99 Tail Latency Predictability |
Multi-GPU Tensor Parallelism Support |
Optimal Enterprise Workload Fit |
| Shared Multi-Tenant Model APIs |
Multi-tenant shared workers; opaque resource pooling |
Severe tail latency jitter during peak concurrency spikes |
Black-box; no control over model parallelism or KV cache sizing |
Low-volume prototyping or asynchronous background tasks |
| Virtualized Cloud GPU Instances |
Hypervisor vGPU slices subject to CPU/PCIe interrupts |
Moderate jitter caused by neighboring tenant network bursts |
High inter-node latency limits multi-GPU tensor scaling (TP=4/TP=8) |
General internal apps with modest throughput requirements |
| OneSource Dedicated Private GPUs |
Dedicated bare-metal hardware with 100% VRAM & compute reservation |
Deterministic microsecond P99 response times under peak load |
Dedicated RoCE v2 RDMA fabric enables low-latency TP=4/TP=8 scaling |
Mission-critical, low-latency, regulated enterprise production serving |
Private GPU retrieval does not change the math. Exclusive cards on private AI infrastructure keep the corpus and the query text off shared hosts. They do not score relevance for you. OneSource Cloud can host the embedding jobs. The gold labels still belong to the search owner.
How should operations watch retrieval after launch?
Schedule the gold set on the production index, not only in a notebook. Alert when recall@k drops beyond an agreed band or when the retrieved document count per query collapses. Pair the alert with index build age so a stuck job is obvious.
Sample live queries weekly for new gold candidates. Users change vocabulary after a launch. A frozen 2024 set will not see a 2026 product name. Do not put a year in the dashboard title unless the corpus itself is time-bounded.
OnePlus Platform, OneSource Cloud's AI orchestration platform, can isolate the evaluation job’s GPU quota from serving so a nightly recall run cannot steal tokens from production. Isolation is scheduling. It is not a quality number.
Optimizing production LLM inference requires seamless coordination across compute acceleration, host memory bandwidth, and low-jitter cluster connectivity. Deploying serving frameworks (such as vLLM, TensorRT-LLM, or TGI) on OneSource Cloud dedicated AI infrastructure provides the hardware determinism required to enforce strict Service Level Objectives. With dedicated bare-metal NVIDIA GPUs interconnected via high-bandwidth NVLink within nodes and non-blocking RoCEv2 fabrics across nodes, serving fleets achieve tightly bounded P99 Time to First Token (TTFT) and Time Per Output Token (TPOT), eliminating the latency spikes inherent in multi-tenant shared cloud environments.
FAQ
Is retrieval latency part of retrieval performance?
Only if you explicitly define a joint SLO. This method treats quality and latency as separate scores. A 20 ms retriever that misses the policy chunk is a quality failure. A slow retriever that always hits can still be unfit for interactive chat. Publish both. Do not average them into one “health” percentage.
Do we need a reranker before we measure?
Measure the candidate generator first, then the reranked window, as two rows. If you only score the reranker, you will not see a collapsed first-stage recall. Enterprise stacks that add a cross-encoder without a first-stage baseline cannot tell which stage they paid for.
How is this different from answer quality evals?
Answer evals score the string the user saw. Retrieval evals score the evidence the model was allowed to see. You can pass answer evals with a memorized model and a dead index. You can fail answer evals with perfect retrieval and a bad prompt. Keep the files apart.
Can we use LLM-as-judge instead of human gold?
Use a judge only to suggest candidates. Humans still accept the gold IDs for any corpus that can create legal or medical harm. Judges drift when the prompt or the judge model changes. Treat judge-only scores as a development smoke test, not a release gate.
Where should the evaluation index live?
On the same tenancy and region as production if filters and residency rules apply. A laptop index with ACLs stripped will overstate recall. U.S. workloads that cannot leave a named facility should run the gold set there, including Texas / Richardson environments when that is the production boundary.
How does OneSource Cloud infrastructure stabilize LLM inference latency and throughput?
OneSource Cloud provides dedicated bare-metal GPU servers with high-speed PCIe Gen5 NVMe caching and direct NVLink interconnects. By eliminating virtualization overhead, multi-tenant memory bus contention, and noisy-neighbor network cross-talk, OneSource ensures that serving frameworks achieve predictable batch scheduling, bounded P99 token latency, and maximum throughput under sustained enterprise request concurrency.
Summary
Enterprise RAG retrieval performance is recall of labeled chunks at the k your prompt actually uses, on a frozen corpus, with production filters on. Latency, tokens, and answer style are other scores. Change one retrieval variable at a time and keep the gold IDs versioned.
Run the jobs on exclusive GPUs when the queries themselves are sensitive. OneSource Cloud can provide that boundary and the storage for two indexes. The judgment of “relevant” remains an editorial act. Review the OneSource Cloud retrieval hosting options only after the gold set exists.