RAGAS Evaluation

Systematic quality measurement of our RAG pipeline using RAGAS (Retrieval Augmented Generation Assessment) metrics, scored using the official RAGAS Python framework with Claude as the evaluator LLM.

Last evaluated: April 6, 202615 test cases

1

What is RAGAS?

Previous

Traditional Evaluation

  • Manual spot-checking of search results
  • Vibes-based quality assessment
  • No systematic measurement framework
  • Hard to detect regressions between changes
Current

RAGAS Framework

  • 4 standardized metrics covering retrieval + generation
  • LLM-as-judge for automated, scalable evaluation
  • Curated test dataset with ground truth answers
  • Reproducible scores for regression detection

Implementation note: Scored using the official RAGAS Python library (v0.4) with Claude Haiku as the evaluator LLM. A two-stage pipeline runs queries through the live RAG system (TypeScript), then scores the outputs using the industry-standard RAGAS framework (Python).

2

Overall Scores

100%

Routing

Query classification accuracy

65%

Faithfulness

Answers grounded in retrieved context

75%

Relevancy

Answers address the actual question

54%

Ctx Precision

Retrieved docs are relevant & well-ranked

76%

Ctx Recall

Retrieved docs cover the ground truth

3

Scores by Query Type

Simple Lookup

5 queries
Faith
91%
Relev
74%
CPrec
90%
CRec
90%

🧠Advisory

3 queries
Faith
45%
Relev
86%
CPrec
15%
CRec
100%

⚖️Comparison

2 queries
Faith
57%
Relev
77%
CPrec
75%
CRec
33%

🚫Off-Topic

3 queries
Faith
100%
Relev
100%
CPrec
100%
CRec
100%

🧪Edge Case

2 queries
Faith
39%
Relev
59%
CPrec
0%
CRec
50%
4

Individual Test Results

013M N95 respiratorHybrid75%
87%
Faithfulness
62%
Relevancy
50%
Ctx Precision
100%
Ctx Recall

Retrieved Products (20)

SF-001SF-002SF-003HV-002SF-012SF-014SF-010SF-009SF-011SF-016+10 more

Generated Answer

We have two excellent 3M N95 respirator options available. The 3M 8210 offers basic NIOSH-approved N95 protection, while the 3M 8511 features a Cool Flow valve for improved comfort during extended wear. Recommended products: 3M 8210 N95 Particulate Respirator (20 pack): NIOSH-approved N95 disposabl...

Latency: 8078ms

0220-amp GFCI circuit breakerHybrid93%
92%
Faithfulness
79%
Relevancy
100%
Ctx Precision
100%
Ctx Recall

Retrieved Products (20)

EL-003EL-007EL-004EL-001EL-008EL-009EL-005EL-013EL-006EL-002+10 more

Generated Answer

For 20-amp GFCI protection, I recommend the Square D QO 20-Amp GFCI Circuit Breaker which provides Class A 5mA GFCI protection with self-test functionality. If you need both arc-fault and ground-fault protection for areas like bedrooms or kitchens, consider the Square D dual-function AFCI/GFCI break...

Latency: 8848ms

03Klein Tools wire stripperHybrid82%
100%
Faithfulness
78%
Relevancy
100%
Ctx Precision
50%
Ctx Recall

Retrieved Products (20)

TL-001TL-002TL-003PL-001EL-010EL-011EL-005TL-011TL-006TL-014+10 more

Generated Answer

Based on your search for Klein Tools wire strippers, I found the Klein Tools 11055 Wire Stripper/Cutter in our catalog. This is a precision tool designed for both solid and stranded wire applications with hardened steel construction. Recommended products: Klein Tools 11055 Wire Stripper/Cutter: Thi...

Latency: 7030ms

04copper pipe fittings push to connectHybrid87%
75%
Faithfulness
72%
Relevancy
100%
Ctx Precision
100%
Ctx Recall

Retrieved Products (20)

PL-001PL-002PL-010EL-006EL-005EL-011PL-012PL-006EL-010EL-008+10 more

Generated Answer

For copper pipe push-to-connect fittings, the SharkBite push-fit products are your best option from our available inventory. These fittings eliminate the need for soldering and work directly with copper, PEX, or CPVC pipe. Recommended products: SharkBite 1/2" Push-to-Connect Coupling: Direct answer...

