# Grounding and Knowledge Injection Techniques

**Last updated:** 2026-02
**Status:** GA
**Category:** Prompt Engineering & LLM Optimization

---

## Introduksjon

Grounding og knowledge injection er fundamentale teknikker for å sikre at store språkmodeller (LLMs) genererer nøyaktige, faktabaserte og troverdige svar. Uten grounding vil en LLM kun stole på sin treningskunnskap, som har en cutoff-dato og ikke inkluderer proprietær eller domene-spesifikk informasjon. Dette fører ofte til "hallucinations" – påstander som høres troverdige ut, men som er feilaktige eller ufullstendige.

Grounding innebærer å gi modellen tilgang til ekstern, pålitelig informasjon som den kan trekke sine svar fra. Denne informasjonen kalles "grounding data" eller "grounding sources". Når grounding kombineres med Retrieval-Augmented Generation (RAG), oppnår du et system der modellen henter relevant kontekst fra dokumenter, databaser eller andre kilder før den genererer et svar. Resultatet er svar som er forankret i verifiserbar kunnskap, med mulighet for kildehenvisninger og sporbarhet.

Knowledge injection går hånd i hånd med grounding – det handler om hvordan du strukturerer og presenterer denne kunnskapen i promptet. Jo nærmere grounding-dataen er den ønskede svarformen, desto mindre arbeid må modellen gjøre, og desto lavere er risikoen for feil. Microsoft tilbyr flere verktøy og tjenester for grounding: Azure OpenAI "On Your Data", Copilot Studio knowledge sources, Azure AI Search, og Groundedness Detection i Azure AI Content Safety.

---

## Kjernekomponenter

### RAG-arkitektur (Retrieval-Augmented Generation)

RAG er grunnstenen i moderne grounding-systemer. En typisk RAG-workflow består av:

| Steg | Komponent | Beskrivelse |
|------|-----------|-------------|
| **1. Indeksering** | Data Pipeline | Dokumenter chunkes, berikes med metadata, og vektoriseres via embedding-modeller (f.eks. text-embedding-ada-002) |
| **2. Query formulation** | Orchestrator | Brukerens spørsmål transformeres til søkequeries (både keyword og semantisk søk) |
| **3. Retrieval** | Vector Store / Search Engine | Azure AI Search, Azure Cosmos DB, eller annen vector database returnerer top-N relevante chunks |
| **4. Context injection** | Prompt Construction | Retrieved chunks injiseres i system message eller user prompt som grounding context |
| **5. Generation** | LLM (GPT-4, GPT-5) | Modellen genererer svar basert på både sin kunnskap og grounding-dataen |
| **6. Verification** | Groundedness Detection | Azure AI Content Safety validerer at svaret er konsistent med kildene |

### Grounding Sources i Microsoft-stakken

| Kilde | Beskrivelse | Plattform | Autentisering |
|-------|-------------|-----------|---------------|
| **Azure AI Search** | Hybrid search (keyword + vector), semantic ranking | Azure OpenAI "On Your Data" | Managed Identity, API Key |
| **SharePoint Online** | Moderne SharePoint-sider, dokument-libraries | Copilot Studio, Microsoft 365 Copilot | Microsoft Graph, Entra ID |
| **Microsoft Graph** | E-post, kalender, OneDrive, Teams-meldinger | Copilot Studio (Tenant Graph Grounding) | Delegated permissions |
| **Copilot Connectors** | Tredjeparts-systemer (ServiceNow, Salesforce, osv.) | Copilot Studio | OAuth 2.0 via connector |
| **Custom Data Sources** | Egne APIs, SQL-databaser, Cosmos DB | Custom orchestrators (Semantic Kernel, LangChain) | Custom authentication |
| **Web Search (Bing)** | Bing Search API for sanntidsinformasjon | Azure AI Agents, Copilot Studio | API Key |

### Grounding Techniques

#### 1. **Inline Grounding** (Prompt-level)
Grounding-data injiseres direkte i promptet:

```markdown
System: You are an AI assistant. Answer ONLY using the provided context.

Context:
---
[DOCUMENT 1]: Azure AI Foundry is a unified platform for building, testing,
and deploying generative AI applications. Released: Nov 2024.
[DOCUMENT 2]: Azure OpenAI Service offers GPT-4, GPT-4 Turbo, and o-series models...
---

User: What is Azure AI Foundry?
```

