ms-ai-architect/skills/ms-ai-advisor/references/prompt-engineering/grounding-and-knowledge-injection.md

23 KiB
Raw Blame History

Grounding and Knowledge Injection Techniques

Last updated: 2026-06-24 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:

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

Context:
---
[DOCUMENT 1]: Microsoft 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 Microsoft 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:

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:

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:
{
  "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 → KnowledgeAdd 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. AdvancedGenerative answersWeb 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:

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 Groundedness context, citation best practices
  2. Microsoft Learn: Groundedness Detection Filter RAG definition, ungroundedness detection
  3. Microsoft Learn: Secure Multitenant RAG Tenant isolation, API-layer, security trimming
  4. Microsoft Learn: Copilot Studio Knowledge Sources SharePoint, connectors, tenant graph grounding
  5. Microsoft Learn: Web Search in Copilot Studio Bing integration, privacy considerations
  6. Microsoft Learn: Azure AI Agents (Bing Grounding) 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 for nøyaktige tall.