Latency: 7907ms

05HVAC air filter 20x25Hybrid94%
100%
Faithfulness
76%
Relevancy
100%
Ctx Precision
100%
Ctx Recall

Retrieved Products (20)

HV-001HV-002EL-007SF-001HV-007SF-016HV-008HV-005HV-004HV-011+10 more

Generated Answer

For a 20x25 HVAC air filter, I found one exact match in our catalog. The Honeywell FC100A1037 is a 20x25x5 media filter, but note this is a 5-inch thick filter designed for whole-house air cleaner systems, not standard 1-inch furnace filters. Recommended products: Honeywell FC100A1037 20x25x5 Media...

Latency: 11283ms

06What PPE do I need for metal grinding?Agentic63%
29%
Faithfulness
93%
Relevancy
31%
Ctx Precision
100%
Ctx Recall

Retrieved Products (22)

SF-009SF-002SF-006SF-010SF-017TL-007SF-001TL-012SF-008SF-007+12 more

Generated Answer

Metal grinding requires comprehensive PPE to protect against sparks, flying particles, noise, and respiratory hazards. Essential equipment includes eye/face protection, respiratory protection, hearing protection, hand protection, and head protection. Recommended products: Lincoln Electric Auto-Dark...

Latency: 18535ms

07What do I need to wire a 20-amp outdoor circuit?Agentic58%
48%
Faithfulness
84%
Relevancy
0%
Ctx Precision
100%
Ctx Recall

Retrieved Products (17)

EL-003EL-007EL-009EL-006EL-001EL-005TL-001TL-014EL-008EL-002+7 more

Generated Answer

For a 20-amp outdoor circuit, you'll need GFCI protection, weather-resistant components, and proper wire rated for outdoor use. The total project cost for materials is approximately $193. Recommended products: Square D QO 20-Amp GFCI Circuit Breaker: Provides required GFCI protection at the panel f...

Latency: 21258ms

08Help me set up a basic plumbing repair kitAgentic64%
60%
Faithfulness
83%
Relevancy
14%
Ctx Precision
100%
Ctx Recall

Retrieved Products (26)

PL-011PL-001EL-011PL-006PL-012TL-008TL-011PL-002PL-007TL-006+16 more

Generated Answer

A basic plumbing repair kit requires adjustable pliers for gripping pipes and fittings, plus a screwdriver set for accessing fixtures and components. The search results include excellent water pump pliers and tongue & groove pliers specifically designed for plumbing work, along with a quality screwd...

Latency: 66951ms

09DeWalt vs Milwaukee drillAgentic59%
62%
Faithfulness
74%
Relevancy
100%
Ctx Precision
0%
Ctx Recall

Retrieved Products (12)

TL-004TL-006TL-007TL-005EL-015TL-012TL-014TL-013PL-011TL-015+2 more

Generated Answer

Based on my search results, I can only find one actual drill in the catalog - the DeWalt DCD791D2. Unfortunately, there don't appear to be any Milwaukee drills available in this catalog's current inventory. Here's what I found: **DeWalt Available:** - **DeWalt DCD791D2 20V MAX XR Brushless Drill/...

Latency: 17796ms

10Which is better for home use: GFCI or AFCI breaker?Agentic63%
53%
Faithfulness
81%
Relevancy
50%
Ctx Precision
67%
Ctx Recall

Retrieved Products (12)

EL-003EL-004EL-001EL-007EL-013EL-009EL-002EL-005EL-008TL-010+2 more

Generated Answer

GFCI breakers protect against ground faults (shock hazards), while AFCI breakers protect against arc faults (fire hazards). For modern homes, dual-function AFCI/GFCI breakers are often the best choice as they provide both protections and meet current NEC requirements for bedrooms, kitchens, and laun...

Latency: 30161ms

11What is the best pizza recipe?Off-Topic100%
100%
Faithfulness
100%
Relevancy
100%
Ctx Precision
100%
Ctx Recall

Latency: 875ms

12How do I train for a marathon?Off-Topic100%
100%
Faithfulness
100%
Relevancy
100%
Ctx Precision
100%
Ctx Recall

Latency: 820ms

