Jess Wang12 minAmazon Bedrock Knowledge Bases is AWS's managed RAG service that lets customers use business documentation and data to make AI smarter about their business. Ring uses it to create a customer-facing support chatbot for troubleshooting documentation. Miro uses it to enrich software bug reports with internal Jira tickets and source code.
The point of this eval is to measure how well Amazon Bedrock Knowledge Bases answers factual questions. How well does it retrieve usable evidence, generate a correct answer, include citations, and abstain when it does not have enough information?
Nova 2 Lite answered the most questions correctly and left the fewest unanswered. But when the expected source page was missing, it gave 28 of the 36 answers that weren’t supported by the sources it cited. Nova Lite v1 left the most questions unanswered, even when the retrieved text contained the answer.
We used the KILT dataset, which is a frozen snapshot of Wikipedia from 2019, paired with questions and answers based on those pages. For each question, it also records the Wikipedia page that should contain the supporting information.
To run the evaluation, we ingested 100,000 pages from KILT's Wikipedia corpus into Amazon Bedrock Knowledge Bases. In this ingestion process, Bedrock:
We then selected a fixed set of 100 answerable KILT questions and verified that each question’s expected Wikipedia source page was among the 100,000 pages we ingested. So, when a user asks a question like "is a bee an animal or an insect?", this is what happens:
k chunks most semantically similar to the question.RetrieveAndGenerate gives the retrieved k chunks to the selected generation model.Once the answer is generated, we score it against these main criteria:
We used Amazon Nova Lite v1, Amazon Nova 2 Lite, and Claude Sonnet 4.6 for our generation models. We chose these models because they were available through Bedrock. Accessing other models required additional permissions and sales approval.
GPT-OSS-120B was the primary LLM judge for factuality and claim support because it was cost-effective, and we wanted to avoid having the same models generate and judge their own output. For each generation model, we tested two retrieval depths, k=5 and k=10, and two answer styles. Natural allowed a normal-length response, while concise required the shortest direct answer.[2]
Task factuality measures accuracy across all questions, including those the model declined to answer. Answer-conditional factuality measures accuracy only among questions with a usable answer.
With the corpus, embeddings, and chunking held fixed,[5] factuality, claim support, inclusion of citations, and abstention behavior still varied substantially across models.
We also ran a small additional check on how well our judge was performing. On a sample of 120 responses, half marked correct and half incorrect[6], we swapped in DeepSeek R1 as a judge and found 86.7% agreement with our original judge, with Cohen's κ of 0.733.
DeepSeek was slightly more permissive. Of the 16 disagreements, it gave credit to 14 answers that GPT-OSS marked incorrect, while GPT-OSS gave credit to two answers that DeepSeek marked incorrect.
Retrieving more chunks did not reliably improve the main factuality result.
In the paired comparison, 33 answers to the same questions under the same model and answer style changed from incorrect at k=5 to correct at k=10. Twelve of those 33 improvements, or 36%, gained a new answer-supporting chunk at ranks 6 through 10.
However, these 12 improvements came from two repeated questions across the six configurations, so this is a very narrow benefit.
There were also 31 regressions, meaning an answer that was correct at k=5 is now incorrect at k=10. The top five standalone Retrieve chunks were identical for all 31 regressions, and 27 still had an answer-supporting chunk at both depths. In these cases, the model may choose a different answer, decide to abstain, or include different unsupported details after it sees the additional ranks 6 through 10.[5]
k chunks, so the citations were often related context used to explain the abstention. For example, one case cited an article introduction that named the relevant entity without containing the needed fact.Averages across all 100 questions mix answer style with whether the model answered at all. This chart includes only questions where both concise and natural produced valid answers, so it compares answer style rather than abstention behavior.[8]
In this graph, each bar represents natural minus concise in percentage points. Positive values favor natural, and negative values favor concise.
Concise factuality was equal or higher in all six matched comparisons. A plausible explanation for the factuality pattern is that a shorter direct answer gives the model fewer chances to add an incorrect or irrelevant factual claim.
We grouped questions by type to identify patterns in what the system struggled to answer. One question can belong to more than one category.
Another way to assess question difficulty is to compare the questions that all models struggled to answer with the questions that all models answered correctly.
Twenty-five questions, or 25% of the set, received zero answers that GPT-OSS judged factually correct in all four configurations of each model. In other words, every attempt for those questions either abstained, produced unusable output, or gave an answer GPT-OSS judged incorrect. At the other extreme, 20 questions, or 20% of the set, were correct in all four configurations of every model. These two groups help separate questions that are likely difficult across configurations from questions that are consistently easy, while the remaining 55 questions show where model and answer style change the outcome.
Nova 2 Lite concise at k=10 had the highest observed factuality on the 100 answerable questions. That is useful, but it is only one side of the decision. This experiment design rewards a system for answering when it has the required source. We also wanted to test whether the system could recognize when required evidence is missing and correctly abstain instead of hallucinating.
To test that behavior, we ran a separate 50-question negative control. For every question, we verified that its expected Wikipedia source page was excluded from the ingested corpus. Abstention is the conservative default outcome, although duplicate evidence can still appear on another ingested page.
“Supported” and “unsupported” apply to the 94 answers, not to the 506 abstentions.
Of the 600 responses, 506 (84.3%) abstained and 94 (15.7%) had an answer. Of the 94 answers, 58 were supported, meaning that although their expected Wikipedia source page was not in the corpus, other ingested articles contained enough evidence to answer the question. The other 36 (38.3%) were unsupported.[9]
Those 36 unsupported answers are 6.0% of all 600 responses in the control test. They are the strongest candidates for a failure to abstain because their cited sources contained no supporting evidence. Of these 36, 28 (77.8%) were from Nova 2 Lite. On the answerable set, Nova 2 Lite's willingness to answer contributed to its strong factuality and low abstention rate. In this control test, the same tendency produced most of the unsupported answers.
Retrieval and generation can fail separately. We evaluated the generation portion of the pipeline, but a further iteration could test retrieval by varying chunk sizes and overlap settings, the embedding model, or by using hybrid search instead of semantic search.
It's also important to test questions whose expected source page was missing. Other pages may still contain enough evidence to answer, so check whether the cited sources support the response.
How readily the system should answer depends on the product you're building. An internal research assistant for analysts may reasonably answer more aggressively, as long as it shows citations and a person can verify them. A medical-triage tool should lean toward abstention when the evidence is insufficient. In those settings, a confident unsupported answer can have bad consequences.
If you want to evaluate a RAG system like AWS Bedrock Knowledge Bases, try Braintrust for free.
| Generation model | Answer style | k | Task factuality | Answer-conditional factuality | Claim support | Gold-page recall@k | Supporting-chunk recall@k | Abstained | Status S / A / B+ / B− / E |
|---|---|---|---|---|---|---|---|---|---|
| Nova Lite v1 | Concise | 5 | 34% | 34/42 (81.0%) | 94.7% across 41 answers with cited evidence | 95% | 74% | 55% | 41 / 55 / 1 / 3 / 0 |
| Nova Lite v1 | Natural | 5 | 58% | 58/78 (74.4%) | 89.8% across 78 answers with cited evidence | 95% | 73% | 22% | 78 / 22 / 0 / 0 / 0 |
| Nova 2 Lite | Concise | 5 | 64% | 64/88 (72.7%) | 86.6% across 88 answers with cited evidence | 95% | 74% | 12% | 88 / 12 / 0 / 0 / 0 |
| Nova 2 Lite | Natural | 5 | 62% | 62/89 (69.7%) | 90.4% across 90 answers with cited evidence | 95% | 74% | 11% | 89 / 11 / 0 / 0 / 0 |
| Claude Sonnet 4.6 | Concise | 5 | 63% | 63/88 (71.6%) | 86.1% across 88 answers with cited evidence | 95% | 73% | 12% | 88 / 12 / 0 / 0 / 0 |
| Claude Sonnet 4.6 | Natural | 5 | 58% | 58/87 (66.7%) | 87.4% across 91 answers with cited evidence | 95% | 74% | 13% | 87 / 13 / 0 / 0 / 0 |
| Nova Lite v1 | Concise | 10 | 33% | 33/41 (80.5%) | 97.5% across 40 answers with cited evidence | 96% | 76% | 52% | 40 / 52 / 1 / 7 / 0 |
| Nova Lite v1 | Natural | 10 | 57% | 57/78 (73.1%) | 88.6% across 78 answers with cited evidence | 96% | 77% | 20% | 78 / 20 / 0 / 2 / 0 |
| Nova 2 Lite | Concise | 10 | 66% | 66/89 (74.2%) | 87.6% across 89 answers with cited evidence | 96% | 78% | 11% | 89 / 11 / 0 / 0 / 0 |
| Nova 2 Lite | Natural | 10 | 64% | 64/92 (69.6%) | 89.5% across 92 answers with cited evidence | 96% | 78% | 8% | 92 / 8 / 0 / 0 / 0 |
| Claude Sonnet 4.6 | Concise | 10 | 63% | 63/88 (71.6%) | 89.7% across 90 answers with cited evidence | 96% | 75% | 12% | 88 / 12 / 0 / 0 / 0 |
| Claude Sonnet 4.6 | Natural | 10 | 58% | 58/86 (67.4%) | 86.7% across 89 answers with cited evidence | 96% | 78% | 14% | 86 / 14 / 0 / 0 / 0 |
A newsletter for unfiltered thoughts on eval methodology, analysis, and failures
Subscribe