Hoppa till innehållet
AI-grafen
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:

  1. Dokumentnivå: «enligt Handboken kap. 3». Lätt att implementera, svårt att verifiera.
  2. Passagenivå: [1] pekar på en specifik hämtad chunk som visas för användaren. Standard.
  3. 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

Alla källor och licenser