13Explain quantum computingOff-Topic100%
100%
Faithfulness
100%
Relevancy
100%
Ctx Precision
100%
Ctx Recall

Latency: 952ms

14safetyHybrid16%
29%
Faithfulness
35%
Relevancy
0%
Ctx Precision
0%
Ctx Recall

Retrieved Products (20)

SF-001SF-003SF-002SF-013SF-005SF-008SF-004SF-011SF-007SF-006+10 more

Generated Answer

Based on your general safety inquiry, I can recommend a comprehensive range of personal protective equipment (PPE) from our catalog covering respiratory, head, eye, hand, hearing, and fall protection. The selection includes both basic safety essentials and specialized protection for specific work en...

Latency: 12938ms

15I need to fix a leaky faucet and also replace a circuit breakerAgentic58%
48%
Faithfulness
83%
Relevancy
0%
Ctx Precision
100%
Ctx Recall

Retrieved Products (28)

PL-009EL-003EL-001EL-002EL-004EL-013EL-005EL-014PL-010PL-001+18 more

Generated Answer

For your leaky faucet repair, I found a Moen replacement cartridge that includes O-rings, which are the most common cause of faucet leaks. For the circuit breaker replacement, I have several options including standard 20-amp breakers and GFCI/AFCI breakers depending on your specific needs and electr...

Latency: 19503ms

5

Methodology

01 Faithfulness

Extracts atomic factual claims from the generated answer, then verifies each claim against the retrieved contexts. A claim must be directly supported — not merely plausible. Score = supported claims / total claims.

Scored by: RAGAS + Claude Haiku

02 Answer Relevancy

Generates hypothetical questions the answer would address, embeds them alongside the original query, and computes average cosine similarity. High similarity = answer stays on-topic.

Scored by: RAGAS + Azure OpenAI Embeddings

03 Context Precision

For each retrieved document (in search rank order), judges relevance to the query. Computes precision at each rank position, rewarding relevant documents appearing at the top. Measures retrieval ranking quality.

Scored by: RAGAS + Claude Haiku

04 Context Recall

Extracts factual claims from the ground truth answer, then checks whether the retrieved contexts contain supporting information. Measures how completely the retrieval covers the ideal answer. This is the only metric requiring ground truth.

Scored by: RAGAS + Claude Haiku

Evaluation Pipeline

15 test casesHaiku classifiesSearch + RetrieveSonnet generatesRAGAS scores × 4 metricsScores
6

Retrieval Ablation Study

Head-to-head comparison of 4 retrieval strategies on 12 labeled queries using standard IR metrics. Unlike RAGAS (end-to-end), these isolate pure retrieval quality from generation. The production mode (Hybrid + Semantic Reranking) is highlighted — this ablation justifies that architectural choice.

Retrieval ModeR@5R@10P@5P@10MRRNDCG@10Latency
BM25 Only

Pure keyword search using BM25 scoring. No vectors, no reranking.

70%76%37%26%84%74%49ms
Vector Only

Pure vector search using cosine similarity. No keyword matching.

77%87%47%30%96%86%45ms
Hybrid (no rerank)

BM25 + vector fusion. No semantic reranking layer.

77%84%47%28%92%83%45ms
Hybrid + Semantic RerankingProduction

Production: BM25 + vector + Microsoft semantic reranker.

79%91%50%33%96%90%76ms
Hybrid + Semantic + Field BoostingEnhanced

Production + scoring profile: name×5, sku×4, brand×3, category×1.5 weights.

79%91%50%33%96%90%78ms

Per-Query Results

