Intended use
Research-style questions over retrieved public excerpts (guidance, margins, segment
color, named risks). Prefer refusing figures that are not in context. Not investment advice.
Training
Table with columns: Item, Value| Item | Value |
|---|
| Base | unsloth/Llama-3.2-3B-Instruct (4-bit QLoRA) |
| Seed | 3407 |
| Dataset | ecra-sft-v0.1.0 |
| Train / val rows | 2127 / 240 |
| Effective batch | 16 |
| Adapter path | /kaggle/working/earnings-call-research-assistant/outputs/adapters/llama32-3b-ecra-sft |
| Card generated (UTC) | 2026-09-14T08:35:37Z |
Retrieval corpus (when RAG was run)
Table with columns: Item, Value| Item | Value |
|---|
| N chunks | 19990 |
| Documents | 3 |
| Corpus version | v0.1.0 |
| Embed model | sentence-transformers/all-MiniLM-L6-v2 |
| Dense backend | sentence-transformers |
| Eval queries | 50 |
Measured metrics (hybrid retrieval)
Table with columns: k, Recall, nDCG| k | Recall | nDCG |
|---|
| 1 | TBD | TBD |
| 3 | TBD | TBD |
| 5 | TBD | TBD |
| 10 | TBD | TBD |
Grounded generation
Table with columns: Side, citation-hit, token F1, grounded accuracy, dry_run| Side | citation-hit | token F1 | grounded accuracy | dry_run |
|---|
| base | 0.5934 | TBD | 0.5800 | False |
| adapter | 0.8760 | TBD | 1.0000 | False |
How to load
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = "unsloth/Llama-3.2-3B-Instruct"
adapter = "<this-repo-id>"
tok = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto")
model = PeftModel.from_pretrained(model, adapter)
Reproduce metrics from the GitHub repo:
python scripts/eval_retrieval.py --run
python scripts/eval_rag_generate.py --run --adapter-dir outputs/adapters/llama32-3b-ecra-sft
Limitations
Public data only. Report measured N and query counts; fixture-scale runs are not
SEC coverage. Citation-hit ≠ numerical correctness. Token: HF_TOKEN / huggingface-cli login only — never commit secrets.
Notes from card builder