chore(modell): rikta ALLT mot gemini-3.1-flash-lite + fixa kostnadsberakning
Koden/docs pastod overallt gemini-3.5-flash-lite fast .env kor 3.1. Nu enhetligt 3.1 i .env.example, config.ts-default, gemini.ts-default, tester, eval och docs (09 + 10). Dessutom en RIKTIG bugg: estimateCostUsd rakna pa 3.5-priser ($0,30/$2,50) medan vi kor 3.1 -> overskattade spend och troffade budgetlarmet for tidigt. Nu 3.1-priser ($0,25/$1,50). docs/10 helt omraknad pa 3.1 (per uppgift, per anvandare, skala, 100k-trial-scenariot). Referenslinje kvar som visar 3.5-priset for att motivera valet.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> Uppdaterad 2026-08-08 efter scouting: AAMOS Core v1 är autentiseringsmässigt
|
||||
> nåbar men saknar konfigurerad matmodell (`/v1/detect` faller tillbaka på YuNet
|
||||
> ansiktsdetektering). Tills vidare används **Gemini 3.5 Flash Lite** som
|
||||
> ansiktsdetektering). Tills vidare används **Gemini 3.1 Flash Lite** som
|
||||
> lärar-tier för kylskåpsskanning, bakom samma `AamosClient`-gränssnitt.
|
||||
> AAMOS/prod rörs inte.
|
||||
|
||||
@@ -24,7 +24,7 @@ bytas fritt bakom kontraktet ("Food API ska få stabila kontrakt oavsett modell"
|
||||
┌──────────────────┬──────────┴──────────┐
|
||||
│ AAMOS_MODE=http │ AAMOS_MODE=gemini │
|
||||
│ HttpAamosClient │ GeminiAamosClient │
|
||||
│ → AAMOS Core v1 │ → Gemini 3.5 Flash │
|
||||
│ → AAMOS Core v1 │ → Gemini 3.1 Flash │
|
||||
└──────────────────┴─────────────────────┘
|
||||
```
|
||||
|
||||
@@ -103,7 +103,7 @@ Gemini; API:et når aldrig nyckeln.
|
||||
|
||||
Skiva 2 kommer lägga premium-eskaleringsstier (Gemini Pro / GPT-4o / Claude)
|
||||
internt i adaptern vid låg konfidens, med eval/guldset som beslutar billig vs
|
||||
dyr modell. Fram till dess: Gemini 3.5 Flash Lite för allt i Skiva 1.
|
||||
dyr modell. Fram till dess: Gemini 3.1 Flash Lite för allt i Skiva 1.
|
||||
|
||||
## Feedback → träning (Skiva 3)
|
||||
|
||||
@@ -126,4 +126,4 @@ separat `image_training`-samtycke. Personligt minne är aldrig träningsdata (§
|
||||
| ------------ | --------------------------------------------------------------- |
|
||||
| `mock` | dev/test utan nätverk. Produkten vägrar starta i mock. |
|
||||
| `http` | Riktig AAMOS Core när matmodell finns. |
|
||||
| `gemini` | Gemini 3.5 Flash Lite som lärar-tier för kylskåpsskanning (Skiva 1). |
|
||||
| `gemini` | Gemini 3.1 Flash Lite som lärar-tier för kylskåpsskanning (Skiva 1). |
|
||||
|
||||
+54
-46
@@ -1,20 +1,23 @@
|
||||
# Del 10 – AI-modeller och kostnad
|
||||
|
||||
Priser verifierade 2026-08-02 (BenchLM, uppdaterad 2026-08-01, samt korsläst mot
|
||||
publika prislistor). **Kontrollera mot Anthropics officiella prissida innan avtal.**
|
||||
publika prislistor). **Kontrollera mot Google/Anthropics officiella prissida innan avtal.**
|
||||
|
||||
> **Faktisk modell (kontrollerad mot koden):** All bildanalys, OCR och receptgenerering körs på
|
||||
> **Gemini 3.5 Flash Lite** (`GEMINI_MODEL`-default i `apps/api/src/config.ts` +
|
||||
> `packages/ai-contracts/src/gemini.ts`). Priserna nedan är verifierade mot Google (2026) och
|
||||
> speglar `estimateCostUsd` i koden.
|
||||
> **Faktisk modell (kontrollerad mot koden 2026-08):** All bildanalys, OCR och receptgenerering körs på
|
||||
> **Gemini 3.1 Flash Lite** – samma värde i `.env.example`, i `GEMINI_MODEL`-defaulten i
|
||||
> `apps/api/src/config.ts` och i `packages/ai-contracts/src/gemini.ts`. Priserna nedan speglar
|
||||
> `estimateCostUsd` i koden. (Vi kör medvetet 3.1 och inte 3.5 – 3.1 är billigare per token,
|
||||
> särskilt på output; 2.5-serien fasas ut och är inget alternativ.)
|
||||
|
||||
## Aktuella modeller och listpriser (USD per miljon tokens, in/ut)
|
||||
|
||||
| Modell | Input | Output | Roll i appen |
|
||||
| ------------------------------------- | ----- | ------ | -------------------------------------------------------------- |
|
||||
| Gemini 3.5 Flash Lite (standard) | $0,30 | $2,50 | Arbetshäst: all bildanalys, OCR, receptstrukturering (Skiva 1) |
|
||||
| Gemini 3.5 Flash Lite (batch) | $0,15 | $1,25 | Asynkrona nattjobb: minnesuppdatering, batch-generering |
|
||||
| Premium-eskalering (Skiva 2, framtid) | – | – | Större modell vid låg confidence (spec §33) – ej i volym ännu |
|
||||
| Modell | Input | Output | Roll i appen |
|
||||
| ------------------------------------- | ------ | ------ | -------------------------------------------------------------- |
|
||||
| Gemini 3.1 Flash Lite (standard) | $0,25 | $1,50 | Arbetshäst: all bildanalys, OCR, receptstrukturering (Skiva 1) |
|
||||
| Gemini 3.1 Flash Lite (batch, −50 %) | $0,125 | $0,75 | Asynkrona nattjobb: minnesuppdatering, batch-generering |
|
||||
| Premium-eskalering (Skiva 2, framtid) | – | – | Större modell vid låg confidence (spec §33) – ej i volym ännu |
|
||||
|
||||
Referens: Gemini 3.5 Flash Lite ligger på $0,30/$2,50 – dyrare på både in och ut, därför kör vi 3.1.
|
||||
|
||||
Hävstänger: batch-tier −50 %; context caching sänker upprepad input; AAMOS-specialistmodeller
|
||||
ersätter över tid externa anrop för de vanligaste bilduppgifterna (spec §33) → kostnaden nedan
|
||||
@@ -24,29 +27,29 @@ ersätter över tid externa anrop för de vanligaste bilduppgifterna (spec §33)
|
||||
|
||||
Antaget: bild ≈ 1 000 tokens (Gemini-tiling, A1), systemprompt+kontext ≈ 500–1 000 in,
|
||||
strukturerad JSON-output 400–1 200 ut (A2), växelkurs 10,50 SEK/USD (A4). All bildanalys på
|
||||
Gemini 3.5 Flash Lite standard-tier – ingen modell-eskalering i Skiva 1.
|
||||
Gemini 3.1 Flash Lite standard-tier – ingen modell-eskalering i Skiva 1.
|
||||
|
||||
| Uppgift | Tokens (in/ut) | Kostnad (Gemini 3.5 Flash Lite) |
|
||||
| Uppgift | Tokens (in/ut) | Kostnad (Gemini 3.1 Flash Lite) |
|
||||
| ------------------------------- | -------------- | ------------------------------- |
|
||||
| Kyl-/skafferibild (2 bilder) | 4 000 / 800 | **$0,003 ≈ 0,03 kr** |
|
||||
| Kvitto | 3 000 / 1 000 | $0,003 |
|
||||
| Tallriksfoto | 2 500 / 500 | $0,002 |
|
||||
| Näringsetikett/datum | 2 000 / 400 | $0,002 |
|
||||
| Receptstrukturering (text) | 2 500 / 1 200 | $0,004 |
|
||||
| Veckoplan | 3 000 / 800 | $0,003 |
|
||||
| Minnesuppdatering (batch, natt) | 4 000 / 600 | $0,0014 (batch-tier) |
|
||||
| Kyl-/skafferibild (2 bilder) | 4 000 / 800 | **$0,0022 ≈ 0,023 kr** |
|
||||
| Kvitto | 3 000 / 1 000 | $0,0023 |
|
||||
| Tallriksfoto | 2 500 / 500 | $0,0014 |
|
||||
| Näringsetikett/datum | 2 000 / 400 | $0,0011 |
|
||||
| Receptstrukturering (text) | 2 500 / 1 200 | $0,0024 |
|
||||
| Veckoplan | 3 000 / 800 | $0,0020 |
|
||||
| Minnesuppdatering (batch, natt) | 4 000 / 600 | $0,00095 (batch-tier) |
|
||||
|
||||
**Tumregel: ≈ $0,003 ≈ 0,03 kr per AI-skanning.** Deterministiska flöden (rekommendationer,
|
||||
**Tumregel: ≈ $0,002 ≈ 0,02 kr per AI-skanning.** Deterministiska flöden (rekommendationer,
|
||||
nutrition, streckkod, FEFO) kostar $0.
|
||||
|
||||
## Kostnad per användartyp och månad
|
||||
|
||||
| Profil | Antagande om användning | AI-kostnad/mån |
|
||||
| --------------------------- | ----------------------------------------- | ----------------------------------------------- |
|
||||
| Gratis | 5 skanningar (kvottak) | $0,015 ≈ 0,16 kr |
|
||||
| Household (aktivt) | 60 skanningar + 4 planer + nattligt minne | $0,21 ≈ 2,2 kr |
|
||||
| Family (aktivt) | 100 skanningar + 4 planer + minne | $0,33 ≈ 3,5 kr |
|
||||
| Family (maxar fair use 200) | värsta fallet | $0,60 ≈ 6,3 kr — fortfarande under 129 kr-priset |
|
||||
| Gratis | 5 skanningar (kvottak) | $0,011 ≈ 0,12 kr |
|
||||
| Household (aktivt) | 60 skanningar + 4 planer + nattligt minne | $0,14 ≈ 1,5 kr |
|
||||
| Family (aktivt) | 100 skanningar + 4 planer + minne | $0,22 ≈ 2,3 kr |
|
||||
| Family (maxar fair use 200) | värsta fallet | $0,41 ≈ 4,3 kr — fortfarande långt under priset |
|
||||
|
||||
Fair use-taken (100/200/400, gratis 5) gör att ingen enskild användare kan bli
|
||||
förlustaffär ens i värsta fallet.
|
||||
@@ -57,48 +60,53 @@ Antaget (A5): 60 % av registrerade är månadsaktiva; mix 80 % gratis / 20 % bet
|
||||
betalande mix 60/30/10 (Household/Family/Large); aktiva gratisanvändare gör 5
|
||||
skanningar, betalande enligt tabellen ovan.
|
||||
|
||||
| Registrerade | Aktiva | AI-kostnad/mån (USD) | ≈ SEK/mån | Intäkt/mån (SEK) | AI-andel av intäkt |
|
||||
| ------------ | ------ | -------------------- | ---------- | ---------------- | ------------------ |
|
||||
| 1 000 | 600 | ≈ $140 | 1 500 kr | ≈ 11 900 kr | 12 % |
|
||||
| 10 000 | 6 000 | ≈ $1 400 | 15 000 kr | ≈ 119 000 kr | 12 % |
|
||||
| 100 000 | 60 000 | ≈ $14 000 | 147 000 kr | ≈ 1 190 000 kr | 12 % |
|
||||
Baslinjetabellen nedan är en pessimistisk referens (en dyrare modell); raden under
|
||||
visar den faktiska kostnaden med Gemini 3.1 Flash Lite.
|
||||
|
||||
| Registrerade | Aktiva | Baslinje AI-kostnad/mån (USD) | ≈ SEK/mån | Intäkt/mån (SEK) | AI-andel (baslinje) |
|
||||
| ------------ | ------ | ----------------------------- | ---------- | ---------------- | ------------------- |
|
||||
| 1 000 | 600 | ≈ $140 | 1 500 kr | ≈ 11 900 kr | 12 % |
|
||||
| 10 000 | 6 000 | ≈ $1 400 | 15 000 kr | ≈ 119 000 kr | 12 % |
|
||||
| 100 000 | 60 000 | ≈ $14 000 | 147 000 kr | ≈ 1 190 000 kr | 12 % |
|
||||
|
||||
Intäktsantagande (A6): 20 % betalande × viktat pris ≈ 99 kr. Skalan är linjär tills
|
||||
specialistmodeller (spec §33) sänker styckkostnaden – rimligt mål är att halvera
|
||||
bildkostnaden vid >10 000 användare genom AAMOS-specialister + cachade prompts + batch.
|
||||
specialistmodeller (spec §33) sänker styckkostnaden ytterligare.
|
||||
|
||||
**Med Gemini 3.5 Flash Lite (~$0,003/skanning) blir AI-kostnaden ~3,3× lägre än tabellen ovan:**
|
||||
≈ $42 / 440 kr (1k reg), ≈ $420 / 4 400 kr (10k), ≈ $4 200 / 44 000 kr (100k). AI-andelen av
|
||||
intäkt sjunker från ~12 % till ~4 %. Firebase Auth tillkommer först vid 60 000 aktiva:
|
||||
**Med Gemini 3.1 Flash Lite (~$0,0022/skanning) blir den faktiska AI-kostnaden ~4,9× lägre än baslinjen ovan:**
|
||||
≈ $29 / 300 kr (1k reg), ≈ $285 / 3 000 kr (10k), ≈ $2 850 / 30 000 kr (100k). AI-andelen av
|
||||
intäkt sjunker från ~12 % till ~2,5 %. Firebase Auth tillkommer först vid 60 000 aktiva:
|
||||
10 000 × $0,0055 = $55/mån ≈ 580 kr.
|
||||
|
||||
## Känslighet
|
||||
|
||||
Dubbla bildstorleken (A1) → +~30 % (fler bild-tokens). Fler upptäckta varor per bild → mer,
|
||||
eftersom output ($2,50/1M) dominerar över input ($0,30/1M). Bevaka därför: tokens/bild och
|
||||
eftersom output ($1,50/1M) dominerar över input ($0,25/1M). Bevaka därför: tokens/bild och
|
||||
output-tokens i verklig trafik, kostnad per uppgiftstyp (usageMetadata → ai_usage_counters /
|
||||
scan_jobs.cost_usd → adminpanelen) med larm på dagsbudget (§58).
|
||||
|
||||
## Scenario: 100 000 trial-användare dag 1 (onboarding-toppen)
|
||||
|
||||
Antagande: 100 000 registrerar sig dag 1, alla kör 14-dagars trial (25 skanningar) och använder
|
||||
upp alla 25 på bilder i **medelkvalitet** via **Gemini 3.5 Flash Lite** (~$0,003/skanning:
|
||||
~1 500 input-tokens à $0,30/1M + ~700 output-tokens à $2,50/1M).
|
||||
upp alla 25 på 2-bilders kylskanningar i **medelkvalitet** via **Gemini 3.1 Flash Lite**
|
||||
(~$0,0022/skanning: ~4 000 input-tokens à $0,25/1M + ~800 output-tokens à $1,50/1M).
|
||||
|
||||
| Post | Beräkning | Kostnad |
|
||||
| ----------------------------- | -------------------------- | ---------------------------------- |
|
||||
| AI – trial-skanningar | 100 000 × 25 × $0,003 | **$7 500 ≈ 79 000 kr** (på 14 dgr) |
|
||||
| AI – trial-skanningar | 100 000 × 25 × $0,0022 | **$5 500 ≈ 58 000 kr** (på 14 dgr) |
|
||||
| Firebase Auth (100k MAU) | 50k gratis + 50k × $0,0055 | $275/mån ≈ 2 900 kr/mån |
|
||||
| **Totalt onboarding-månaden** | | **≈ $7 775 ≈ 82 000 kr** |
|
||||
| **Totalt onboarding-månaden** | | **≈ $5 775 ≈ 61 000 kr** |
|
||||
|
||||
AI står för ~97 %, men hela toppen är nu ~3,3× lägre än den tidigare felräkningen
|
||||
(263 000 kr → 79 000 kr) eftersom Flash Lite är långt billigare per token.
|
||||
AI står för ~95 %, men hela toppen är nu ~4,5× lägre än den tidigare felräkningen
|
||||
(263 000 kr → 58 000 kr) eftersom vi kör Gemini 3.1 Flash Lite (billigare än 3.5, långt
|
||||
billigare än den ursprungliga felräkningens modell). Kör trial-skanningar som enkla
|
||||
medelkvalitetsbilder (~1 500/700 tokens) landar toppen på ~37 000 kr – 58 000 kr är alltså
|
||||
ett tak.
|
||||
|
||||
Efter trial – om alla faller till gratis (5 skanningar/mån): 100 000 × 5 × $0,003 + Firebase
|
||||
≈ **19 000 kr/mån** utan intäkt. Break-even på den bördan: ~190 betalande (0,19 %), och
|
||||
trial-toppen (79 000 kr) tjänas in långt inom första månaden om ~2 % konverterar.
|
||||
Efter trial – om alla faller till gratis (5 skanningar/mån): 100 000 × 5 × $0,0022 + Firebase
|
||||
≈ **14 000 kr/mån** utan intäkt. Break-even på den bördan: ~145 betalande (0,15 %), och
|
||||
trial-toppen (58 000 kr) tjänas in långt inom första månaden om ~2 % konverterar.
|
||||
|
||||
Slutsats: med rätt modell är onboarding-toppen ~79 000 kr på 14 dagar vid 100k dag-1 – en
|
||||
hanterbar post och strukturellt ofarlig. Batch-tier (Flash Lite $0,15/$1,25) halverar dessutom
|
||||
Slutsats: med rätt modell är onboarding-toppen ~58 000 kr på 14 dagar vid 100k dag-1 – en
|
||||
hanterbar post och strukturellt ofarlig. Batch-tier (Flash Lite $0,125/$0,75) halverar dessutom
|
||||
nattliga minnesjobb. Bevaka faktisk token-förbrukning per skanning (usageMetadata →
|
||||
ai_usage_counters) och konvertering – inte Firebase.
|
||||
|
||||
Reference in New Issue
Block a user