**Fordeler:** Enkel å implementere, full kontroll over context.
**Ulemper:** Token-grense begrenser mengde data, krever manuell orkestrering.

#### 2. **Azure OpenAI "On Your Data"**
Azure OpenAI kan hente grounding data direkte fra Azure AI Search eller Azure Blob Storage:

```python
completion = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "What are health benefits?"}],
    extra_body={
        "data_sources": [{
            "type": "azure_search",
            "parameters": {
                "endpoint": "https://my-search.search.windows.net",
                "index_name": "health-plans-index",
                "authentication": {"type": "api_key", "key": "***"}
            }
        }]
    }
)
```

**Fordeler:** Zero-code RAG, automatisk chunking og retrieval.
**Ulemper:** Mindre kontroll over retrieval-logikk, støtter kun Azure-tjenester.

#### 3. **Copilot Studio Knowledge Sources**
Copilot Studio støtter flere knowledge sources:
- **SharePoint sites** (automatisk indeksering av moderne sider og dokumenter)
- **Public websites** (URL-based crawling)
- **Custom files** (opplasting av PDF, Word, PowerPoint – maks 500 filer, 512 MB per fil)
- **Copilot Connectors** (ServiceNow, Salesforce, Confluence, osv.)
- **Web Search** (Bing Search API for sanntidsdata)

**Tenant Graph Grounding:** Med Microsoft 365 Copilot-lisens får du tilgang til forbedret retrieval fra SharePoint via Microsoft Graph, inkludert metadata-filtrering og semantisk søk.

#### 4. **Custom Orchestrator med Semantic Kernel**
For full kontroll, implementer egen RAG-pipeline:

```python
from azure.search.documents import SearchClient
from openai import AzureOpenAI

# Steg 1: Retrieve
search_results = search_client.search(
    search_text=query,
    top=5,
    select="content,metadata"
)

# Steg 2: Format context
context = "\n".join([doc["content"] for doc in search_results])

# Steg 3: Inject and generate
response = openai_client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": f"Answer using this context:\n{context}"},
        {"role": "user", "content": query}
    ]
)
```

---

## Arkitekturmønstre

### Mønster 1: Single-Tenant RAG med Orchestrator

**Beskrivelse:** Én orchestrator henter grounding data fra én eller flere datastores per tenant. LLM-kall inneholder kun data som brukeren har tilgang til.

**Arkitektur:**
```
User → App → Identity Provider → Orchestrator → [Vector DB, SQL, Blob Storage] → LLM
```

**Fordeler:**
- Full kontroll over retrieval og sikkerhet
- Enkel å auditere og logge datahenting
- Støtter custom filtering og security trimming

**Ulemper:**
- Krever egen infrastruktur for orchestrator
- Mer kompleks å vedlikeholde enn "On Your Data"

**Bruk når:** Du har sensitive data, trenger audit-logging, eller har komplekse autorisasjonsregler.

---

### Mønster 2: Multitenant RAG med API-abstraksjon

**Beskrivelse:** En API-layer innkapsler dataaksess-logikk og sikrer at hver tenant kun får tilgang til sine egne data. Orchestrator kaller API-laget i stedet for å snakke direkte med datastores.

**Arkitektur:**
```
User → App → Identity Provider → Orchestrator → API Layer → [Shared DB, Tenant-specific DB] → LLM
```

**Tenant Isolation Strategies:**
| Strategi | Beskrivelse | Fordeler | Ulemper |
|----------|-------------|----------|---------|
| **Store-per-tenant** | Hver tenant har egen database/search index | Sterk isolasjon, enkel kostnadstildeling | Høy overhead, skalerer ikke til tusenvis av tenants |
| **Multitenant store** | Felles database, tenant-ID som partition key | Kostnadseffektivt, skalerer godt | Krever security trimming, risiko for "noisy neighbor" |
| **Shared store** | Felles data for alle tenants (f.eks. offentlig dokumentasjon) | Kostnadseffektivt | Ikke egnet for proprietær data |

**Fordeler:**
- Enkel å validere og teste sikkerhet (all logikk i API-laget)
- Støtter row-level security og custom filtering
- Audit-logging på ett sted

**Ulemper:**
- Ekstra lag øker latency
- Krever vedlikehold av API-kode

