Lightweight NCAA Men's Lacrosse Rules RAG
1. Introduction
NCAA men's lacrosse rulings depend on exact timing, location, exceptions, and
version-specific language, which makes the task difficult for a general-purpose
language model that may rely on incomplete parametric knowledge or confidently
collapse distinct conditions. I built a lightweight retrieval-augmented
generation system that retrieves structured records derived from the official
NCAA men's lacrosse playing-rules resources,
expands the governing rule family and linked companion provisions, and sends
that evidence to
Qwen2.5-1.5B-Instruct.
RAG improved LegalBench character Recall@5 from 0.000 to 0.464, TechQA token F1
from 0.265 to 0.335, and RAGTruth hallucination F1 from 0.104 to 0.216. The
held-out NCAA evaluation also exposed the central limitation: retrieving the
decisive record did not guarantee that the small reader would apply every
condition correctly.
2. Data
The evaluated NCAA corpus contains 42 independently retrievable records
organized into 16 rule families. Each record stores a rule or approved-ruling
identifier, citation, title, record type, source, printed page, source text,
search concepts, authority rank, and explicit companion-record links. The
source materials were the official 2025–26 NCAA men's lacrosse rules book and
the 2026 video-review parameters; the original PDFs and exact-text corpus are
not redistributed in this public repository. Twenty scenario-based NCAA
examples were constructed for pipeline evaluation, with 18 used for retriever
development and
ex_001 and
ex_010 held out until final evaluation. The
external suite used all 776 queries in
LegalBench-RAG-mini, all 314
TechQA test examples from
RAGBench,
and 900 question-answer examples derived from
RAGTruth.
3. Methodology
The selected pipeline uses
intfloat/e5-small-v2 with its
recommended
query: and
passage: prefixes, normalized 384-dimensional
embeddings, and cosine retrieval implemented as inner-product search in
FAISS. It retrieves the top five
records, fully expands the strongest retrieved family, adds linked companion
records, and then adds a second retrieved family if space remains, with a
maximum of 14 context records. The grounded prompt instructs the reader to
preserve timing, location, and negation; cite only supplied records; and return
a ruling, explanation, citation, and uncertainty statement. Generation uses
do_sample=False, repetition penalty 1.05, and a normal NCAA limit of 288 new
tokens. E5 was selected over normalized BGE cosine and unnormalized BGE
Euclidean retrieval because all three achieved perfect family and
decisive-record Hit@5 on the 18 development questions, while E5 produced the
strongest ranking metrics.
4. Evaluation
LegalBench-RAG-mini measures precise legal retrieval, RAGBench-TechQA measures
retrieval plus technical question answering, and RAGTruth-QA measures whether a
reader can identify unsupported or contradictory claims in retrieved context;
the two held-out NCAA scenarios assess grounded application of the project
corpus. The selected system is compared with the same
Qwen2.5-1.5B-Instruct
reader without retrieval,
Qwen2.5-0.5B-Instruct
with identical frozen evidence to test reduced capacity in the same model
family, and
Llama-3.2-1B-Instruct
with identical frozen evidence to provide a similarly sized cross-family
comparison. Qwen2.5-1.5B with RAG was strongest on TechQA and produced the most
balanced overall result. Qwen2.5-0.5B had the highest RAGTruth F1 but achieved
it with very high recall and poor precision and accuracy. Llama achieved the
highest automatic NCAA ruling overlap, yet manual review found no fully
correct NCAA response from any system.
| System | LegalBench Recall@5 | TechQA token F1 | RAGTruth hallucination F1 | NCAA ruling F1 | NCAA fully correct |
|---|
| Qwen2.5-1.5B, no RAG | 0.000 | 0.265 | 0.104 | 0.110 | 0/2 |
| Qwen2.5-1.5B + RAG | 0.464 | 0.335 | 0.216 | 0.372 | 0/2 |
| Qwen2.5-0.5B + RAG | 0.464 | 0.242 | 0.265 | 0.358 | 0/2 |
| Llama-3.2-1B + RAG | 0.464 | 0.311 | 0.205 | 0.408 | 0/2 |
LegalBench is retrieval-only, so the three RAG readers share the same selected
E5 score. Eight Qwen2.5-0.5B TechQA answers reached the 768-token cap but
remained scorable. Four of Llama's 900 RAGTruth classifications required a
documented deterministic allowed-label log-likelihood fallback.
5. Usage and Intended Uses
The system is intended for coaches, players, officials in training, analysts,
and educators who want an evidence-grounded starting point for discussing NCAA
men's lacrosse scenarios. It is best suited to learning, post-game review, and
rule-reference workflows where a human can inspect retrieved evidence. It is
not an authoritative officiating tool and should not determine a live-game or
disciplinary outcome without review by a qualified official and the current
official publications. The public repository includes the inference code but
does not redistribute the third-party exact-text corpus; a user must supply an
approved local artifact directory containing the three files documented in
artifacts/README.md.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "Qwen/Qwen2.5-1.5B-Instruct"
4tokenizer = AutoTokenizer.from_pretrained(model_name)
5model = AutoModelForCausalLM.from_pretrained(
6 model_name,
7 device_map="auto",
8 dtype="auto",
9)
10
11from inference import NCAARulesRAG
12
13rag = NCAARulesRAG(
14 artifact_dir="/path/to/approved/local/artifacts"
15)
16result = rag.answer(
17 "A coach challenges a call, but the video is inconclusive. "
18 "Does the coach keep the challenge? What if the video system fails?"
19)
20print(result["answer"])
6. Prompt Format
The prompt contains a fixed system instruction, complete structured evidence
records selected by retrieval and rule-family expansion, and the scenario to be
decided.
1System:
2Use only the supplied NCAA records. Preserve timing, location, negation, and
3narrow exceptions. Cite decisive records and state missing material facts.
4
5Complete NCAA source records:
6
7[Source 1]
8Record ID: ...
9Rule family: ...
10Record type: ...
11Citation: ...
12Exact source text:
13...
14
15Scenario to decide:
16
17[USER QUESTION]
18
19Respond with:
20Ruling:
21Explanation:
22Citation:
23Uncertainty / limits:
7. Expected Output Format
The model should return four labeled sections in plain text. The uncertainty
section must identify missing material facts rather than silently assuming
them.
1Ruling:
2The outcome is conditional on whether the player entered the goal mouth.
3
4Explanation:
5The supplied provision permits a goal when the ball enters before contact and
6the player's momentum carries the player only into the crease, not the goal
7mouth.
8
9Citation:
10Rule 4-21(c); Rule 4-21, A.R. 83
11
12Uncertainty / limits:
13The scenario does not state whether the player entered the goal mouth.
8. Limitations
The NCAA held-out evaluation contains only two scenarios and cannot establish
broad officiating reliability. More importantly, all three RAG readers received
the same retrieved evidence and still failed substantive review on both NCAA
cases: models reversed explicit conditions, omitted a branch of a two-part
question, or failed to acknowledge a missing material fact. Automatic token
overlap therefore overstated rule correctness. The corpus covers a deliberately
structured subset of the current rules rather than every possible NCAA
provision, and it must be rebuilt or reverified when the rulebook changes. The
evaluation used an RTX A6000 rather than a client device, so the project
demonstrates a lightweight reader architecture rather than completed
edge-device benchmarking. The public repository does not include the
third-party exact-text corpus or its derived runtime index, and the system is
not affiliated with the NCAA or a replacement for the current official rules
or human judgment.
Repository Contents
inference.py — retrieval, rule-family expansion, prompting, and generation.
results/ — aggregate evaluation and path-free reproducibility artifacts.
examples/ — sample scenario questions.
artifacts/README.md — required local runtime-artifact contract.
validate_repository.py — public-package and optional local-FAISS checks.
Reproducibility Notes
The selected Check-In 4 experiment ID is e07ab55131b7297d; the final
comparison experiment ID is c777152194b9eba5. Full counts, source hashes, and
comparison disclosures are stored in
results/reproducibility_manifest.json.