013M N95 respiratorsimple lookup3 GT
Ground Truth: SF-001, SF-002, SF-003
BM25 Only
R@5=100%P@5=60%MRR=1.00NDCG@10=100%194ms
1. SF-0012. SF-0023. SF-0034. SF-0125. HV-002
Vector Only
R@5=100%P@5=60%MRR=1.00NDCG@10=100%67ms
1. SF-0012. SF-0023. SF-0034. HV-0025. SF-0126. SF-0167. HV-0018. SF-0149. SF-00610. SF-005
Hybrid (no rerank)
R@5=100%P@5=60%MRR=1.00NDCG@10=100%45ms
1. SF-0012. SF-0023. SF-0034. HV-0025. SF-0126. SF-0167. HV-0018. SF-0149. SF-00610. SF-005
Hybrid + Semantic Reranking
R@5=100%P@5=60%MRR=1.00NDCG@10=100%84ms
1. SF-0012. SF-0023. SF-0034. HV-0025. SF-0126. SF-0147. SF-0168. SF-0069. SF-00510. HV-001
Hybrid + Semantic + Field Boosting
R@5=100%P@5=60%MRR=1.00NDCG@10=100%64ms
1. SF-0012. SF-0023. SF-0034. HV-0025. SF-0126. SF-0147. SF-0168. SF-0069. SF-00510. HV-001
0220-amp GFCI circuit breakersimple lookup2 GT
Ground Truth: EL-003, EL-004
BM25 Only
R@5=100%P@5=40%MRR=1.00NDCG@10=92%36ms
1. EL-0032. EL-0013. EL-0044. EL-0075. EL-0026. EL-0137. EL-0088. SF-0019. EL-00510. TL-001
Vector Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%41ms
1. EL-0032. EL-0043. EL-0014. EL-0075. EL-0026. EL-0137. EL-0088. EL-0099. EL-00510. TL-007
Hybrid (no rerank)
R@5=100%P@5=40%MRR=1.00NDCG@10=92%46ms
1. EL-0032. EL-0013. EL-0044. EL-0075. EL-0026. EL-0137. EL-0088. EL-0059. EL-00910. SF-001
Hybrid + Semantic Reranking
R@5=100%P@5=40%MRR=1.00NDCG@10=92%73ms
1. EL-0032. EL-0073. EL-0044. EL-0015. EL-0086. EL-0097. EL-0058. EL-0139. EL-00610. EL-002
Hybrid + Semantic + Field Boosting
R@5=100%P@5=40%MRR=1.00NDCG@10=92%70ms
1. EL-0032. EL-0073. EL-0044. EL-0015. EL-0086. EL-0097. EL-0058. EL-0139. EL-00610. EL-002
03Klein Tools wire strippersimple lookup1 GT
Ground Truth: TL-001
BM25 Only
R@5=100%P@5=20%MRR=1.00NDCG@10=100%36ms
1. TL-0012. TL-0023. TL-0034. EL-0115. TL-0146. EL-0057. TL-0058. PL-0019. TL-00810. TL-006
Vector Only
R@5=100%P@5=20%MRR=1.00NDCG@10=100%41ms
1. TL-0012. TL-0023. TL-0034. TL-0115. TL-0136. EL-0117. TL-0098. PL-0119. SF-00810. EL-005
Hybrid (no rerank)
R@5=100%P@5=20%MRR=1.00NDCG@10=100%46ms
1. TL-0012. TL-0023. TL-0034. EL-0115. EL-0056. TL-0117. PL-0118. TL-0099. TL-01310. TL-014
Hybrid + Semantic Reranking
R@5=100%P@5=20%MRR=1.00NDCG@10=100%79ms
1. TL-0012. TL-0023. TL-0034. PL-0015. EL-0106. EL-0117. EL-0058. TL-0119. TL-00610. TL-014
Hybrid + Semantic + Field Boosting
R@5=100%P@5=20%MRR=1.00NDCG@10=100%100ms
1. TL-0012. TL-0023. TL-0034. PL-0015. EL-0106. EL-0117. EL-0058. TL-0119. TL-00610. TL-014
04copper pipe fittings push to connectsimple lookup2 GT
Ground Truth: PL-001, PL-002
BM25 Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%35ms
1. PL-0012. PL-0023. PL-0104. PL-0065. PL-0116. PL-0127. PL-0078. TL-0119. EL-01410. EL-005
Vector Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%42ms
1. PL-0012. PL-0023. PL-0124. TL-0115. PL-0106. PL-0067. PL-0118. PL-0079. EL-01110. PL-003
Hybrid (no rerank)
R@5=100%P@5=40%MRR=1.00NDCG@10=100%45ms
1. PL-0012. PL-0023. PL-0104. PL-0125. PL-0066. TL-0117. PL-0118. PL-0079. EL-01110. EL-014
Hybrid + Semantic Reranking
R@5=100%P@5=40%MRR=1.00NDCG@10=100%70ms
1. PL-0012. PL-0023. PL-0104. EL-0065. EL-0056. EL-0117. PL-0128. PL-0069. PL-00710. EL-012
Hybrid + Semantic + Field Boosting
R@5=100%P@5=40%MRR=1.00NDCG@10=100%70ms
1. PL-0012. PL-0023. PL-0104. EL-0065. EL-0056. EL-0117. PL-0128. PL-0069. PL-00710. EL-012
05HVAC air filter 20x25simple lookup2 GT
Ground Truth: HV-001, HV-002
BM25 Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%35ms
1. HV-0012. HV-0023. HV-0114. HV-0075. HV-0086. HV-0047. SF-0018. SF-0039. HV-00310. HV-005
Vector Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%39ms
1. HV-0012. HV-0023. HV-0054. HV-0075. HV-0086. SF-0027. HV-0118. SF-0019. SF-00310. HV-010
Hybrid (no rerank)
R@5=100%P@5=40%MRR=1.00NDCG@10=100%45ms
1. HV-0012. HV-0023. HV-0074. HV-0115. HV-0086. HV-0057. SF-0018. SF-0039. HV-01010. HV-004
Hybrid + Semantic Reranking
R@5=100%P@5=40%MRR=1.00NDCG@10=100%105ms
1. HV-0012. HV-0023. SF-0014. HV-0075. HV-0086. HV-0057. HV-0048. HV-0119. HV-00910. HV-003
Hybrid + Semantic + Field Boosting
R@5=100%P@5=40%MRR=1.00NDCG@10=100%71ms
1. HV-0012. HV-0023. SF-0014. HV-0075. HV-0086. HV-0057. HV-0048. HV-0119. HV-00910. HV-003
06What PPE do I need for metal grinding?advisory8 GT
Ground Truth: SF-009, SF-010, SF-012, SF-001, SF-002, SF-008, SF-006, TL-007
BM25 Only
R@5=13%P@5=20%MRR=0.25NDCG@10=27%36ms
1. EL-0102. EL-0053. SF-0114. SF-0085. HV-0056. TL-0047. SF-0028. TL-0079. EL-00610. EL-003
Vector Only
R@5=38%P@5=60%MRR=1.00NDCG@10=77%39ms
1. TL-0072. SF-0023. SF-0114. SF-0125. SF-0146. SF-0067. SF-0088. TL-0129. SF-01610. SF-001
Hybrid (no rerank)
R@5=38%P@5=60%MRR=0.50NDCG@10=55%45ms
1. SF-0112. TL-0073. SF-0024. SF-0085. EL-0106. EL-0057. SF-0128. HV-0059. SF-01410. SF-006
Hybrid + Semantic Reranking
R@5=50%P@5=80%MRR=1.00NDCG@10=81%75ms
1. SF-0022. SF-0083. SF-0064. SF-0015. SF-0116. SF-0147. SF-0128. TL-0079. SF-01610. TL-001
Hybrid + Semantic + Field Boosting
R@5=50%P@5=80%MRR=1.00NDCG@10=81%100ms
1. SF-0022. SF-0083. SF-0064. SF-0015. SF-0116. SF-0147. SF-0128. TL-0079. SF-01610. TL-001
07What do I need to wire a 20-amp outdoor circuit?advisory6 GT
Ground Truth: EL-003, EL-006, EL-007, EL-009, EL-012, EL-010
BM25 Only
R@5=33%P@5=40%MRR=1.00NDCG@10=42%36ms
1. EL-0032. TL-0013. EL-0014. EL-0055. EL-0076. EL-0087. EL-0028. EL-0139. EL-01110. HV-005
Vector Only
R@5=50%P@5=60%MRR=1.00NDCG@10=74%65ms
1. EL-0072. EL-0033. EL-0064. EL-0055. EL-0016. EL-0087. EL-0138. EL-0029. EL-00910. EL-004
Hybrid (no rerank)
R@5=33%P@5=40%MRR=1.00NDCG@10=68%46ms
1. EL-0032. EL-0073. EL-0014. EL-0055. EL-0086. EL-0027. EL-0138. EL-0069. EL-00410. EL-009
Hybrid + Semantic Reranking
R@5=50%P@5=60%MRR=1.00NDCG@10=79%77ms
1. EL-0072. EL-0063. EL-0084. EL-0055. EL-0036. EL-0017. EL-0048. EL-0119. EL-00910. EL-010
Hybrid + Semantic + Field Boosting
R@5=50%P@5=60%MRR=1.00NDCG@10=79%85ms
1. EL-0072. EL-0063. EL-0084. EL-0055. EL-0036. EL-0017. EL-0048. EL-0119. EL-00910. EL-010
08Help me set up a basic plumbing repair kitadvisory7 GT
Ground Truth: PL-011, PL-001, PL-002, PL-007, PL-010, PL-009, TL-009
BM25 Only
R@5=14%P@5=20%MRR=0.33NDCG@10=24%36ms
1. TL-0132. EL-0143. PL-0074. HV-0065. TL-0046. PL-0097. HV-0048. TL-0039. PL-00510. EL-015
Vector Only
R@5=43%P@5=60%MRR=1.00NDCG@10=75%42ms
1. PL-0072. PL-0103. TL-0114. PL-0115. PL-0126. PL-0017. PL-0048. PL-0069. PL-00910. PL-003
Hybrid (no rerank)
R@5=57%P@5=80%MRR=1.00NDCG@10=74%47ms
1. PL-0072. TL-0113. PL-0094. PL-0015. PL-0106. PL-0117. PL-0048. PL-0129. PL-00610. PL-003
Hybrid + Semantic Reranking
R@5=71%P@5=100%MRR=1.00NDCG@10=91%76ms
1. PL-0012. PL-0073. PL-0104. PL-0025. PL-0096. PL-0117. TL-0118. PL-0129. TL-01210. HV-006
Hybrid + Semantic + Field Boosting
R@5=71%P@5=100%MRR=1.00NDCG@10=91%109ms
1. PL-0012. PL-0073. PL-0104. PL-0025. PL-0096. PL-0117. TL-0118. PL-0129. TL-01210. HV-006
09DeWalt vs Milwaukee drillcomparison2 GT
Ground Truth: TL-004, TL-006
BM25 Only
R@5=100%P@5=40%MRR=1.00NDCG@10=92%34ms
1. TL-0042. TL-0053. TL-0064. TL-0145. EL-0156. TL-0127. TL-007
Vector Only
R@5=100%P@5=40%MRR=1.00NDCG@10=92%39ms
1. TL-0042. TL-0073. TL-0064. TL-0055. TL-0126. EL-0157. TL-0148. TL-0139. TL-00810. PL-011
Hybrid (no rerank)
R@5=100%P@5=40%MRR=1.00NDCG@10=92%44ms
1. TL-0042. TL-0053. TL-0064. TL-0075. TL-0146. EL-0157. TL-0128. TL-0139. TL-00810. PL-011
Hybrid + Semantic Reranking
R@5=100%P@5=40%MRR=1.00NDCG@10=100%64ms
1. TL-0042. TL-0063. TL-0074. TL-0125. TL-0146. TL-0057. EL-0158. TL-0139. PL-01110. TL-008
Hybrid + Semantic + Field Boosting
R@5=100%P@5=40%MRR=1.00NDCG@10=100%63ms
1. TL-0042. TL-0063. TL-0074. TL-0125. TL-0146. TL-0057. EL-0158. TL-0139. PL-01110. TL-008
10Which is better for home use: GFCI or AFCI breaker?comparison2 GT
Ground Truth: EL-003, EL-004
BM25 Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%35ms
1. EL-0042. EL-0033. EL-0094. EL-0015. EL-0076. EL-0137. EL-0028. SF-0039. HV-01010. EL-015
Vector Only
R@5=100%P@5=40%MRR=1.00NDCG@10=100%41ms
1. EL-0042. EL-0033. EL-0014. EL-0025. EL-0076. EL-0137. EL-0098. EL-0089. EL-00510. EL-006
Hybrid (no rerank)
R@5=100%P@5=40%MRR=1.00NDCG@10=100%45ms
1. EL-0042. EL-0033. EL-0014. EL-0095. EL-0076. EL-0027. EL-0138. EL-0089. SF-00310. EL-005
Hybrid + Semantic Reranking
R@5=100%P@5=40%MRR=1.00NDCG@10=100%71ms
1. EL-0042. EL-0033. EL-0074. EL-0095. EL-0016. EL-0137. EL-0028. EL-0059. EL-00610. EL-008
Hybrid + Semantic + Field Boosting
R@5=100%P@5=40%MRR=1.00NDCG@10=100%67ms
1. EL-0042. EL-0033. EL-0074. EL-0095. EL-0016. EL-0137. EL-0028. EL-0059. EL-00610. EL-008
11safetyedge case7 GT
Ground Truth: SF-001, SF-004, SF-009, SF-006, SF-012, SF-013, SF-011
BM25 Only
R@5=29%P@5=40%MRR=0.50NDCG@10=45%35ms
1. SF-0102. SF-0093. HV-0084. TL-0075. SF-0016. SF-0027. SF-0038. SF-0049. SF-00510. SF-006
Vector Only
R@5=43%P@5=60%MRR=0.50NDCG@10=50%41ms
1. SF-0102. SF-0133. SF-0044. SF-0055. SF-0096. SF-0167. SF-0088. SF-0149. SF-01210. SF-003
Hybrid (no rerank)
R@5=43%P@5=60%MRR=0.50NDCG@10=50%45ms
1. SF-0102. SF-0093. SF-0044. SF-0055. SF-0136. SF-0037. SF-0088. SF-0129. SF-01610. SF-014
Hybrid + Semantic Reranking
R@5=29%P@5=40%MRR=0.50NDCG@10=55%69ms
1. SF-0102. SF-0093. SF-0054. SF-0015. TL-0076. SF-0127. SF-0038. SF-0179. SF-01310. SF-006
Hybrid + Semantic + Field Boosting
R@5=29%P@5=40%MRR=0.50NDCG@10=55%69ms
1. SF-0102. SF-0093. SF-0054. SF-0015. TL-0076. SF-0127. SF-0038. SF-0179. SF-01310. SF-006
12I need to fix a leaky faucet and also replace a circuit breakeredge case4 GT
Ground Truth: PL-009, PL-011, EL-001, EL-003
BM25 Only
R@5=50%P@5=40%MRR=1.00NDCG@10=64%34ms
1. EL-0032. EL-0013. EL-0024. EL-0135. EL-0046. EL-0057. EL-006
Vector Only
R@5=50%P@5=40%MRR=1.00NDCG@10=68%40ms
1. EL-0032. EL-0043. EL-0024. EL-0015. PL-0016. PL-0027. EL-0138. EL-0079. PL-00910. PL-010
Hybrid (no rerank)
R@5=50%P@5=40%MRR=1.00NDCG@10=64%44ms
1. EL-0032. EL-0013. EL-0024. EL-0045. EL-0136. PL-0017. EL-0058. PL-0029. EL-00610. EL-007
Hybrid + Semantic Reranking
R@5=50%P@5=40%MRR=1.00NDCG@10=77%66ms
1. EL-0032. EL-0013. EL-0044. EL-0025. EL-0136. EL-0057. PL-0098. EL-0069. PL-01010. EL-007
Hybrid + Semantic + Field Boosting
R@5=50%P@5=40%MRR=1.00NDCG@10=77%67ms
1. EL-0032. EL-0013. EL-0044. EL-0025. EL-0136. EL-0057. PL-0098. EL-0069. PL-01010. EL-007

IR Metrics

Recall@K — fraction of ground truth in the top K results
Precision@K — fraction of top K results that are relevant
MRR — Mean Reciprocal Rank (1/rank of first relevant)
NDCG@10 — rank-weighted relevance over the top 10 results
7

Embedding Model Comparison

Comparison of embedding models using Hybrid + Semantic Reranking mode (production configuration). Each model was used to embed both documents and queries, with separate Azure AI Search indexes per model.

Embedding ModelDimsR@5R@10P@5MRRNDCG@10
text-embedding-3-smallProduction
1,53679%91%50%96%90%
text-embedding-3-large
3,07278%92%48%96%90%
text-embedding-3-large (reduced)
1,53679%92%50%96%90%
Cohere Embed v4
1,53679%91%50%96%90%

Methodology: Each embedding model was used to index the full product catalog into a separate Azure AI Search index, then the same test queries were run against each index. BM25 scores are identical across models (keyword search is embedding-agnostic); differences appear in the vector and hybrid modes where embedding quality directly impacts retrieval.