**Bruk når:** Du har multitenant SaaS-løsning med strengt definerte autorisasjonsregler.

---

### Mønster 3: Hybrid Grounding (Web + Private Data)

**Beskrivelse:** Kombiner private datastores med web search for å dekke både proprietær kunnskap og sanntidsdata.

**Arkitektur:**
```
User → Orchestrator → [Private Data (RAG)] + [Bing Search API] → LLM
```

**Eksempel-use case:**
- **Private data:** Interne policydokumenter, produktmanualer
- **Web search:** Siste nyheter, konkurranseinformasjon, oppdaterte priser

**Fordeler:**
- Best of both worlds: proprietær + sanntidsdata
- Reduserer hallucinations på time-sensitive spørsmål

**Ulemper:**
- Bing-kall kan øke kostnader
- Cross-geo dataflow (Bing-data forlater enterprise boundary)
- Må håndtere to ulike kildekategorier i responsen

**Bruk når:** Applikasjonen trenger både intern kunnskap og sanntidsdata (f.eks. chatbot for kundeservice).

---

## Beslutningsveiledning

### Når skal du bruke grounding?

| Scenario | Anbefaling | Verktøy |
|----------|------------|---------|
| **Faktabaserte spørsmål** (produktdetaljer, policydokumenter) | ✅ Påkrevd | Azure AI Search + RAG |
| **Sanntidsdata** (valutakurser, nyheter) | ✅ Påkrevd | Web Search (Bing) |
| **Kreativ tekst** (markedsføringstekst, historier) | ⚠️ Valgfritt | Baseline LLM (uten grounding) |
| **Sensitive data** (medisinske journaler, juridiske dokumenter) | ✅ Påkrevd + Groundedness Detection | Azure AI Search + Content Safety |
| **Offentlig kunnskap** (Wikipedia-lignende) | ⚠️ LLM kan håndtere uten grounding | Baseline LLM eller Web Search |

### Grounding Technique Decision Tree

```
START: Trenger du grounding?
│
├─ Ja → Er dataen sensitiv eller subject to compliance?
│   ├─ Ja → Bruk Azure AI Search + Private endpoints + Groundedness Detection
│   └─ Nei → Er dataen intern eller proprietær?
│       ├─ Ja → Azure OpenAI "On Your Data" eller Custom RAG
│       └─ Nei → Web Search (Bing) eller Public datasets
│
└─ Nei → Baseline LLM (GPT-4, GPT-5)
```

### Vanlige feil og hvordan unngå dem

| Feil | Symptom | Løsning |
|------|---------|---------|
| **For mye context** | Token limit exceeded, høye kostnader | Chunk data bedre, bruk top-K filtering (f.eks. top-5 chunks) |
| **Irrelevant context** | Modellen gir svar basert på feil kilder | Forbedre retrieval (hybrid search, semantic ranking) |
| **Manglende citations** | Kan ikke verifisere kilder | Instruer modellen: "Include inline citations as [1], [2]" |
| **Ungrounded responses** | Modellen "hallusinerer" fakta | Bruk Groundedness Detection, instruer "Answer ONLY from provided context" |
| **Security leakage** | Modellen lekker data fra andre tenants | Implementer API-layer med security trimming, test grundig |

### Røde flagg (når du IKKE skal bruke grounding)

- ❌ **Kreativ skriving der fakta ikke er kritisk** (f.eks. sci-fi-historier)
- ❌ **Brainstorming-sesjoner** der modellen skal generere nye idéer
- ❌ **Når grounding-data er utdatert** (da blir svaret verre enn baseline LLM)
- ❌ **Når retrieval-kvaliteten er dårlig** (irrelevante chunks gir dårligere svar)

---

## Integrasjon med Microsoft-stakken

### Azure OpenAI "On Your Data"

**Setup-steg:**
1. Opprett Azure AI Search-instans
2. Indekser dokumenter (manuelt eller via Azure Data Factory)
3. Konfigurer Azure OpenAI med data source:

```json
{
  "dataSources": [{
    "type": "AzureCognitiveSearch",
    "parameters": {
      "endpoint": "https://my-search.search.windows.net",
      "indexName": "my-index",
      "key": "***",
      "semanticConfiguration": "default",
      "queryType": "semantic",
      "inScope": true,
      "strictness": 3
    }
  }]
}
```

