Hoppa till innehållet
AI-grafen
E· Universitetinferens-optimering· ca 60 min· utvecklande· verifierad 2026-09-20

Kostnadsmodellering för LLM-system

Kunna räkna ut kostnad per anrop och per användare och sätta budgetar och kvoter.

Förkunskaper

Intuition

Grundformeln:

kostnad per anrop = (in_tokens × pris_in + ut_tokens × pris_ut) / 1 000 000

Utdata kostar typiskt 3–5 gånger mer än indata. Men i RAG-system dominerar ofta indata ändå, eftersom kontexten är stor och svaret kort.

Räkna på hela kedjan, inte per anrop. Ett «samtal» kan innehålla flera LLM-anrop: omformulering av frågan, embedding, omrankning, generering, och kanske en domare. Det är summan som är kostnaden per användarinteraktion.

Kod

PRISER = {  # kr per miljon tokens — exempelvärden, kontrollera aktuella
    "stor":  {"in": 30.0, "ut": 150.0},
    "liten": {"in": 2.0,  "ut": 8.0},
    "embed": {"in": 0.2,  "ut": 0.0},
}

def kostnad(modell, in_tok, ut_tok=0):
    p = PRISER[modell]
    return (in_tok * p["in"] + ut_tok * p["ut"]) / 1e6

def rag_samtal(fragor_per_session=6, kontext=4000, svar=300, cache_traff=0.8):
    per_fraga = (
        kostnad("embed", 50)
        + kostnad("liten", 800, 100)                      # omformulering och omrankning
        + kostnad("stor", int(kontext * (1 - cache_traff * 0.9)), svar)
    )
    return {"per_fraga_kr": round(per_fraga, 4),
            "per_session_kr": round(per_fraga * fragor_per_session, 3),
            "per_1000_anvandare_kr": round(per_fraga * fragor_per_session * 1000, 1)}

print(rag_samtal())
# {'per_fraga_kr': 0.0919, 'per_session_kr': 0.551, 'per_1000_anvandare_kr': 551.3}
print(rag_samtal(cache_traff=0.0))
# {'per_fraga_kr': 0.1699, 'per_session_kr': 1.019, 'per_1000_anvandare_kr': 1019.5}

Skillnaden mellan raderna är prompt-caching — nästan en halvering, utan någon kvalitetsförändring.

De fyra största kostnadsdrivarna, i ordning:

  1. Kontextstorlek — skicka bara det som behövs. Halverad kontext är halverad kostnad.
  2. Modellval — en liten modell för enkla delsteg (omformulering, klassificering, rutinsvar).
  3. Caching — samma prefix återanvänds.
  4. Antal anrop per interaktion — varje extra steg i kedjan multiplicerar.

Kvoter är inte bara ekonomi utan säkerhet: utan tak kan en buggig klient eller en loopande agent bränna en månadsbudget på en natt. Sätt tak per användare och dag, per organisation och månad, och en global kill-switch — precis som plattformens LLM_DAILY_BUDGET_SEK.

Behärskning innebär

  • Räknar kostnad per anrop och per användare
  • Sätter budgetar och kvoter som håller
  • Identifierar de största kostnadsdrivarna

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser