# Vector Storage and Embedding Cost Optimization **Last updated:** 2026-06-19 **Status:** GA **Category:** Cost Optimization & FinOps for AI **Type:** reference **Source:** https://learn.microsoft.com/azure/foundry/concepts/manage-costs --- ## Innhold - [Introduksjon](#introduksjon) - [Kjernekomponenter](#kjernekomponenter) - [Arkitekturmønstre](#arkitekturmønstre) - [Beslutningsveiledning](#beslutningsveiledning) - [Integrasjon med Microsoft-stakken](#integrasjon-med-microsoft-stakken) - [Offentlig sektor (Norge)](#offentlig-sektor-norge) - [Kostnad og lisensiering](#kostnad-og-lisensiering) - [For arkitekten (Cosmo)](#for-arkitekten-cosmo) - [Kilder og verifisering](#kilder-og-verifisering) ## Introduksjon Vector storage og embeddings utgjør ofte den største kostnadsposten i moderne RAG-løsninger (Retrieval Augmented Generation). En typisk embedding-modell genererer vektorer på 1536 dimensjoner (text-embedding-ada-002) eller opptil 3072 dimensjoner (text-embedding-3-large), der hver dimensjon lagres som et 32-bit flyttall (float32). Dette gir en råstørrelse på 6-12 KB per dokument, før man tar høyde for algoritme-overhead og indekseringsstrukturer. For organisasjoner som indekserer millioner av dokumenter, kan kostnadene raskt løpe fra seg — både i form av Azure-lagringsregning og minnekrav for søkeytelse. Heldigvis finnes det nå flere Microsoft-støttede teknikker som kan redusere vector index-størrelse med opptil 92,5 % uten vesentlig tap av søkekvalitet. Denne referansen dekker fem hovedområder for kostnadsoptimalisering: (1) valg av embedding-modell og dimensjonalitet, (2) quantization (scalar og binary), (3) lagringsoptimalisering, (4) Matryoshka Representation Learning (MRL) for dimension-reduksjon, og (5) algoritmevalg og skaleringsstrategier. Sammen utgjør disse en helhetlig tilnærming til å bygge kostnadseffektive, skalerbare vector search-løsninger på Microsoft Azure. ## Kjernekomponenter ### Embedding-modell-valg | Modell | Dimensjoner | Pris (input, per 1M tokens) | Pris (output) | Bruksområde | |--------|-------------|------------------------------|---------------|-------------| | **text-embedding-ada-002** | 1536 | ~$0.10 USD | N/A | Legacy, god baseline-ytelse | | **text-embedding-3-small** | 1536 (default) | ~$0.02 USD | N/A | Kostnadseffektiv, god ytelse, MRL-støtte | | **text-embedding-3-large** | 3072 (default) | ~$0.13 USD | N/A | Høyeste kvalitet, MRL-støtte, støtter truncation | **Konfidensgradering:** - Ada-002: Verified (Microsoft Learn, januar 2026) - text-embedding-3-*: Verified (Microsoft Learn, januar 2026) - Prisene er omtrentlige og kan variere per region og avtaletype ### Quantization-teknikker | Metode | Kompresjon | Lagringsreduksjon | Kvalitetsimpakt | Rescoring | |--------|------------|-------------------|-----------------|-----------| | **Scalar (int8)** | float32 → int8 | 4x reduksjon | Minimal (med rescoring) | Krever original float32 | | **Binary** | float32 → 1 bit | Opptil 28x reduksjon | Lav (med oversampling) | Kan bruke dot-product | | **float16** | float32 → float16 | 2x reduksjon | Neglisjerbar | Ikke nødvendig | **Benchmark (Azure AI Search interntesting):** - Baseline (float32): 21.36 MB storage, 4.83 MB vector index - Scalar quantization: 17.76 MB storage, 1.22 MB vector index (75 % reduksjon) - Binary quantization: 4.92 MB storage, 1.22 MB vector index (77 % total reduksjon) - **Alle teknikker kombinert**: 4.92 MB storage, 1.22 MB vector index (92,5 % reduksjon) ### Dimension-reduksjon (MRL) Matryoshka Representation Learning (MRL) er bakt inn i text-embedding-3-modellene. Dette betyr at man kan trunkere dimensjoner fra 3072 → 1024 eller 1536 → 512 med minimal tap av semantisk informasjon. | Modell | Original dim. | Trunkert dim. | Lagringsreduksjon | MTEB-score (approx) | |--------|---------------|---------------|-------------------|---------------------| | text-embedding-3-large | 3072 | 1024 | 3x | ~95 % av original | | text-embedding-3-small | 1536 | 512 | 3x | ~92 % av original | MRL fungerer best i kombinasjon med binary quantization. Anbefalt minstegrense: 1024 dimensjoner ved bruk av binary quantization (under 1000 gir merkbar kvalitetsforringelse). ### Lagringsoptimalisering Azure AI Search lagrer vektorer i to kopier: 1. **Index copy** (i minne, brukes til query execution) 2. **Stored copy** (på disk, brukes til retrieval i query response) Ved å sette `stored: false` kan man spare opptil 50 % disklagring, men man mister muligheten til å returnere vektorer i query-responser. Dette er akseptabelt i de fleste RAG-scenarier der kun tekst/metadata returneres. **Advarsel:** Ved `stored: false` må man re-sende fullstendige vektorer ved partial document updates, ellers går data tapt. ### Vector index-algoritmer | Algoritme | Minnekrav | Query-latens | Bruksområde | |-----------|-----------|--------------|-------------| | **HNSW** | Høy (graph i minne) | 20-50 ms (standard tier) | Produksjon, høy throughput | | **Exhaustive KNN** | Lav (paged loading) | Høyere | Utviklingsmiljø, små datasett | HNSW (Hierarchical Navigable Small Worlds) er anbefalt for produksjon, men krever at hele grafen ligger i minne. Dette driver opp vector quota-forbruk. Exhaustive KNN laster data on-demand og teller ikke mot vector quota, men er tregere. ## Arkitekturmønstre ### Mønster 1: Maksimal kompresjon (Binary + MRL + no stored) **Beskrivelse:** Kombinerer binary quantization, MRL dimension-reduksjon, og `stored: false` for absolutt laveste kostnader. **Fordeler:** - Opptil 96 % reduksjon i vector index size - 50 % disklagringsreduksjon - Raskere queries (mindre data å scanne) - Lavere minnekrav **Ulemper:** - Krever text-embedding-3 modeller - Kan ikke returnere vektorer i responses - Krever omhyggelig testing av search quality (NDCG-metrics) - Partial document updates må inkludere fullstendige vektorer **Egnet for:** - Store datasett (10M+ dokumenter) - Tight budsjetter - Embeddings > 1024 dimensjoner - Scenarier der kun tekst/metadata returneres **Konfigurasjon (Azure AI Search):** ```json { "vectorSearch": { "compressions": [{ "name": "binary-mrl", "kind": "binaryQuantization", "rescoringOptions": { "enableRescoring": true, "defaultOversampling": 10, "rescoreStorageMethod": "discardOriginals" }, "truncationDimension": 1024 }] } } ``` ### Mønster 2: Balansert tilnærming (Scalar + float16) **Beskrivelse:** Bruker scalar quantization (int8) med float16 som base-type, beholder original vektorer for rescoring. **Fordeler:** - God balanse mellom kostnad og kvalitet - Støtter rescoring med original precision - Enklere å implementere enn binary - Kan returnere vektorer i responses **Ulemper:** - Krever lagring av både quantized og original vektorer - Mindre kompresjon enn binary (4x vs 28x) - Høyere minnekrav enn binary **Egnet for:** - Medium datasett (1M-10M dokumenter) - Scenarier med strenge kvalitetskrav - Behov for vector-retur i responses - Organisasjoner som er nye på quantization **Konfigurasjon (Azure AI Search):** ```json { "fields": [{ "name": "contentVector", "type": "Collection(Edm.Half)", "dimensions": 1536, "vectorSearchProfile": "scalar-profile" }], "vectorSearch": { "compressions": [{ "name": "scalar-int8", "kind": "scalarQuantization", "scalarQuantizationParameters": {"quantizedDataType": "int8"}, "rescoringOptions": { "enableRescoring": true, "defaultOversampling": 10, "rescoreStorageMethod": "preserveOriginals" } }] } } ``` ### Mønster 3: Hybrid (Full-precision + Quantized fields) **Beskrivelse:** Kombinerer ett high-precision vector field (float32, ingen quantization) med ett quantized field (binary) i samme index. Bruker quantized field for rask pre-filtering, deretter rescoring mot full-precision. **Fordeler:** - Maksimal search quality - Rask pre-filtering - Fleksibilitet i query-strategi **Ulemper:** - Høyeste lagringskostnad - Kompleks index-design - Dobbel embedding-generering ved indeksering **Egnet for:** - High-value search-scenarier (medisinsk, juridisk) - Hybrid search (vector + keyword) med strenge krav - Organisasjoner med budsjett til premium quality **Konfigurasjon (Azure AI Search):** ```json { "fields": [ { "name": "contentVectorFull", "type": "Collection(Edm.Single)", "dimensions": 3072, "vectorSearchProfile": "full-precision-profile" }, { "name": "contentVectorCompressed", "type": "Collection(Edm.Single)", "dimensions": 1024, "vectorSearchProfile": "binary-profile" } ] } ``` ## Beslutningsveiledning ### Beslutningstabell | Scenario | Anbefalt tilnærming | Forventet besparelse | |----------|---------------------|---------------------| | **Stor kunnskapsbase (10M+ docs), tight budsjett** | Binary + MRL (1024 dim) + stored:false | 90-95 % | | **Medium dataset (1-10M docs), balansert kvalitet/kostnad** | Scalar + float16 + MRL (optional) | 70-80 % | | **Liten dataset (<1M docs), høy kvalitetskrav** | float16 eller float32, ingen quantization | 0-50 % | | **Legacy ada-002 embeddings, migrering planlagt** | Scalar quantization, behold originals | 60-70 % | | **text-embedding-3-large, ny løsning** | Binary + MRL (1024 dim) | 92-96 % | ### Vanlige feil 1. **Bruke binary quantization med <1000 dimensjoner** - Fører til merkbar kvalitetsforringelse - Løsning: Øk til minimum 1024 dimensjoner eller bruk scalar 2. **Glemme å teste NDCG-metrics før produksjon** - Quantization er lossy — alltid valider - Løsning: Sammenlign NDCG@10 mellom baseline og quantized index 3. **Sette stored:false uten å forstå konsekvensene** - Partial updates vil slette vector data - Løsning: Implementer full document replacement i update-logikk 4. **Oversampling satt for lavt** - Default er 4, anbefalt er 10-20 for binary quantization - Løsning: Tuner oversampling basert på query-tester 5. **Gjenbruke gamle vector profiles etter quantization-endringer** - Quantization-config krever ny vector profile - Løsning: Opprett ny profile, re-indekser dokumenter ### Røde flagg - **Vector quota 90 %+ utnyttet:** Vurder umiddelbart quantization eller oppgradering til nyere search service (post-April 2024 har høyere quotas) - **Storage costs >50 % av total AI Search bill:** Sjekk om `stored: false` kan brukes - **Query latency >200ms:** For høy dimensjonalitet eller feil SKU (vurder dimension-reduksjon eller S2/S3 tier) - **Embedding costs >30 % av total AI-kostnad:** Bytt til text-embedding-3-small fra ada-002 eller -large ## Integrasjon med Microsoft-stakken ### Azure AI Search **Vector quantization (GA siden 2024-07-01):** ```http POST https://[service].search.windows.net/indexes?api-version=2025-09-01 { "name": "cost-optimized-index", "fields": [...], "vectorSearch": { "profiles": [{ "name": "binary-profile", "algorithm": "hnsw-algo", "compression": "binary-comp" }], "algorithms": [{ "name": "hnsw-algo", "kind": "hnsw", "hnswParameters": {"m": 4, "efConstruction": 400, "metric": "cosine"} }], "compressions": [{ "name": "binary-comp", "kind": "binaryQuantization", "rescoringOptions": { "enableRescoring": true, "defaultOversampling": 12, "rescoreStorageMethod": "discardOriginals" }, "truncationDimension": 1024 }] } } ``` **Query med oversampling:** ```http POST https://[service].search.windows.net/indexes/cost-optimized-index/docs/search?api-version=2025-09-01 { "vectorQueries": [{ "kind": "vector", "vector": [0.2, 0.33, ...], "fields": "contentVector", "k": 5, "oversampling": 12.0 }] } ``` ### Azure OpenAI Embeddings **text-embedding-3 med dimension-parameter (MRL):** ```python from openai import AzureOpenAI client = AzureOpenAI( azure_endpoint="https://.openai.azure.com", api_key="", api_version="2024-02-01" ) response = client.embeddings.create( model="text-embedding-3-large", input="Eksempeltekst for embedding", dimensions=1024 # Redusert fra 3072 ) vector = response.data[0].embedding ``` ### Cosmos DB for MongoDB vCore Støtter HNSW og IVF vector indexing med half-precision (float16): ```javascript db.collection.createIndex( { "contentVector": "cosmosSearch" }, { cosmosSearchOptions: { kind: "vector-hnsw", dimensions: 1536, similarity: "COS", compression: "half" // Halverer storage } } ) ``` ### Azure SQL Database Vector extension (preview) støtter float32 vektorer, men ikke native quantization. Anbefaling: Bruk pre-quantized embeddings fra client-side eller Azure AI Search for store datasett. ### Semantic Kernel Støtter Azure AI Search connector med full quantization-konfigurasjon: ```csharp var searchClient = new SearchIndexClient(endpoint, credential); var vectorStore = new AzureAISearchStore(searchClient); var collection = vectorStore.GetCollection( "cost-optimized-index", new VectorStoreRecordDefinition { VectorProperty = "contentVector" } ); ``` ## Offentlig sektor (Norge) ### GDPR og datasuverenitet **Vector storage i Norge/EU:** - Azure AI Search støtter Norway East og Norway West (full data residency) - Embedding-generering (Azure OpenAI): Norway East støttes for text-embedding-3 (verifiser regionstatus i Azure Portal) - Ved quantization: original vektorer kan slettes (`discardOriginals`), reduserer data residency-kompleksitet **Schrems II-compliance:** - Vector data klassifiseres som personopplysninger hvis de er koblet til identifiserbare personer - Anbefaling: Anonymiser metadata, bruk `stored: false` for vektorer - Vurder customer-managed keys (CMK) i Azure Key Vault for ekstra kontroll ### Budsjettprosesser **Kostnadsprognoser for offentlige virksomheter:** Eksempel: 5 millioner dokumenter, gjennomsnittlig 2000 tokens per dokument | Komponent | Baseline (float32) | Optimalisert (binary + MRL) | Besparelse | |-----------|--------------------|-----------------------------|------------| | **Embedding-generering (engangs)** | 10M tokens × $0.13/M = $1,300 | 10M tokens × $0.02/M = $200 (text-emb-3-small) | $1,100 (85 %) | | **Azure AI Search (S2, storage)** | ~$800/måned | ~$100/måned | $700/måned | | **Vector quota (S2, 1 partition)** | 200 GB (overskrides) | 15 GB (godt innenfor) | Unngår oppgradering | | **Totalt første år** | $1,300 + $9,600 = $10,900 | $200 + $1,200 = $1,400 | $9,500 (87 %) | **Merknad:** Tall er omtrentlige. Bruk Azure Pricing Calculator for nøyaktige estimater basert på region og avtaletype (EA, CSP). ### Skaleringsscenarier **Scenario 1: Kommunal kunnskapsbase** - 500K dokumenter (vedtekter, møtereferater, saksbehandling) - Budsjett: 50K NOK/år - Anbefaling: text-embedding-3-small + scalar quantization + S1 tier - Forventet kostnad: ~30K NOK/år **Scenario 2: Fylkeskommune (helsesektor)** - 10M dokumenter (pasientjournaler, medisinske retningslinjer) - Strenge kvalitetskrav (NDCG >0.90) - Anbefaling: text-embedding-3-large + binary quantization (1536 dim) + S3 tier + rescoring - Forventet kostnad: ~250K NOK/år ## Kostnad og lisensiering ### Prismodell (Azure AI Search) **Vector quota (per partition, post-April 2024 services):** | Tier | Vector quota | Pris/måned (1 partition) | Egnet datasett | |------|--------------|--------------------------|----------------| | **Basic** | 5 GB | ~$75 USD | <100K docs | | **S1** | 35 GB | ~$250 USD | 100K-1M docs | | **S2** | 150 GB | ~$1,000 USD | 1M-5M docs | | **S3** | 300 GB | ~$2,000 USD | 5M-20M docs | **Viktig:** Eldre services (pre-April 2024) har lavere quotas. Sjekk oppgraderingsmulighet: `az search service show --name --resource-group `. **Serverless (Preview, MCP 2026-06):** Azure AI Search tilbyr nå også en **Serverless**-prismodell (forbruksbasert: Compute Units/time + per-GB/mnd lagring) ved siden av Dedicated-tierne over. For store, men sporadisk aksesserte vektor-indekser kan Serverless redusere idle-kost. Per juni 2026 er den i preview (West Central US, Switzerland North, Japan East), uten SLA, mangler enkelte features (index aliases, debug sessions, shared private link), og støtter ikke migrering til/fra Dedicated. ### Embedding-kostnader (Azure OpenAI) | Modell | Input (per 1M tokens) | Use case | |--------|----------------------|----------| | text-embedding-ada-002 | $0.10 USD | Legacy | | text-embedding-3-small | $0.02 USD | Kostnadsoptimalisert | | text-embedding-3-large | $0.13 USD | Premium quality | **Estimat:** 1M dokumenter á 500 tokens = 500M tokens input - Ada-002: $50 USD - text-embedding-3-small: $10 USD (80 % besparelse) ### TCO-eksempel (3-årsperiode) **Baseline (ingen optimalisering):** - 5M dokumenter, text-embedding-ada-002, float32, Azure AI Search S2 - Embedding: $2,500 (engangs) - Search: $12,000/år × 3 = $36,000 - **Totalt:** $38,500 **Optimalisert (binary + MRL + text-embedding-3-small):** - Embedding: $500 (engangs) - Search: $1,500/år × 3 = $4,500 (lavere tier, mindre storage) - **Totalt:** $5,000 **Besparelse:** $33,500 (87 %) over 3 år. ### Lisensiering (Microsoft 365 Copilot context) Hvis vector search brukes som grunnlag for Copilot for Microsoft 365: - Krever Microsoft 365 E3/E5 + Copilot-lisens ($30/bruker/måned) - Azure AI Search koster ekstra (ikke inkludert i Copilot-lisens) - Vurder Microsoft Foundry for unified billing (preview, februar 2026) ## For arkitekten (Cosmo) ### Spørsmål å stille klienten 1. **"Hvor mange dokumenter planlegger dere å indeksere (nå og om 2 år)?"** - Under 1M: Quantization er nice-to-have - 1-10M: Quantization anbefales sterkt - Over 10M: Quantization er kritisk 2. **"Hva er budsjettrammen for AI-infrastruktur i året?"** - Sammenlign mot TCO-estimat for å vurdere optimalisering 3. **"Trenger dere å returnere vektorer i API-responser?"** - Ja → Behold `stored: true`, vurder scalar over binary - Nei → Bruk `stored: false` for 50 % diskbesparelse 4. **"Hva er akseptabel search quality-degradering (NDCG-score)?"** - >0.95: Bruk scalar eller konservativ binary - 0.85-0.95: Binary med rescoring - <0.85: Ikke akseptabelt, bruk float16 5. **"Har dere eksisterende embeddings, eller starter dere fra scratch?"** - Eksisterende ada-002 → Vurder scalar quantization uten re-embedding - Ny løsning → Gå direkte til text-embedding-3-small/large med MRL 6. **"Hvilke compliance-krav gjelder (GDPR, Schrems II, helsepersonelloven)?"** - Identifiser behov for Norge-region, CMK, `discardOriginals` 7. **"Hva er forventet query-volum (QPS) og latenskrav?"** - Høy QPS (>100): HNSW med quantization - Lav QPS (<10): Exhaustive KNN for å spare vector quota 8. **"Planlegger dere partial document updates eller full replacement?"** - Partial → Ikke bruk `stored: false` uten mitigering - Full replacement → `stored: false` er trygt ### Fallgruver 1. **Over-optimalisering for små datasett** - Under 100K dokumenter: Quantization-kompleksitet overgår kostnadsbesparing - Anbefaling: Start med float16, optimaliser senere ved vekst 2. **Undervurdere testing-innsats** - Quantization krever NDCG-validering, A/B-testing, oversampling-tuning - Budsjetter 2-4 uker for POC og kvalitetsvalidering 3. **Ignorere vector quota-grenser** - Azure AI Search blokkerer indeksering ved quota-overskridelse - Monitorér quota via Azure Portal eller `Get Index Statistics` API 4. **Bruke feil rescoring-metode** - `preserveOriginals` (scalar): Krever lagring av float32 - `discardOriginals` (binary): Kan ikke rescores mot originals, kun dot-product - Mismatch fører til indexing-feil 5. **Manglende kapasitetsplanlegging** - HNSW overhead: 1-20 % av raw vector size (avhenger av dimensjoner og `m`-parameter) - Regn inn overhead i quota-estimat ### Anbefalinger per modenhetsnivå **Nivå 1 (Starter med RAG):** - Bruk text-embedding-3-small (dimensioner: 1536) - Ingen quantization, bare float16 - Azure AI Search Basic eller S1 - **Mål:** Lær grunnleggende før optimalisering **Nivå 2 (Har produksjonsløsning, ønsker kostnadsreduksjon):** - Implementer scalar quantization - Vurder MRL (dimensions: 1024) hvis text-embedding-3 - Test NDCG-impact i staging-miljø - **Mål:** 60-70 % kostnadsreduksjon med lav risiko **Nivå 3 (Skalerer til millioner av dokumenter):** - Binary quantization + MRL (1024 dimensioner) - `stored: false` hvis ikke behov for vector-retur - Automatisert NDCG-monitoring i CI/CD - **Mål:** 90 %+ kostnadsreduksjon, industriell skalering **Nivå 4 (Optimaliserer på marginer):** - Custom quantization-logikk (int4, product quantization) - Hybrid index-design (multiple vector fields) - Fine-tuned embedding-modeller for domenet - **Mål:** Maksimal ROI, konkurransefortrinn *(Verified MCP 2026-04)* ## Kilder og verifisering ### Microsoft Learn (MCP-verifisert, februar 2026) 1. **Azure AI Search — Vector compression overview** https://learn.microsoft.com/en-us/azure/search/vector-search-how-to-configure-compression-storage Confidence: Verified (fetched via MCP microsoft_docs_fetch) 2. **Scalar and binary quantization** https://learn.microsoft.com/en-us/azure/search/vector-search-how-to-quantization Confidence: Verified (fetched via MCP microsoft_docs_fetch) 3. **MRL dimension truncation** https://learn.microsoft.com/en-us/azure/search/vector-search-how-to-truncate-dimensions Confidence: Verified (MCP search results, januar 2026) 4. **Azure AI Search pricing and cost management** https://learn.microsoft.com/en-us/azure/search/search-sku-manage-costs Confidence: Verified (MCP search results, januar 2026) 5. **Vector index size and limits** https://learn.microsoft.com/en-us/azure/search/vector-search-index-size Confidence: Verified (MCP search results, januar 2026) 6. **Azure OpenAI embeddings models** https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure Confidence: Verified (MCP search results, januar 2026) 7. **Azure OpenAI cost management** https://learn.microsoft.com/en-us/azure/foundry/concepts/manage-costs Confidence: Verified (MCP search results, januar 2026) 8. **Storage optimization for vectors** https://learn.microsoft.com/en-us/azure/search/vector-search-how-to-storage-options Confidence: Verified (MCP search results, januar 2026) ### Tekniske artikler 9. **Azure AI Search: Cut Vector Costs Up To 92.5%** https://techcommunity.microsoft.com/blog/azure-ai-services-blog/azure-ai-search-cut-vector-costs-up-to-92-5-with-new-compression-techniques/4404866 Confidence: Verified (Microsoft Tech Community, referert i MS Learn) 10. **Matryoshka Representation Learning (arXiv)** https://arxiv.org/abs/2205.13147 Confidence: Baseline (akademisk paper, ikke Microsoft-first-party) ### Python code samples 11. **Vector quantization and storage options (Azure samples)** https://github.com/Azure/azure-search-vector-samples/blob/main/demo-python/code/vector-quantization-and-storage/README.md Confidence: Verified (Microsoft GitHub, februar 2026) ### Konfidensnivå per seksjon | Seksjon | Konfidensgradering | Kilde | |---------|-------------------|-------| | Embedding-modell-valg | Verified | MS Learn 1, 6, 7 | | Quantization-teknikker | Verified | MS Learn 2, 9 | | Dimension-reduksjon (MRL) | Verified | MS Learn 3, 10 | | Lagringsoptimalisering | Verified | MS Learn 8 | | Arkitekturmønstre | Verified | MS Learn 2, 11 | | Azure AI Search-integrasjon | Verified | MS Learn 1, 2, 3 | | Azure OpenAI-integrasjon | Verified | MS Learn 6, 7 | | Cosmos DB-integrasjon | Baseline | (basert på Cosmos DB docs, ikke MCP-verifisert) | | Kostnad og lisensiering | Verified | MS Learn 4, 7 | | Offentlig sektor (Norge) | Baseline | (tilpasset generell GDPR-kunnskap) | --- **Sist oppdatert av:** Cosmo Skyberg, Microsoft AI Solution Architect **MCP-research utført:** Februar 2026 **Neste review:** August 2026 (etter Azure AI Search GA-updates)