**Parametre å tune:**
- `strictness` (1-5): Hvor strengt modellen skal holde seg til kildene (5 = strengest)
- `top_n_documents`: Antall chunks å inkludere (default: 5)
- `inScope`: Hvis `true`, svarer modellen kun basert på sources (anbefalt for kritiske use cases)

### Copilot Studio Knowledge Configuration

**SharePoint som knowledge source:**
1. Gå til agent → **Knowledge** → **Add SharePoint**
2. Velg sites/libraries (modern SharePoint pages only)
3. Enable **Tenant Graph Grounding** (krever M365 Copilot-lisens)
4. Konfigurer metadata filters (f.eks. "only files modified last 30 days")

**Web Search (Bing):**
1. **Advanced** → **Generative answers** → **Web Search**
2. Velg mellom:
   - **Open web search** (hele Bing-index)
   - **Custom search** (avgrens til spesifikke domener)
3. Konfigurer user location (for regionsspesifikke resultater)

### Azure AI Content Safety: Groundedness Detection

**Validering av grounded responses:**

```python
conn.request("POST", "/contentsafety/text:detectGroundedness?api-version=2024-09-15-preview",
    payload={
        "domain": "Generic",
        "task": "QnA",
        "qna": {"query": "What is the interest rate?"},
        "text": "The interest rate is 5%.",
        "groundingSources": ["As of July 2024, the interest rate is 4.5%."],
        "reasoning": True
    }
)
```

**Output:** Groundedness score (boolean), reasoning (why ungrounded), correction suggestions.

**Bruk i produksjon:**
- Kjør post-generation for kritiske use cases (medisin, jus, finans)
- Log ungrounded responses for videre analyse
- Bruk correction feature for automatisk retting

---

## Offentlig sektor (Norge)

### GDPR og datasuverenitet

**Grounding data klassifisert som personopplysninger:**
- ✅ **Azure AI Search i Norge-region** (Norway East, Norway West) – datalagring i Norge
- ✅ **Azure OpenAI** – prosessering i EU/Norge (avhengig av deployment)
- ⚠️ **Bing Search API** – data sendes til Bing (USA), ikke dekket av DPA (Data Protection Addendum)
- ❌ **Tredjepartsconnectors** – vurder DPIA (Data Protection Impact Assessment) per connector

**Schrems II compliance:**
- Bruk Azure-tjenester i EU/Norge-regioner
- Unngå Bing Search for personopplysninger
- Dokumenter dataflyt i DPIA

### AI Act (EU AI-forordningen)

**Grounding som risikoreduserende tiltak:**
- **Høyrisiko-systemer** (f.eks. HR-beslutninger, offentlig forvaltning) → Påkrevd grounding + audit logs
- **Begrenset risiko** (chatbots) → Anbefalt grounding for transparens
- **Lav risiko** (kreativ AI) → Valgfritt

**Dokumentasjonskrav:**
- Logg hvilke grounding sources som ble brukt per respons
- Implementer citation tracking (inline citations i svar)
- Oppbevar audit logs i minimum 6 måneder (anbefalt: 2 år)

### Forvaltningsloven og begrunnelsesplikt

**§ 24-25 (begrunnelse av enkeltvedtak):**
- Automatiserte vedtak må kunne spores tilbake til grounding sources
- Inline citations sikrer transparens: "Ifølge [1], er kravet..."
- Lag system for å eksportere full reasoning chain (query → retrieval → LLM response)

**Eksempel:**
```
User: Er jeg kvalifisert for stønad X?
Response: Ja, du oppfyller kriteriene ifølge [1] fordi du har bodd i Norge i over 3 år [2].

Sources:
[1] Stønadsdokument v2.3 (2025-01-15), side 4
[2] Folkeregisteret: Registrert bosatt siden 2021-06-01
```

---

## Kostnad og lisensiering

### Azure OpenAI "On Your Data" kostnadselementer

| Komponent | Prisfaktor | Estimat (NOK/måned) |
|-----------|-----------|---------------------|
| **Azure OpenAI tokens** | Input + output tokens (GPT-4: ~0.35 NOK/1K tokens) | Varierer med volum |
| **Azure AI Search** | Storage (per GB) + queries (per 1000) | 500-5000 NOK (avhengig av tier) |
| **Embedding modell** | text-embedding-ada-002 (~0.001 NOK/1K tokens) | 100-500 NOK |
| **Bing Search API** | Per query (~0.50 NOK/query) | 500-2000 NOK (100-400 queries/dag) |
| **Egress traffic** | Data ut av Azure-region | Typisk neglisjerbart |

