E· Universitetrag-informationssokning· ca 60 min· utvecklande· verifierad 2026-09-20
Källhänvisning och grundning
Kunna få modellen att citera hämtade källor och verifiera att påståenden täcks.
Förkunskaper
Intuition
Ett RAG-svar utan källhänvisning är inte bättre än ett vanligt LLM-svar — användaren kan inte kontrollera något.
Tre nivåer av källhänvisning:
- Dokumentnivå: «enligt Handboken kap. 3». Lätt att implementera, svårt att verifiera.
- Passagenivå:
[1]pekar på en specifik hämtad chunk som visas för användaren. Standard. - Påståendenivå: varje mening har sin egen hänvisning, och systemet kontrollerar automatiskt att passagen faktiskt stöder meningen. Dyrast, säkrast.
Grundning (groundedness) är måttet: hur stor andel av påståendena i svaret stöds faktiskt av det som hämtats?
Kod
PROMPT = """Svara på frågan ENBART utifrån passagerna nedan.
- Följ varje påstående med [n] där n är passagens nummer.
- Använd flera hänvisningar om flera passager stöder påståendet: [1][3]
- Om passagerna inte räcker, svara exakt: "Det framgår inte av underlaget."
- Hitta aldrig på passagenummer.
{passager}
FRÅGA: {fraga}
SVAR:"""
import re
def validera_citat(svar, antal_passager):
"""Fångar det vanligaste felet: modellen hänvisar till passager som inte finns."""
nr = {int(n) for n in re.findall(r"\[(\d+)\]", svar)}
ogiltiga = {n for n in nr if not 1 <= n <= antal_passager}
meningar = [m for m in re.split(r"(?<=[.!?])\s+", svar.strip()) if m]
utan_citat = [m for m in meningar if not re.search(r"\[\d+\]", m) and len(m.split()) > 5]
return {"ogiltiga_citat": sorted(ogiltiga), "meningar_utan_citat": len(utan_citat),
"ok": not ogiltiga and not utan_citat}
print(validera_citat("Batteritiden är 12 timmar [1]. Priset är 4 990 kr [7].", antal_passager=4))
# {'ogiltiga_citat': [7], 'meningar_utan_citat': 0, 'ok': False}
Designval värt att göra: låt «Det framgår inte av underlaget» vara ett godkänt svar i evalsviten, och mät hur ofta det används rätt respektive fel. En assistent som aldrig avstår ljuger ibland; en som alltid avstår är värdelös. Det är en avvägning som ska mätas, inte gissas.
Behärskning innebär
- Får modellen att citera hämtade källor
- Verifierar att påståenden täcks av källan
- Hanterar fall där underlaget inte räcker
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- arXiv — RAGAS: Automated Evaluation of RAG — arXiv (öppen åtkomst; licens per artikel)
- arXiv — Enabling Large Language Models to Generate Text with Citations — arXiv (öppen åtkomst; licens per artikel)