Enterprise AI Bootcamp Demo 1

The model was not the problem

Every retrieval, rerank and generation emits a span using the OpenTelemetry GenAI attribute names, so the question "was this the model or the retrieval?" is answered by reading the trace rather than by arguing about it.

Trace e54ccd24c03f4df6

eval.improved · 1882 ms · status ok

Question
What is the lubricant level check interval for a reciprocating air compressor under the current maintenance schedule?
Mode
improved
Documents returned
Answer refused
Cost
$0.00000

Span tree

retrieval retrieve
1881.5 ms
9 attributes
atlas.doc_ids ['doe-sourcebook', 'cac-sourcebook-mirror', 'tm-9-4310-241-15', 'fist-2-6-2026', 'tm-5-4310-277-14']
atlas.families ['A', 'B', 'F', 'G']
atlas.k 5
atlas.mode improved
atlas.n_results 5
atlas.pages [58, 58, 31, 57, 34]
atlas.reranked True
atlas.top_score 3.5513
atlas.withheld 0

The counterfactual: same model, correct passages

The argument that the bottleneck is retrieval is only worth making if it can be falsified. This runs the identical question through the identical model and the identical prompt, changing one thing: the second run is handed the passages the gold set says contain the answer. If the answer becomes correct, the model was never the constraint. The gold passages are the ones pipeline/questions.py located in the corpus, not passages chosen to make the point.

Index built by scripts/build_index.py at 2026-08-10 01:44:34 in 711s: 25 documents, 3,146 pages, 12,590 improved chunks / 5,434 naive chunks. Embeddings: Snowflake/snowflake-arctic-embed-s (int8 ONNX, Apache-2.0). Reranker: cross-encoder/ms-marco-MiniLM-L-6-v2 (ONNX, Apache-2.0).