**Total estimert kostnad (medium bruk):** 2000-8000 NOK/måned

### Optimaliseringstips

| Tiltak | Besparelse | Trade-off |
|--------|-----------|-----------|
| **Reduser chunk size** | -20-30% token cost | Kan miste kontekst |
| **Bruk GPT-4o mini i stedet for GPT-4** | -90% per token | Lavere kvalitet på komplekse oppgaver |
| **Cache embeddings** | -50% embedding cost | Krever egen cache-løsning |
| **Batch queries** | -10-15% search cost | Høyere latency |
| **Bruk "strictness" parameter** | Reduserer unødvendige LLM-kall | Kan øke "jeg vet ikke"-svar |

### Copilot Studio lisensiering

**Grounding inkludert i lisens:**
- **Microsoft 365 Copilot-lisens:** SharePoint + Microsoft Graph grounding er zero-rated (ingen Copilot Credit usage)
- **Copilot Studio standalone:** Grounding teller mot Copilot Credits (kompleksitet-basert)

**Grounding som teller mot credits:**
- Custom connectors (Power Platform connectors)
- External APIs
- Complex multi-step retrieval

**Anbefaling:** For store organisasjoner, kombiner M365 Copilot-lisens (for SharePoint/Graph) med Copilot Studio for custom logic.

---

## For arkitekten (Cosmo)

### Spørsmål å stille kunden

1. **Datakilde og sensitivitet:**
   - Hvor ligger dataen som skal brukes til grounding? (SharePoint, SQL, Blob Storage, on-prem?)
   - Inneholder dataen personopplysninger eller sensitive forretningsdata?
   - Kreves det audit-logging av datahenting?

2. **Multitenancy og autorisasjon:**
   - Er dette en multitenant-løsning?
   - Hvilke autorisasjonsregler gjelder? (rolle-basert, dokument-basert, tenant-basert?)
   - Skal brukere kun se data de har tilgang til i kildesystemet?

3. **Datakvalitet og aktualitet:**
   - Hvor ofte oppdateres dataen? (sanntid, daglig, ukentlig?)
   - Hva er akseptabel "staleness" på grounding data?
   - Finnes det en "source of truth" for dataen?

4. **Teknisk modenhet:**
   - Har organisasjonen eksisterende RAG-erfaring?
   - Kan de vedlikeholde en custom orchestrator, eller trenger de managed solution?
   - Hvilket team skal eie embeddings-generering og indeksering?

5. **Compliance og risiko:**
   - Er dette et høyrisiko-system under AI Act?
   - Kreves det DPIA?
   - Må svaret kunne spores tilbake til eksakt kilde (inline citations)?

6. **Volum og kostnad:**
   - Hvor mange queries per dag forventes?
   - Hva er akseptabel responstid? (< 2s, < 5s, < 10s?)
   - Hva er budsjettet for grounding-infrastruktur?

7. **Fallback-strategi:**
   - Hva skal skje hvis retrieval feiler? (default svar, feilmelding, fallback til baseline LLM?)
   - Skal modellen kunne si "jeg vet ikke" hvis dataen mangler?

8. **Citation og transparens:**
   - Skal brukerne se hvilke kilder som ble brukt?
   - Kreves det inline citations i svaret?
   - Skal metadata (f.eks. publish-dato) vises?

### Fallgruver å unngå

| Fallgruve | Konsekvens | Mitigering |
|-----------|-----------|-----------|
| **Dårlig chunking-strategi** | Irrelevante chunks, dårlig retrieval | Bruk semantic chunking (512-1024 tokens), overlapp 10-20% |
| **Manglende metadata** | Kan ikke filtrere på dato, forfatter, sensitivitet | Berik chunks med metadata under indeksering |
| **Ingen citation tracking** | Kan ikke verifisere kilder | Krev inline citations i system prompt |
| **Overpopulert context** | Token limit overskrides, høye kostnader | Bruk top-K filtering, prioriter nyeste/mest relevante |
| **Manglende security trimming** | Data leakage mellom tenants | Implementer API-layer, test grundig |
| **Statiske embeddings** | Retrieval basert på utdatert semantikk | Re-index regelmessig (f.eks. månedlig) |
| **Ingen groundedness validation** | Hallucinations går uoppdaget | Bruk Azure AI Content Safety Groundedness Detection |

