- Critical bucket (9 files): substantive content updates basert på MCP-fetch - enterprise-governance: DSPM front door, AI-app-kategorier (3), single-tenant Entra ID - rag-cost-optimization, observability, ai-services-enterprise, multi-model-strategy: dato-bump - deterministic-cost: Copilot Credits offisiell common currency (2025-09-01), CCCU prepurchase - gpt5-gpt41-pricing: utvidet Copilot Studio modell-lineup (GPT-5.2, GPT-5.3, Claude 4.6, Grok 4.1) - vector-storage, request-batching: dato-bump (DS allerede dekkende) - High batch 1 (21 files, 10-30): Last updated 2026-04→2026-05 dato-bump Substantive Microsoft Learn-endringer var marginale per fetch — kosmetiske oppdateringer. Resterende: high batch 2 (filer 31-53, 23 filer) i ny sesjon. Se NEXT-SESSION-PROMPT.local.md.
23 KiB
RAG Cost Optimization and Efficiency
Last updated: 2026-05 Status: GA Category: RAG Architecture & Semantic Search
Introduksjon
Kostnadsoptimalisering av RAG-løsninger (Retrieval-Augmented Generation) handler om å balansere tre faktorer: kvalitet, ytelse og kostnad. En RAG-arkitektur har flere kostnadsdrivere – fra embedding-generering og vektorindeksering til API-kall mot language models og lagring i Azure AI Search. Denne guiden dekker strategier for å redusere kostnader uten å ofre kvalitet, med fokus på Microsoft AI-stakken.
RAG-kostnader kan deles i to hovedkategorier: engangskostnader (data pipeline, embedding-generering, indeksering) og løpende driftskostnader (queries, inferencing, hosting). Begge kategoriene krever ulike optimeringsstrategier. Nøkkelen er å forstå hvilke komponenter som driver kostnadene, og implementere målrettede tiltak for hver av dem.
For offentlig sektor i Norge er kostnadseffektivitet spesielt viktig grunnet budsjettbegrensninger, anskaffelsesregler og krav til dokumentasjon. RAG-løsninger kan raskt bli kostbare hvis de ikke designes med kostnadsbevissthet fra start. Denne guiden gir konkrete verktøy og metoder for å holde kostnadene under kontroll.
Kjernekomponenter
1. Azure AI Search Tier Selection
Valg av Azure AI Search pricing tier er avgjørende for total kostnad:
| Tier | Use Case | Storage | QPM Limit | Pris/mnd (estimat) |
|---|---|---|---|---|
| Free | POC, testing | 50 MB | Begrenset | NOK 0 |
| Basic | Små produksjonsløsninger | 15 GB (services opprettet etter april 2024; eldre: 2 GB) | Moderat | ~NOK 700 |
| S1 | Standard produksjon | 25 GB/partition | Høy | ~NOK 2,500 |
| S2 | Store løsninger | 100 GB/partition | Meget høy | ~NOK 10,000 |
| S3 HD | Multitenant, mange små indekser | 200 GB | Høy | ~NOK 20,000 |
| L1/L2 | Storage-optimized, sjeldne queries | 1 TB+ | Lavere | ~NOK 15,000+ |
Viktig: Services opprettet etter april 2024 får større partitions til samme pris. Basic-tier: 15 GB per partisjon (eldre services: 2 GB). S1: 25 GB per partisjon. Tier switching er nå støttet — du kan bytte mellom Basic og Standard S1 direkte uten å recreate servicen. Verified (MCP 2026-04).
2. Token Cost Reduction Strategies
Azure OpenAI-kostnader er tokene-basert. Redusering av token-forbruk gir direkte kostnadsbesparelse:
Input token optimization:
- Chunk size tuning: Bruk minste chunk size som gir tilstrekkelig kontekst (512-1024 tokens typisk)
- Retrieval filtering: Hent kun relevante chunks (k=3-5 i stedet for k=10)
- Prompt compression: Fjern overflødig tekst fra system prompts
- Query optimization: Pre-prosesser brukerqueries for å redusere lengde
Output token optimization:
- max_tokens parameter: Sett eksplisitt grense for respons-lengde
- Stream responses: Bruk streaming for bedre UX og kontroll
- Stop sequences: Definer stop tokens for å unngå unødvendig generering
Batch processing:
- Azure OpenAI Batch API: 50% rabatt sammenlignet med standard API
- Ideal for offline-prosessering (dokumentanalyse, bulk-embedding)
- 24-timers SLA, separat quota, ingen påvirkning av online workloads
3. Embedding Model Selection
Embedding models har direkte kostnad-påvirkning både i generering og lagring:
| Model | Dimensions | Cost/1M tokens | Storage Impact | Use Case |
|---|---|---|---|---|
| text-embedding-ada-002 | 1536 | ~NOK 1.00 | Standard | Legacy, deprecated |
| text-embedding-3-small | 512-1536 | ~NOK 0.20 | Kompakt | Kostnadseffektiv |
| text-embedding-3-large | 1024-3072 | ~NOK 1.30 | Større | Høy presisjon |
| Multilingual-e5-large | 1024 | Varierer | Standard | Flerspråklig |
Dimensionality reduction:
- text-embedding-3-* modeller støtter dimensionality reduction
- Reduserer lagringskostnader i vektor-database
- Minimal kvalitetstap for mange use cases (test før deployment)
Caching strategies:
- Cache embeddings for repeterende queries
- Bruk Azure Cache for Redis eller Cosmos DB
- TTL-basert invalidering for fresh data
4. Index Size Management
Vector index størrelse påvirker både lagring og query-kostnader:
Compression techniques:
- Scalar quantization: Reduserer vector storage med 75% (float32 → int8)
- Binary quantization: 96.875% reduksjon, egnet for mange use cases
- Azure AI Search støtter built-in compression (opptil 92.5% kostnadsreduksjon)
Incremental indexing:
- Index kun nye/endrede dokumenter, ikke hele corpus
- Bruk
indexActionparameter i indexer-pipelines - Reduserer AI enrichment-kostnader ved re-indexing
Enrichment caching:
- Cache AI enrichment-resultater i Azure Storage
- Gjenbruk tidligere prosesserte data ved re-indexing
- Lagringskostnad << enrichment-kostnad for store volumer
5. Query Optimization
Query-typer har ulik kostnad og performance-profil:
| Query Type | Speed | Cost | Accuracy | When to Use |
|---|---|---|---|---|
| Vector only | Rask | Medium | Høy semantic | Semantic likhet viktig |
| Keyword only | Raskest | Lavest | Høy presisjon | Eksakte matches |
| Hybrid | Moderat | Høyere | Best | Balansert relevans |
| Semantic ranking | Tregere | Premium charge | Svært høy | Viktigste queries |
Hybrid search optimization:
- Kombiner keyword + vector for best relevans/kostnad-ratio
- Bruk keyword pre-filtering før vector search
- Progressive retrieval: start billig, eskalér ved behov
Semantic ranker (premium feature):
- Koster per query (NOK ~0.50-2.00 per 1000 queries)
- Bruk selektivt for høy-verdi queries
- A/B-test mot hybrid search for ROI-validering
6. Scaling Strategies
Azure AI Search-kostnader skalerer ikke-lineært:
Dynamic scaling:
- Scale up for indexing workloads, scale down for query-only periods
- Automate scaling med Azure Functions/Logic Apps
- Viktig: Doubling capacity > doubles cost på samme tier
Tier switching optimization:
- S1 med mange replicas/partitions kan være dyrere enn S2 base
- S2 har bedre compute og mer minne per SU
- Kalkuler break-even point før scaling horisontalt
Replica vs. partition tuning:
- Partitions: Øker storage og indexing throughput
- Replicas: Øker query capacity og redundans
- Legg til partitions kun når index size eller ingestion krever det
- Legg til replicas kun når QPS er for høyt eller HA trengs
Arkitekturmønstre
1. Tiered Search Architecture
Konsept: Bruk billige søk først, eskalér til dyre kun ved behov.
Implementering:
User Query
↓
1. Keyword Search (billigst, raskest)
↓ [hvis < 5 resultater med score > 0.8]
2. Vector Search (dyrere, saktere)
↓ [hvis < 3 resultater med score > 0.85]
3. Hybrid + Semantic Ranker (dyrest, best)
Fordeler:
- Reduserer kostnad for 70-80% av queries
- Bedre latency for enkle queries
- Bevarer kvalitet for komplekse queries
Ulemper:
- Kompleksitet i query-routing logikk
- Potential for inkonsistent UX
- Krever grundig testing av thresholds
2. Smart Caching with Embeddings
Konsept: Cache både embeddings og query-resultater for å redusere API-kall.
Implementering:
Query → Hash → Cache Lookup (Redis)
↓ [cache miss]
Generate Embedding (Azure OpenAI)
↓
Store in Cache (TTL: 7 days)
↓
Vector Search → Cache Results (TTL: 1 hour)
Fordeler:
- Eliminerer duplicate embedding-generering
- Reduserer Azure OpenAI API-kostnader med 40-60%
- Raskere response times
Ulemper:
- Cache-infrastruktur koster (men mindre enn API-kall)
- TTL-tuning krever monitorering
- Stale data-risiko for dynamiske corpus
3. Model Cascading
Konsept: Bruk billige modeller for enkle oppgaver, dyre for komplekse.
Implementering:
Simple Query → GPT-4o-mini (billig, rask)
↓ [hvis confidence < 0.7]
Complex Query → GPT-4o (dyrere, smartere)
↓ [hvis krever reasoning]
Multi-step Task → GPT-4o + reasoning mode
Fordeler:
- Optimaliserer kostnad per query-type
- GPT-4o-mini kan være 10x billigere
- Bevarer kvalitet for viktige queries
Ulemper:
- Confidence scoring krever testing
- Latency øker ved escalation
- Kompleks orchestration-logikk
Beslutningsveiledning
Når skal jeg velge Basic vs. S1?
| Scenario | Anbefaling | Begrunnelse |
|---|---|---|
| Pilot med < 10K dokumenter | Basic | Koster ~1/3 av S1, tilstrekkelig for testing |
| Produksjon < 100K dokumenter | Basic | Kan skalere til 3 replicas for HA; 15 GB/partisjon gir god buffer |
| Produksjon > 100K dokumenter | S1 | Bedre partition size, raskere indexing |
| Multitenant med mange små indekser | S3 HD | Optimalisert for høy index-count |
| Stort arkiv, sjeldne queries | L1/L2 | Beste storage/kostnad-ratio |
Vanlige feil
- Over-embedding: Generere embeddings for alt innhold, også metadata/headers
- Fix: Kun embed semantisk meningsfylt tekst
- Over-indexing: Re-index hele corpus ved små endringer
- Fix: Incremental indexing + enrichment cache
- Over-retrieving: Hente k=10-20 chunks per query
- Fix: Start med k=3-5, øk kun hvis nødvendig
- Ignoring compression: Bruke full float32 vectors
- Fix: Aktiver scalar/binary quantization i Azure AI Search
- No caching: Generere embeddings på nytt for like queries
- Fix: Implementer embedding cache med Redis
Røde flagg
- Token usage øker > 50% per måned uten økning i brukere → sjekk for ineffektive prompts
- Index size > 10x source data → sjekk for duplikater eller unødvendig enrichment
- Query latency > 2 sekunder → vurder høyere tier eller optimalisering
- Costs > NOK 50,000/mnd for < 10,000 queries/dag → arkitektur-review nødvendig
Integrasjon med Microsoft-stakken
Azure Cost Management
Setup:
# Opprett budget alert via Azure CLI
az consumption budget create \
--name "AI-Search-Monthly-Budget" \
--amount 10000 \
--time-grain Monthly \
--category Cost \
--resource-group <rg-name>
Best practices:
- Sett budgets per resource group (Search, OpenAI separat)
- Opprett alerts på 50%, 80%, 100% av budget
- Exporter cost data til Power BI for analyse
Azure Monitor
Key metrics å overvåke:
| Metric | Threshold | Action |
|---|---|---|
| QPS (Queries/sec) | > 80% av tier limit | Øk replicas eller tier |
| Throttled queries | > 5% | Øk capacity eller optimaliser queries |
| Index size growth | > 20%/mnd | Review chunking strategy |
| Token usage trend | > 30% økning | Audit prompt efficiency |
Alerting-regel eksempel:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SEARCH"
| where OperationName == "Query.Search"
| summarize AvgDuration=avg(DurationMs), Count=count() by bin(TimeGenerated, 1h)
| where AvgDuration > 2000 // Alert hvis avg > 2 sekunder
Azure Advisor
Azure Advisor gir automatiske cost optimization-anbefalinger:
- Right-sizing: Forslag til tier-nedgradering hvis under-utilized
- Idle resources: Detekterer ubrukte search services
- Reservation recommendations: RI-forslag for predictable workloads
Aksjonspunkt: Reviewer Advisor recommendations månedlig.
Offentlig sektor (Norge)
Budsjettplanlegging
Anskaffelsescykluser:
- Årlige budsjetter krever presis kostnadsprediksjon
- Bruk 6-måneders pilot med 1-5% av data for estimering
- Buffer med 20-30% for uforutsett vekst
Kostnadsfordelingsmodell for delt infrastruktur:
| Kostnadselement | Allokering | Metode |
|---|---|---|
| Azure AI Search base | Per avdeling | Fixed % basert på index size |
| Azure OpenAI tokens | Per query | Pay-per-use tracking med tags |
| Storage (embeddings) | Per prosjekt | Direkte kostnad per resource group |
Anskaffelsesregler
LDO-kompabilitet (Lov om offentlige anskaffelser):
- Azure Enterprise Agreements (EA) er pre-approved for stat
- Commitment-based pricing krever godkjenning for > NOK 100,000
- Dokumenter cost-benefit analysis for RAG vs. alternativer
Multi-year contracts:
- Azure Reservations (1-3 år) gir 30-60% rabatt
- Krev break-even analysis og usage forecasting
- Kun for stabile workloads (produksjon, ikke pilot)
Kostnadsrapportering
Kvartalsrapportering til departement:
Q1 2026 RAG Cost Breakdown:
- Azure AI Search (S1, 2 replicas): NOK 5,000
- Azure OpenAI (gpt-4o, 10M tokens): NOK 12,000
- Storage (embeddings + cache): NOK 800
- Networking: NOK 200
Total: NOK 18,000
Metrics:
- 25,000 queries served
- NOK 0.72 per query
- 95% user satisfaction
KPI-er for cost efficiency:
- Cost per query (target: < NOK 1.00 for offentlig sektor)
- Cost per user (monthly active users)
- ROI: Time saved × hourly rate > RAG costs
Kostnad og lisensiering
Azure AI Search Pricing (Norge, 2026)
| Tier | Hourly Rate (NOK) | Monthly (730 hrs) | Search Units (SU) | Note |
|---|---|---|---|---|
| Free | 0.00 | 0 | 1 | 50 MB, 1 index limit |
| Basic | ~1.00 | ~730 | 1-3 | 15 GB per partition (etter april 2024) |
| S1 | ~3.50 | ~2,555 | 1-36 | 25 GB per partition |
| S2 | ~13.50 | ~9,855 | 1-36 | 100 GB per partition |
| S3 | ~27.00 | ~19,710 | 1-36 | 200 GB per partition |
| S3 HD | ~27.00 | ~19,710 | 1-36 | Optimalisert for mange indekser |
| L1 | ~20.00 | ~14,600 | 1-12 | 1 TB per partition |
| L2 | ~40.00 | ~29,200 | 1-12 | 2 TB per partition |
Viktig: Kostnader = Base rate × (replicas × partitions). Eks: S1 med 2 replicas og 2 partitions = 4 SU = NOK 10,220/mnd.
Azure OpenAI Pricing (Norge, 2026)
| Model | Input (per 1M tokens) | Output (per 1M tokens) | Use Case |
|---|---|---|---|
| gpt-4o | ~NOK 50 | ~NOK 150 | Høy kvalitet, produksjon |
| gpt-4o-mini | ~NOK 1.5 | ~NOK 6 | Kostnadseffektiv, enkle tasks |
| text-embedding-3-small | ~NOK 0.20 | N/A | Embeddings, budget-vennlig |
| text-embedding-3-large | ~NOK 1.30 | N/A | Embeddings, best performance |
Batch API: 50% rabatt på alle modeller (gjelder kun async workloads).
Premium Features (tilleggskostnader)
| Feature | Kostnad | Påvirkning |
|---|---|---|
| Semantic Ranker | ~NOK 5.00 per 1000 queries | Bedre relevans, dyrere |
| AI Enrichment (OCR, entities) | Per 1000 transactions | Variable, kan være høye |
| Enrichment Cache | Azure Storage rate | Lav (< NOK 50/mnd typisk) |
| Knowledge Store | Azure Storage rate | Lav, avhenger av volum |
| Customer-managed keys | Azure Key Vault rate | ~NOK 50/mnd |
ROI Calculation Framework
Eksempel: Dokumentsøk for 50 saksbehandlere
Før RAG:
- 30 min/dag manuell søking per person
- 50 personer × 30 min × 220 dager/år = 5,500 timer
- Timerate: NOK 600 → Årlig kostnad: NOK 3,300,000
Med RAG:
- 10 min/dag RAG-søk (20 min spart)
- 3,667 timer spart × NOK 600 = NOK 2,200,000 besparelse
- RAG infrastructure: NOK 250,000/år
- Netto besparelse: NOK 1,950,000 (591% ROI)
Break-even: 2-3 måneder for typisk offentlig sektor use case.
For arkitekten (Cosmo)
Spørsmål å stille kunden
-
"Hva er dagens månedsbudsjett for denne løsningen, og hva er akseptabel kostnad per query?"
- Hjelper sette cost constraints fra start
- Typisk target: NOK 0.50-2.00 per query avhengig av kompleksitet
-
"Hvor mange dokumenter skal indekseres, og hvor ofte endres de?"
- Bestemmer incremental vs. full re-indexing strategi
- Statisk corpus → billigere, dynamisk → trenger caching
-
"Hva er forventet query volume, og er det forutsigbart (daglig/ukentlig mønster)?"
- Forutsigbart → commitment pricing mulig (30-60% rabatt)
- Uforutsigbart → pay-as-you-go, men dyrere
-
"Hvor viktig er semantic quality vs. eksakt keyword matching?"
- Høy semantic need → må investere i vector search
- Keyword-tungt → kan spare på hybrid search
-
"Skal dette være multitenant, og trenger vi cost tracking per bruker/avdeling?"
- Bestemmer tagging-strategi i Azure
- Påvirker index design (shared vs. separate indexes)
-
"Hva er tolerance for query latency? (< 1s, < 2s, < 5s?)"
- Lavere latency → høyere tier nødvendig → dyrere
- Høyere tolerance → kan optimalisere kostnad
-
"Har dere eksisterende Azure EA eller commitment-avtaler?"
- Kan påvirke pricing significantly
- Reserved instances tilgjengelig?
-
"Trenger dere compliance-features som customer-managed keys?"
- Legger til NOK 50-100/mnd i Key Vault-kostnader
- Kan kreve høyere tiers
Fallgruver å unngå
-
"One-size-fits-all embedding model"
- Mange velger text-embedding-3-large for alt
- Vurder -small for metadata/tags, -large for hoveddokumenter
-
"No baseline measurement"
- Start pilot uten å måle initial costs
- Implementer cost tracking fra dag 1 (Azure tags, Cost Management)
-
"Ignoring regional pricing differences"
- Azure OpenAI priser varierer per region
- Sweden Central ofte billigere enn Norway East (men vurder dataresidency)
-
"Over-engineering for pilot phase"
- Bruker S2 for 1000-dokument POC
- Start med Basic, skalér etterhvert som behov vises
-
"No query optimization"
- Sender hele dokumenter som context til LLM
- Chunk smart, retrieve relevant, summarize før sending
-
"Static scaling"
- Provisionerer for peak load 24/7
- Implementer dynamic scaling for natt/helg (kan spare 30-40%)
Anbefalinger per modenhetsnivå
Level 1: Pilot/POC (0-3 måneder)
- Tier: Basic eller Free
- Embedding: text-embedding-3-small
- LLM: gpt-4o-mini (95% av queries), gpt-4o (5% komplekse)
- Caching: Ikke nødvendig ennå
- Monitoring: Gratis Azure Monitor alerts
- Estimert kostnad: NOK 1,000-5,000/mnd
Level 2: Production MVP (3-12 måneder)
- Tier: S1 (1 partition, 2 replicas for HA)
- Embedding: text-embedding-3-large (testing for quality)
- LLM: gpt-4o (produksjon), cascading til gpt-4o-mini
- Caching: Redis Cache for embeddings (Basic tier)
- Monitoring: Custom dashboards i Azure Monitor
- Estimert kostnad: NOK 15,000-50,000/mnd
Level 3: Enterprise Scale (12+ måneder)
- Tier: S2 eller S3 (multi-replica, multi-partition)
- Embedding: Fine-tuned custom embeddings (vurder)
- LLM: gpt-4o med Provisioned Throughput (commitment pricing)
- Caching: Redis Premium + enrichment cache
- Monitoring: Azure Monitor Workbooks + Power BI dashboards
- Estimert kostnad: NOK 100,000-500,000/mnd (avhenger av scale)
Level 4: Optimalisert/Mature (18+ måneder)
- Tier: Multi-tier architecture (L1/L2 for archival, S3 for active)
- Embedding: Custom fine-tuned, dimensionality reduction
- LLM: Model cascading, batch processing for non-urgent
- Caching: Multi-layer (Redis + CDN for static content)
- Monitoring: Predictive cost analytics, automated optimization
- Estimert kostnad: Varierer, men typisk 30-50% lavere enn Level 3 for samme throughput
Kilder og verifisering
Microsoft Learn Resources (Verified 2026-02)
Azure AI Search Cost Management:
- Plan and manage costs of Azure AI Search — Verified: Comprehensive cost optimization strategies
- Choose a service tier for Azure AI Search — Verified: Tier comparison and billing model
- Vector compression best practices — Verified: Compression techniques (92.5% reduction)
Azure OpenAI Cost Management:
- Plan and manage costs for Azure OpenAI — Verified: Token-based billing, fine-tuning costs
- Azure OpenAI Batch API — Verified: 50% cost reduction for batch workloads
- Fine-tuning cost management — Verified: Hosting + inference + training costs
RAG Architecture & Optimization:
- RAG design and evaluation guide — Verified: End-to-end RAG considerations
- RAG chunking economics — Verified: Chunking cost optimization
- RAG embedding economics — Verified: Embedding model selection trade-offs
- Retrieval cost and latency considerations — Verified: Query cost analysis
Cloud Adoption Framework:
- Manage AI costs — Verified: Enterprise cost governance
- Govern AI costs — Verified: Gateway controls, automated shutdown
Azure Databricks (Reference):
- Build unstructured data pipeline for RAG — Baseline: Model selection factors
- RAG on Azure Databricks — Baseline: Component cost breakdown
Konfidensnivå per seksjon
| Seksjon | Confidence | Grunnlag |
|---|---|---|
| Azure AI Search Tier Selection | Verified | Microsoft Learn pricing docs, feb 2026 |
| Token Cost Reduction | Verified | Azure OpenAI official docs |
| Embedding Model Pricing | Verified | Pricing page + docs |
| Index Compression | Verified | Tech Community blog (92.5% compression) |
| Batch API Pricing | Verified | Official docs (50% discount) |
| Semantic Ranker Costs | Verified | Pricing page |
| Norwegian Pricing Estimates | Baseline | USD → NOK conversion (11.5 rate), approximate |
| ROI Calculations | Baseline | Industry estimates + model knowledge |
| Public Sector Best Practices | Baseline | General knowledge + Azure CAF guidance |
Viktig: Prisestimatene i NOK er basert på USD-priser konvertert med kurs 11.5. Alltid verifiser gjeldende priser på Azure Pricing Calculator før budsjettplanlegging.
Document version: 1.0 Research sources: 13 Microsoft Learn articles MCP calls: 3 (search) + 2 (fetch) = 5 total Last validated: 2026-04-09