demo-bm25-qwen-judge
Metrics
| metric | mean | median | p10 | min | max | n | undefined |
|---|---|---|---|---|---|---|---|
| hit_rate@1 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| recall@1 | 0.906 | 1.000 | 0.500 | 0.500 | 1.000 | 16 | 1 |
| precision@1 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| ndcg@1 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| hit_rate@3 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| recall@3 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| precision@3 | 0.396 | 0.333 | 0.333 | 0.333 | 0.667 | 16 | 1 |
| ndcg@3 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| hit_rate@5 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| recall@5 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| precision@5 | 0.238 | 0.200 | 0.200 | 0.200 | 0.400 | 16 | 1 |
| ndcg@5 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| mrr | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 16 | 1 |
| exact_match | 0.059 | 0.000 | 0.000 | 0.000 | 1.000 | 17 | 0 |
| token_f1 | 0.418 | 0.412 | 0.043 | 0.000 | 1.000 | 17 | 0 |
| rouge_l | 0.387 | 0.389 | 0.043 | 0.000 | 1.000 | 17 | 0 |
| faithfulness | 0.909 | 1.000 | 0.500 | 0.500 | 1.000 | 11 | 6 |
| answer_relevancy | 0.294 | 0.250 | 0.250 | 0.000 | 0.500 | 17 | 0 |
| context_precision | 0.521 | 0.333 | 0.000 | 0.000 | 1.000 | 16 | 1 |
Distributions
hit_rate@1
mean 1.000 over 16 question(s)
recall@1
mean 0.906 over 16 question(s)
precision@1
mean 1.000 over 16 question(s)
ndcg@1
mean 1.000 over 16 question(s)
hit_rate@3
mean 1.000 over 16 question(s)
recall@3
mean 1.000 over 16 question(s)
precision@3
mean 0.396 over 16 question(s)
ndcg@3
mean 1.000 over 16 question(s)
hit_rate@5
mean 1.000 over 16 question(s)
recall@5
mean 1.000 over 16 question(s)
precision@5
mean 0.238 over 16 question(s)
ndcg@5
mean 1.000 over 16 question(s)
mrr
mean 1.000 over 16 question(s)
exact_match
mean 0.059 over 17 question(s)
token_f1
mean 0.418 over 17 question(s)
rouge_l
mean 0.387 over 17 question(s)
faithfulness
mean 0.909 over 11 question(s)
answer_relevancy
mean 0.294 over 17 question(s)
context_precision
mean 0.521 over 16 question(s)
Worst-performing questions by mean score
| id | question / answer | score | retrieved |
|---|---|---|---|
dense-weakness |
Where are dense retrievers weaker than BM25, and what is the common remedy?
metrics: APITimeoutError: Request timed out.
reference, metrics and judge verdictsreference: On rare identifiers, product codes and exact phrases; combining both kinds of retrieval in a hybrid search is the common remedy. |
- | dense-retrieval, hybrid-search, tf-idfrelevant: dense-retrieval, hybrid-search |
out-of-scope |
Who won the 1998 FIFA World Cup?
I could not find an answer in the documents. reference, metrics and judge verdictsreference: The documents do not cover this. hit_rate@1=-, recall@1=-, precision@1=-, ndcg@1=-, hit_rate@3=-, recall@3=-, precision@3=-, ndcg@3=-, hit_rate@5=-, recall@5=-, precision@5=-, ndcg@5=-, mrr=-, exact_match=0.00, token_f1=0.33, rouge_l=0.17, faithfulness=-, answer_relevancy=0.00, context_precision=- faithfulness: answer makes no factual claims
answer_relevancy: rated 1/5 - The answer does not address the question at all.
context_precision: no retrieved contexts
|
0.125 | |
postings-compression |
How are postings lists compressed?
Postings lists are often compressed. reference, metrics and judge verdictsreference: By storing the gaps between consecutive document identifiers and encoding them with variable-byte or similar encodings. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.00, rouge_l=0.00, faithfulness=-, answer_relevancy=0.25, context_precision=0.33 faithfulness: answer makes no factual claims
answer_relevancy: rated 2/5 - The answer is too vague and does not provide specific details on how postings lists are compressed.
context_precision:
|
0.673 | inverted-index, hybrid-search, rerankingrelevant: inverted-index |
bi-encoder |
Why can document embeddings be computed ahead of time in a bi-encoder?
Document embeddings can therefore be computed once, ahead of time, and only the query has to be encoded at search time. reference, metrics and judge verdictsreference: Because the query and the document are encoded independently. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.30, rouge_l=0.15, faithfulness=1.00, answer_relevancy=0.25, context_precision=0.00 faithfulness:
answer_relevancy: rated 2/5 - The answer mostly off-topic, it focuses on the search time encoding instead of explaining why document embeddings can be computed ahead of time.
context_precision:
|
0.696 | dense-retrieval, reranking, tf-idfrelevant: dense-retrieval |
ann-indexes |
Which approximate nearest neighbour indexes are used for dense retrieval?
Searching millions of vectors exactly is slow, so systems use approximate nearest neighbour indexes such as HNSW graphs or inverted file indexes with product quantisation. reference, metrics and judge verdictsreference: HNSW graphs or inverted file indexes with product quantisation. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.53, rouge_l=0.53, faithfulness=0.50, answer_relevancy=0.25, context_precision=0.00 faithfulness:
answer_relevancy: rated 2/5 - The answer mostly off-topic as it discusses approximate nearest neighbour indexes for dense retrieval, but does not specify which indexes are used.
context_precision:
|
0.702 | dense-retrieval, hallucination, hybrid-searchrelevant: dense-retrieval |
bm25-name |
What does the name BM25 stand for?
It belongs to the probabilistic relevance framework developed by Stephen Robertson and Karen Sparck Jones, and the name stands for "Best Matching 25", the 25th variant tried in the Okapi information retrieval system at City University London. reference, metrics and judge verdictsreference: Best Matching 25, the 25th variant tried in the Okapi system. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.43, rouge_l=0.43, faithfulness=-, answer_relevancy=0.25, context_precision=0.00 faithfulness: answer makes no factual claims
answer_relevancy: rated 2/5 - The answer provides irrelevant information about the name's origin instead of directly addressing what BM25 stands for.
context_precision:
|
0.702 | bm25, dense-retrieval, hybrid-searchrelevant: bm25 |
rrf-constant |
What value of k is usually used in reciprocal rank fusion?
Reciprocal rank fusion is a simple way to merge ranked lists. reference, metrics and judge verdictsreference: A value of 60. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.00, rouge_l=0.00, faithfulness=-, answer_relevancy=0.25, context_precision=1.00 faithfulness: answer makes no factual claims
answer_relevancy: rated 2/5 - The answer does not specify the value of k used in reciprocal rank fusion, only explaining what it is.
context_precision:
|
0.710 | hybrid-search, hallucination, bm25relevant: hybrid-search |
faithfulness |
How can the faithfulness of an answer be measured?
Faithfulness can be measured by splitting an answer into individual claims and checking each claim against the retrieved passages. reference, metrics and judge verdictsreference: Split the answer into claims and check each claim against the retrieved passages; the score is the fraction of supported claims. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.53, rouge_l=0.53, faithfulness=-, answer_relevancy=0.25, context_precision=0.00 faithfulness: answer makes no factual claims
answer_relevancy: rated 2/5 - The answer focuses on a method for measuring faithfulness rather than directly addressing how faithfulness of an answer can be measured.
context_precision:
|
0.713 | hallucination, chunking, inverted-indexrelevant: hallucination |
vocabulary-mismatch |
Which retriever suffers from vocabulary mismatch, and which kind of retrieval can match documents that use different words?
Its main weakness is vocabulary mismatch: a relevant document that uses different words from the query receives no credit for those words. reference, metrics and judge verdictsreference: BM25 suffers from vocabulary mismatch; dense retrieval can match documents that use different words from the query. hit_rate@1=1.00, recall@1=0.50, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.67, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.40, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.39, rouge_l=0.39, faithfulness=1.00, answer_relevancy=0.25, context_precision=0.00 faithfulness:
answer_relevancy: rated 2/5 - The answer mostly off-topic, only briefly mentioning vocabulary mismatch without addressing the specific retriever and kind of retrieval needed.
context_precision:
|
0.715 | bm25, dense-retrieval, tf-idfrelevant: bm25, dense-retrieval |
bm25-k1 |
What does the k1 parameter control in BM25?
Term frequency saturation is controlled by the parameter k1. reference, metrics and judge verdictsreference: k1 controls term frequency saturation: how quickly repeated occurrences of a term stop adding to the score. hit_rate@1=1.00, recall@1=1.00, precision@1=1.00, ndcg@1=1.00, hit_rate@3=1.00, recall@3=1.00, precision@3=0.33, ndcg@3=1.00, hit_rate@5=1.00, recall@5=1.00, precision@5=0.20, ndcg@5=1.00, mrr=1.00, exact_match=0.00, token_f1=0.35, rouge_l=0.26, faithfulness=1.00, answer_relevancy=0.25, context_precision=0.33 faithfulness:
answer_relevancy: rated 2/5 - The answer does not directly address the k1 parameter in BM25 but instead talks about term frequency saturation, which is not the focus of the question.
context_precision:
|
0.722 | bm25, dense-retrieval, hybrid-searchrelevant: bm25 |
Errors (1)
dense-weaknessmetrics: APITimeoutError: Request timed out.