### Anbefalinger per modenhetsnivå

#### Nivå 1: Pilot/Proof-of-Concept
- **Verktøy:** Azure OpenAI "On Your Data" + Azure AI Search
- **Grounding:** Inline grounding via system prompt
- **Datakilde:** Statiske dokumenter i Blob Storage (< 100 dokumenter)
- **Fokus:** Proof of concept, iterere på prompt design
- **Kostnad:** < 2000 NOK/måned

#### Nivå 2: Produksjon (begrenset skala)
- **Verktøy:** Copilot Studio med SharePoint knowledge sources
- **Grounding:** "On Your Data" eller Copilot Studio built-in RAG
- **Datakilde:** SharePoint (< 5000 dokumenter), evt. custom files
- **Fokus:** Brukeropplevelse, citation tracking, groundedness detection
- **Kostnad:** 5000-15000 NOK/måned (inkl. Copilot Studio-lisens)

#### Nivå 3: Enterprise (full skala)
- **Verktøy:** Custom orchestrator (Semantic Kernel/LangChain) + Azure AI Search
- **Grounding:** Hybrid (private data + web search)
- **Datakilde:** Multitenant SQL/Cosmos DB, API-layer for security trimming
- **Fokus:** Skalerbarhet, multitenant security, audit logging, compliance
- **Kostnad:** 20000-100000+ NOK/måned (avhengig av volum)

#### Nivå 4: Spesialisert (høyrisiko, regulert)
- **Verktøy:** Custom RAG + Groundedness Detection + audit pipeline
- **Grounding:** Store-per-tenant, inline citations, reasoning tracking
- **Datakilde:** On-prem integration (Azure Arc), private endpoints
- **Fokus:** GDPR, AI Act compliance, full auditability, eksplonerbar reasoning
- **Kostnad:** 100000+ NOK/måned (inkl. compliance overhead)

---

## Kilder og verifisering

**MCP-kilder (Verified):**
1. Microsoft Learn: [Prompt Engineering Techniques](https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/prompt-engineering) – Groundedness context, citation best practices
2. Microsoft Learn: [Groundedness Detection Filter](https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/content-filter-groundedness) – RAG definition, ungroundedness detection
3. Microsoft Learn: [Secure Multitenant RAG](https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/secure-multitenant-rag) – Tenant isolation, API-layer, security trimming
4. Microsoft Learn: [Copilot Studio Knowledge Sources](https://learn.microsoft.com/en-us/microsoft-copilot-studio/knowledge-copilot-connectors) – SharePoint, connectors, tenant graph grounding
5. Microsoft Learn: [Web Search in Copilot Studio](https://learn.microsoft.com/en-us/microsoft-copilot-studio/data-privacy-security-web-search) – Bing integration, privacy considerations
6. Microsoft Learn: [Azure AI Agents (Bing Grounding)](https://learn.microsoft.com/en-us/azure/ai-foundry/agents/how-to/tools/web-overview) – Web grounding workflow

**Konfidensnivå per seksjon:**
| Seksjon | Konfidensnivå | Kilde |
|---------|---------------|-------|
| Introduksjon | Verified | MCP: Prompt Engineering, Groundedness Detection |
| RAG-arkitektur | Verified | MCP: Secure Multitenant RAG |
| Grounding Sources | Verified | MCP: Copilot Studio, Azure AI Search |
| Arkitekturmønstre | Verified | MCP: Secure Multitenant RAG |
| Azure OpenAI "On Your Data" | Verified | MCP: Prompt Engineering (code samples) |
| Copilot Studio | Verified | MCP: Knowledge Sources, Web Search |
| Groundedness Detection | Verified | MCP: Content Filter Groundedness |
| GDPR/AI Act | Baseline | Modellkunnskap (januar 2025) + etablert praksis |
| Kostnad | Baseline | Modellkunnskap + Azure pricing (januar 2025) |
| Spørsmål til kunden | Baseline | Arkitekturpraksis |

**Disclaimer:** Kostnadsestimater er basert på januar 2025-priser og kan endres. Verifiser alltid med [Azure Pricing Calculator](https://azure.microsoft.com/en-us/pricing/calculator/) for nøyaktige tall.