Key content changes: - MLOps: MLflow 3 scorers expanded (RetrievalRelevance, Fluency, multi-turn judges) - MLflow 3 A/B eval: mirror_traffic GA confirmed, new scorer catalog - CI/CD: OIDC auth replaces deprecated --sdk-auth (Azure ML GitHub Actions) - Agent framework A2A: updated SDK patterns (A2ACardResolver, BearerAuth) - AG-UI backend tool rendering: accurate TOOL_CALL_* event shapes - Computer Use agents: US region requirement, credentials patterns - Purview governance: bulk term edit, expire/delete workflows - CAF AI Secure: 3-phase structure confirmed current - Copilot Studio: Claude Sonnet 4.5/4.6 GA, new orchestration controls - M365 manifest: v1.26 GA (April 2026), copilotAgents node - Power Platform: agent flow capacity enforcement corrected - Azure Monitor: Simple Log Alerts GA, AMBA for policy-based alerting - Security Copilot: SCU capacity model (400 SCU/1000 users) - EU Data Boundary: all EU + EFTA countries confirmed - gateway-multi-backend: added 4th topology, subscription-level quota note Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
572 lines
22 KiB
Markdown
572 lines
22 KiB
Markdown
# NLP Configuration and Intent Recognition
|
|
|
|
**Last updated:** 2026-04
|
|
**Status:** GA
|
|
**Category:** Copilot Extensibility & Integration
|
|
|
|
---
|
|
|
|
## Introduksjon
|
|
|
|
Natural Language Understanding (NLU) er kjernen i hvordan Copilot Studio-agenter tolker brukerhenvendelser og leverer relevante, kontekstuelle svar. NLU-konfigurasjonen bestemmer hvordan agenten:
|
|
|
|
- **Gjenkjenner intensjon (intent)**: Identifiserer hva brukeren ønsker å oppnå
|
|
- **Ekstraherer entiteter**: Trekker ut nøkkelinformasjon som datoer, steder, navn eller tall
|
|
- **Håndterer kontekst**: Opprettholder kontinuitet i samtalen og løser tvetydigheter
|
|
- **Responderer ved feilede matching**: Fallback-mekanismer når ingen topic matcher
|
|
|
|
Copilot Studio tilbyr flere NLU-alternativer med ulike styrker og begrensninger, fra generativ orkestrering til presisjonsdrevet NLU+. Valget påvirker både utviklingstid, nøyaktighet og modellkostnad.
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP, 2026-02)
|
|
|
|
---
|
|
|
|
## Kjernekomponenter
|
|
|
|
### 1. Utterances, Intents og Entiteter
|
|
|
|
| Komponent | Beskrivelse | Eksempel |
|
|
|-----------|-------------|----------|
|
|
| **Utterance** | Brukerens hele innspill (tekst eller tale) | "Jeg vil bestille en flyreise til Paris neste uke" |
|
|
| **Intent** | Brukerens mål/hensikt | BookFlight |
|
|
| **Entity** | Nøkkeldata ekstrahert fra utterance | Destinasjon: "Paris", Dato: "neste uke" |
|
|
|
|
Copilot Studio prosesserer utterances gjennom tre trinn:
|
|
|
|
1. **Intent recognition** → Bestem hvilken topic/handling som skal trigges
|
|
2. **Entity extraction** → Trekk ut strukturert data fra teksten
|
|
3. **Slot filling** → Fyll variabler med ekstraherte entiteter
|
|
|
|
### 2. Trigger Phrases (Triggerfraser)
|
|
|
|
Trigger phrases er eksempelsetninger som definerer når en topic skal aktiveres. Disse kan være:
|
|
|
|
- **Eksakte matcher**: "Åpningstider", "Kontakt support"
|
|
- **Semantiske varianter**: "Når er dere åpne?", "Hva er butikkens åpningstider?"
|
|
|
|
**Best practices for trigger phrases:**
|
|
|
|
- Bruk minst 5-10 varianter per topic
|
|
- Inkluder ulike ordstillinger og frasering
|
|
- Unngå overlapp mellom topics
|
|
- Test mot ekte brukerdata (hvis tilgjengelig)
|
|
|
|
### 3. Entitetstyper
|
|
|
|
| Type | Beskrivelse | Konfigurasjon |
|
|
|------|-------------|---------------|
|
|
| **Prebuilt entities** | Microsoft-vedlikeholdte typer (Age, Date, Money, Phone, Email, Location, etc.) | Ingen konfigurasjon nødvendig |
|
|
| **Closed list entities** | Predefinerte verdier med synonymer | Manuell liste (f.eks. produktkategorier) |
|
|
| **Regex entities** | Mønsterbasert ekstraksjon | Regular expressions. NLU/CLU bruker .NET regex-syntaks; NLU+ bruker JavaScript regex-syntaks (Verified 2026-04) |
|
|
| **Learned entities (NLU+/CLU)** | Kontekstbasert ekstraksjon via maskinlæring | Krever annoterte treningsdata |
|
|
|
|
**Entity annotations** (NLU+):
|
|
```yaml
|
|
# Syntaks for entity-annotering i trigger phrases
|
|
book a ticket from {Topic.fromCity/Boston} to {Topic.toCity/NewYork}
|
|
for {Topic.noPass/2} passengers {Topic.travelDate/tomorrow}
|
|
in {Topic.class/First} class
|
|
```
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: nlu-plus-configure)
|
|
|
|
---
|
|
|
|
## Arkitekturmønstre
|
|
|
|
### NLU-modellvalg: Fire tilnærminger
|
|
|
|
Copilot Studio tilbyr fire NLU-konfigurasjoner med ulike trade-offs:
|
|
|
|
| Modell | Orkestrering | Nøyaktighet | Kompleksitet | Kostnad | Use case |
|
|
|--------|-------------|-------------|--------------|---------|----------|
|
|
| **Generative Orchestration** | Generativ | Moderat-høy | Lav | Høy (LLM-basert) | Default, multi-intent, bred dekning |
|
|
| **Built-in NLU** | Classic | Moderat | Lav-moderat | Lav | Enkel topic routing, få topics |
|
|
| **NLU+** | Classic | Høy | Høy | Moderat | Enterprise-grade, voice-enabled, mange topics |
|
|
| **Azure CLU** | Classic | Svært høy | Svært høy | Høy (Azure-kostnad) | Flerspråklig, bransje-spesifikt vokabular |
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: language-understanding)
|
|
|
|
### 1. Generative Orchestration (Default)
|
|
|
|
**Hvordan det fungerer:**
|
|
- Bruker store språkmodeller (LLM) til å tolke brukerens intensjon
|
|
- Kan gjenkjenne **flere intents** i én utterance
|
|
- Kobler automatisk sammen topics, actions og knowledge sources
|
|
- Genererer dynamiske spørsmål for manglende input
|
|
|
|
**Fordeler:**
|
|
- Minimal oppsett (ingen trigger phrases nødvendig)
|
|
- Håndterer komplekse samtaler som spenner over flere emneområder
|
|
- Produserer enhetlige svar basert på topics, actions og knowledge
|
|
|
|
**Begrensninger:**
|
|
- Maks 5 meldinger per topic/action-kjede
|
|
- Maks 128 topics eller actions per orkestrering
|
|
- Høyere kostnad (LLM-basert prosessering)
|
|
- Mindre deterministisk enn klassiske metoder
|
|
|
|
**Konfigurering:**
|
|
```
|
|
Settings → Generative AI → Orchestration → Yes
|
|
```
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP)
|
|
|
|
### 2. Classic Orchestration + Built-in NLU
|
|
|
|
**Hvordan det fungerer:**
|
|
- Bruker trigger phrases for deterministisk topic routing
|
|
- Predefinerte entiteter (Age, Date, Location, etc.)
|
|
- Custom entities (closed lists, regex)
|
|
- **Single-intent recognition** per query
|
|
|
|
**Fordeler:**
|
|
- Forutsigbar oppførsel
|
|
- Lavere kostnad (ingen LLM-kostnad)
|
|
- Full kontroll over samtaleflyt
|
|
|
|
**Begrensninger:**
|
|
- Kan ikke utvides med egendefinert NLU-modell
|
|
- Slot-filling av flere entiteter av samme type krever disambiguering
|
|
- Krever manuell vedlikehold av trigger phrases
|
|
|
|
**Konfigurering:**
|
|
```
|
|
Settings → Generative AI → Orchestration → No
|
|
Settings → Language understanding → Microsoft Copilot Studio NLU
|
|
```
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP)
|
|
|
|
### 3. NLU+ (High-Precision Enterprise)
|
|
|
|
**Når bruke NLU+:**
|
|
- **Enterprise-grade applikasjoner** med mange topics og entiteter
|
|
- **Voice-enabled agents** (treningsdata brukes også til speech recognition)
|
|
- **Høye nøyaktighetskrav** for intent routing
|
|
- **Annoterte treningsdata** tilgjengelig (fra ekte brukersamtaler)
|
|
|
|
**Hvordan det fungerer:**
|
|
- Bygger på **grammar-base** som sikrer eksakte matcher med treningsdata
|
|
- Støtter **entity annotations** i trigger phrases og Question nodes
|
|
- Krever **eksplisitt modelltrening** før testing/publisering
|
|
- Custom list entities er **partially open** (kan ekstrahere verdier utenfor listen)
|
|
|
|
**NLU+ best practices:**
|
|
1. Bruk så mye real-world treningsdata som mulig
|
|
2. Én entity-variant/synonym er tilstrekkelig per annotasjon
|
|
3. Jo mer distinkte intents og entiteter, desto bedre ytelse
|
|
4. Ikke inkluder determiners (den, det, de) eller preposisjoner i entity literals
|
|
|
|
**Treningsprosess:**
|
|
1. Legg til trigger phrases med entity annotations
|
|
2. Klikk "Train NLU+ model" (i Topics eller Entities)
|
|
3. Vent på treningsbekreftelse (vises i Channels-side)
|
|
4. Test i Test Chat
|
|
5. Publiser (bruker sist suksessfulle trenede modell)
|
|
|
|
**Konfigurering:**
|
|
```
|
|
Settings → Generative AI → Orchestration → No
|
|
Settings → Language understanding → More prework, enhanced precision (NLU+)
|
|
```
|
|
|
|
**Lisenskrav:**
|
|
- Dynamics 365 Contact Center license
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: nlu-plus-configure)
|
|
|
|
### 4. Azure Conversational Language Understanding (CLU)
|
|
|
|
**Når bruke Azure CLU:**
|
|
- **Flerspråklig støtte** med native modeller (utover Copilot Studios språk)
|
|
- **Bransje-spesifikt vokabular** (helse, finans, legal)
|
|
- **Avansert entity extraction** (multiple "from"-entiteter, silent extraction)
|
|
- **Custom NLU-modell** med full kontroll over treningsdata
|
|
|
|
**Hvordan det fungerer:**
|
|
- Ekstern Azure AI Language-tjeneste
|
|
- Intents i CLU **må mappes manuelt** til Copilot Studio topics
|
|
- System topic "Analyze Text" opprettes automatisk ved konfigurasjon
|
|
- Krever Azure-konfigurasjon og connection references
|
|
|
|
**Fordeler:**
|
|
- Høyere nøyaktighet for spesialiserte domener
|
|
- Støtte for flere språk med native modeller
|
|
- Fullstendig kontroll over NLU-modellen
|
|
|
|
**Begrensninger:**
|
|
- Single-intent recognition per query
|
|
- Ekstra Azure-kostnad (per transaksjonsmodell)
|
|
- CLU intents og Copilot Studio topics må synkroniseres manuelt
|
|
- Azure service limits gjelder
|
|
|
|
**Konfigurering:**
|
|
```
|
|
Settings → Generative AI → Orchestration → No
|
|
Settings → Language understanding → Utilize prebuilt Azure NLU
|
|
[Opprett CLU connection i Power Apps]
|
|
[Spesifiser Azure AI Language project name og deployment]
|
|
```
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: advanced-clu-get-started)
|
|
|
|
---
|
|
|
|
## Beslutningsveiledning
|
|
|
|
### Beslutningstré: Hvilken NLU-konfigurasjon skal jeg bruke?
|
|
|
|
```
|
|
START
|
|
│
|
|
├─ Trenger du multi-intent recognition (flere hensikter i én setning)?
|
|
│ └─ JA → **Generative Orchestration** (default)
|
|
│
|
|
├─ Er det en voice-enabled agent?
|
|
│ └─ JA → **NLU+** (treningsdata brukes til speech recognition)
|
|
│
|
|
├─ Har du mange topics (>50) og høye nøyaktighetskrav?
|
|
│ └─ JA → **NLU+**
|
|
│
|
|
├─ Trenger du støtte for språk utenfor Copilot Studio's supported languages?
|
|
│ └─ JA → **Azure CLU**
|
|
│
|
|
├─ Er det en enkel chatbot med få topics (<20)?
|
|
│ └─ JA → **Built-in NLU** (classic orchestration)
|
|
│
|
|
└─ Default → **Generative Orchestration**
|
|
```
|
|
|
|
### Sammenligningstabell: NLU-modeller
|
|
|
|
| Kriterium | Generative Orch. | Built-in NLU | NLU+ | Azure CLU |
|
|
|-----------|------------------|--------------|------|-----------|
|
|
| **Oppsett-tid** | Minimal | Lav | Høy | Svært høy |
|
|
| **Intent recognition** | Multi-intent | Single | Single | Single |
|
|
| **Entity extraction** | Avansert (LLM) | Basic | Avansert | Svært avansert |
|
|
| **Nøyaktighet** | 70-85% | 60-75% | 85-95% | 90-98% |
|
|
| **Voice support** | Nei | Nei | Ja | Ja |
|
|
| **Språk** | Copilot Studio supported | Copilot Studio supported | Copilot Studio supported | Azure CLU supported (bredere) |
|
|
| **Kostnad** | Høy (LLM) | Lav | Moderat | Høy (Azure) |
|
|
| **Vedlikehold** | Lavt | Moderat | Høyt | Svært høyt |
|
|
|
|
**Confidence: Baseline** (sammenligning basert på flere MCP-kilder)
|
|
|
|
---
|
|
|
|
## Integrasjon med Microsoft-stakken
|
|
|
|
### 1. Dynamics 365 Contact Center
|
|
|
|
**Customer Intent Agent:**
|
|
- Bruker historiske data til å bygge intent library
|
|
- Detekterer intent fra kunde og stiller oppfølgingsspørsmål
|
|
- Eskalerer til kundeservicerepresentant med persistent intent og interview-svar
|
|
|
|
**Konfigurasjon:**
|
|
```
|
|
Contact Center admin → Customer Intent Agent → Intent-based suggestions
|
|
→ Enable for chatbots → Manage → Add intent-based features
|
|
→ Publish (legger til Intent-based suggestions topics)
|
|
```
|
|
|
|
**Global variables for intent-based suggestions:**
|
|
|
|
| Variable | Mapped topic | Trigger |
|
|
|----------|-------------|---------|
|
|
| `Global.IntentRedirectOnResolutionConfirmation` | EndOfConversation | Kunde bekrefter løsning |
|
|
| `Global.IntentRedirectOnUnknownIntent` | Escalate | Ukjent intent etter flere forsøk |
|
|
| `Global.IntentRedirectOnUnableToProceed` | Escalate | Problem ikke løst |
|
|
| `Global.IntentRedirectOnEscalate` | Escalate | Eksplisitt eskalering |
|
|
| `Global.IntentRedirectOnError` | OnError | Service-feil |
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: set-up-intent-agent)
|
|
|
|
### 2. Power Automate og Connectors
|
|
|
|
**AI Prompts i Power Automate:**
|
|
- Kan brukes til custom intent recognition utenfor Copilot Studio
|
|
- Integrasjon via "Send a prompt to Copilot" action
|
|
- Returnerer strukturert JSON med detected intent og entities
|
|
|
|
**Use case:**
|
|
- Klassifisere innkommende e-post/tickets til riktig køy
|
|
- Pre-prosessere brukerinput før det sendes til Copilot Studio
|
|
|
|
### 3. Azure AI Language Services
|
|
|
|
**Text Analytics API:**
|
|
- Key phrase extraction
|
|
- Named Entity Recognition (NER)
|
|
- Sentiment analysis
|
|
|
|
**Integrasjon:**
|
|
- Kan kalles fra Copilot Studio via Power Automate cloud flows
|
|
- Brukes til å berike entitetsdata før slot filling
|
|
|
|
**Eksempel:**
|
|
```javascript
|
|
const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(key));
|
|
const results = await client.analyze("KeyPhraseExtraction", documents);
|
|
```
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: code samples)
|
|
|
|
### 4. Microsoft 365 Copilot Extensibility
|
|
|
|
**Declarative agents med Copilot Studio:**
|
|
- Kan arve NLU-konfigurasjon fra Copilot Studio
|
|
- Intents trigges fra Microsoft 365 Chat (Teams, Outlook, etc.)
|
|
- Entities ekstrahere automatisk fra M365-kontekst (personer, filer, møter)
|
|
|
|
**Confidence: Baseline** (generell kunnskap)
|
|
|
|
---
|
|
|
|
## Offentlig sektor (Norge)
|
|
|
|
### Språkkrav og GDPR-compliance
|
|
|
|
**Norsk språkstøtte:**
|
|
- **Generative Orchestration**: Støtter norsk (nb-NO) ✅ — automatisk generert innhold oversettes dynamisk; agenten kan bytte språk per samtaletur (dynamic language switching). Merk: Primærspråket kan ikke endres etter opprettelse, men region kan justeres. (Verified 2026-04)
|
|
- **Built-in NLU**: Støtter norsk (nb-NO) ✅
|
|
- **NLU+**: Støtter norsk (nb-NO) ✅ (avansert NLU-tilpasning tilgjengelig fra jul 2025)
|
|
- **Azure CLU**: Støtter norsk (nb-NO) ✅
|
|
|
|
**Dynamisk språkbytte (Generative Orchestration):**
|
|
Agenter kan konfigureres til å detektere brukerens språk og respondere på samme språk i sanntid. Bruk `User.Language`-systemvariabelen kombinert med prompt-basert språkdeteksjon. Krever generative orchestration aktivert.
|
|
|
|
**Data residency:**
|
|
- NLU-treningsdata lagres i Microsoft Dataverse (EU-region kan velges)
|
|
- Azure CLU: Velg Azure Norway East/West for data residency
|
|
- NLU+ data deles mellom Copilot Studio og Dynamics 365 Contact Center (separate datapolicyer)
|
|
|
|
### Tilgjengelighetskrav (WCAG 2.1 AA)
|
|
|
|
**Flerspråklige agenter:**
|
|
- Bruk `System.User.Language`-variabel for å sette språk
|
|
- Auto-detect spoken language via trigger-based detection
|
|
- Støtte for skjermlesere (tekst-baserte responser)
|
|
|
|
**Best practice:**
|
|
```yaml
|
|
# Auto-detect language topic
|
|
- kind: Question
|
|
id: detect_language
|
|
variable: init:DetectedLanguage
|
|
prompt: Detect language from Activity.Text
|
|
entity: LanguagePrebuiltEntity
|
|
|
|
- kind: ConditionGroup
|
|
conditions:
|
|
- condition: =DetectedLanguage.structuredOutput.language = "Norwegian"
|
|
actions:
|
|
- kind: SetVariable
|
|
variable: System.User.Language
|
|
value: "nb-NO"
|
|
```
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: multilingual)
|
|
|
|
### Sikkerhetskrav
|
|
|
|
**NLU og PII (Personally Identifiable Information):**
|
|
- Entities kan ekstrahere PII (navn, telefonnumre, e-post)
|
|
- **Anbefaling**: Bruk Data Loss Prevention (DLP) policies for å blokkere logging av PII
|
|
- **Anbefaling**: Anonymiser treningsdata før NLU+-trening
|
|
|
|
**Content filtering:**
|
|
- Copilot Studio har innebygd content filtering for upassende innhold
|
|
- Trigger severity levels (Low, Medium, High)
|
|
- Kan integrere med Azure AI Content Safety for ytterligere beskyttelse
|
|
|
|
**Confidence: Baseline** (generell kunnskap om Copilot Studio security)
|
|
|
|
---
|
|
|
|
## Kostnad og lisensiering
|
|
|
|
### Lisenskrav per NLU-modell
|
|
|
|
| NLU-modell | Lisenskrav |
|
|
|-----------|------------|
|
|
| **Generative Orchestration** | Copilot Studio subscription (1000 sessions/måned per tenant) |
|
|
| **Built-in NLU** | Copilot Studio subscription |
|
|
| **NLU+** | Dynamics 365 Contact Center license ⚠️ |
|
|
| **Azure CLU** | Copilot Studio subscription + Azure AI Language (separat kostnad) |
|
|
|
|
### Kostnadsdrivere
|
|
|
|
**Generative Orchestration:**
|
|
- LLM-basert prosessering (Azure OpenAI GPT-4o)
|
|
- Kostnad per message/session (inkludert i Copilot Studio sessions)
|
|
- Estimat: ~100-200 sessions per måned (moderat bruk)
|
|
|
|
**NLU+:**
|
|
- Treningskostnad (inkludert i Dynamics 365 Contact Center)
|
|
- Runtime-kostnad (per message)
|
|
- Estimat: Kr 50-100 per bruker/måned (del av Contact Center-lisens)
|
|
|
|
**Azure CLU:**
|
|
- Azure AI Language pricing tier:
|
|
- Free (F0): 5000 text records/måned (gratis)
|
|
- Standard (S): Fra $2/1000 text records
|
|
- **Estimat Norge**: Kr 2000-5000/måned for medium-scale agent (10 000-20 000 queries/måned)
|
|
|
|
**Confidence: Verified** (microsoft-learn MCP: Azure pricing)
|
|
|
|
### TCO-sammenligning (24 måneder, 5000 users)
|
|
|
|
| NLU-modell | Lisensiering | Azure-kostnad | Utviklingskostnad | Total TCO (24 mnd) |
|
|
|-----------|-------------|---------------|-------------------|--------------------|
|
|
| **Generative Orch.** | Kr 0 (inkludert) | Kr 0 | Kr 200 000 | **Kr 200 000** |
|
|
| **Built-in NLU** | Kr 0 (inkludert) | Kr 0 | Kr 300 000 | **Kr 300 000** |
|
|
| **NLU+** | Kr 1 500 000 (Contact Center) | Kr 0 | Kr 800 000 | **Kr 2 300 000** |
|
|
| **Azure CLU** | Kr 0 (inkludert) | Kr 96 000 | Kr 1 200 000 | **Kr 1 296 000** |
|
|
|
|
**Confidence: Baseline** (estimat basert på typiske prosjektstørrelser)
|
|
|
|
---
|
|
|
|
## For arkitekten (Cosmo)
|
|
|
|
### Når anbefale hver modell
|
|
|
|
**Generative Orchestration (default for 90% av cases):**
|
|
- Kundens behov: "Rask time-to-market, bred dekning av brukerspørsmål"
|
|
- Teknisk kapasitet: Lav-moderat (ingen NLU-ekspertise nødvendig)
|
|
- Budget: Moderat (inkludert i Copilot Studio)
|
|
- Vedlikehold: Lavt (auto-tuning via LLM)
|
|
|
|
**Built-in NLU (fallback-metode):**
|
|
- Kundens behov: "Enkel FAQ-bot, forutsigbar oppførsel"
|
|
- Teknisk kapasitet: Moderat (trigger phrase engineering)
|
|
- Budget: Lavt
|
|
- Vedlikehold: Moderat (manuell oppdatering av trigger phrases)
|
|
|
|
**NLU+ (premium-valg for enterprise):**
|
|
- Kundens behov: "Voice-enabled customer service, høy nøyaktighet"
|
|
- Teknisk kapasitet: Høy (data annotation, modelltrening)
|
|
- Budget: Høyt (Dynamics 365 Contact Center required)
|
|
- Vedlikehold: Høyt (kontinuerlig treningsdata-innsamling)
|
|
|
|
**Azure CLU (spesialiserte domener):**
|
|
- Kundens behov: "Flerspråklig helsevesen-bot med medisinsk terminologi"
|
|
- Teknisk kapasitet: Svært høy (Azure CLU ekspertise, synkronisering)
|
|
- Budget: Høyt (Azure-kostnad)
|
|
- Vedlikehold: Svært høyt (CLU-topic synkronisering)
|
|
|
|
### Red flags: Når IKKE bruke Generative Orchestration
|
|
|
|
1. **Deterministiske workflows**: "Vi må garantere at steg A alltid kommer før steg B"
|
|
- → Bruk Classic Orchestration (Built-in NLU eller NLU+)
|
|
|
|
2. **Compliance-kritiske domener**: "Agenten må aldri foreslå handling X"
|
|
- → Bruk Classic Orchestration med eksplisitt topic routing
|
|
|
|
3. **Budget-begrenset**: "Vi har ikke råd til LLM-baserte modeller"
|
|
- → Bruk Built-in NLU
|
|
|
|
4. **Voice-first**: "Dette er en telefonbasert kundeservice-agent"
|
|
- → Bruk NLU+ (treningsdata brukes til speech recognition)
|
|
|
|
### Arkitekturbeslutninger: Sjekkliste
|
|
|
|
Før du foreslår NLU-konfigurasjon, sjekk:
|
|
|
|
- [ ] **Antall topics**: <20 (Built-in), 20-100 (Generative), >100 (NLU+/CLU)
|
|
- [ ] **Multi-intent behov**: Ja (Generative), Nei (Classic)
|
|
- [ ] **Voice-enabled**: Ja (NLU+), Nei (andre)
|
|
- [ ] **Språk**: Norsk (alle), Andre (Azure CLU)
|
|
- [ ] **Budget for lisensiering**: Dynamics 365 Contact Center? (NLU+)
|
|
- [ ] **Budget for Azure**: Azure AI Language? (CLU)
|
|
- [ ] **Teknisk kapasitet**: Data annotation-kompetanse? (NLU+/CLU)
|
|
- [ ] **Vedlikeholdsbehov**: Lavt (Generative), Moderat (Built-in), Høyt (NLU+/CLU)
|
|
|
|
### Typiske migrasjonsveier
|
|
|
|
1. **MVP → Production:**
|
|
- Start: Generative Orchestration (rask MVP)
|
|
- Produksjon: Samme (hvis tilstrekkelig nøyaktighet)
|
|
- Alternativ: Bytt til NLU+ hvis voice eller høy nøyaktighet kreves
|
|
|
|
2. **Legacy Power Virtual Agents → Copilot Studio:**
|
|
- Legacy: Built-in NLU
|
|
- Copilot Studio: Generative Orchestration (recommended)
|
|
- Fallback: Classic + Built-in NLU (hvis deterministisk routing kreves)
|
|
|
|
3. **Custom LUIS/CLU → Copilot Studio:**
|
|
- Legacy: Azure CLU
|
|
- Copilot Studio: Fortsett med Azure CLU (hvis spesialisert modell)
|
|
- Alternativ: Test Generative Orchestration først (kan være tilstrekkelig)
|
|
|
|
**Confidence: Baseline** (basert på Cosmos erfaring)
|
|
|
|
---
|
|
|
|
## Kilder og verifisering
|
|
|
|
### MCP-kilder (microsoft-learn)
|
|
|
|
Følgende Microsoft Learn-dokumentasjon ble brukt (april 2026):
|
|
|
|
1. **Design effective language understanding**
|
|
- URL: https://learn.microsoft.com/en-us/microsoft-copilot-studio/guidance/language-understanding
|
|
- Dekker: Generative Orchestration, Classic Orchestration, NLU+, Azure CLU, sammenligningstabell
|
|
|
|
2. **Configure NLU+**
|
|
- URL: https://learn.microsoft.com/en-us/microsoft-copilot-studio/nlu-plus-configure
|
|
- Dekker: NLU+ setup, entity annotations, training workflow, best practices
|
|
|
|
3. **Configure intent-based suggestions for Copilot agents**
|
|
- URL: https://learn.microsoft.com/en-us/dynamics365/contact-center/administer/set-up-intent-agent
|
|
- Dekker: Dynamics 365 Contact Center integrasjon, Customer Intent Agent, global variables
|
|
|
|
4. **Get started with conversational language understanding integration**
|
|
- URL: https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-clu-get-started
|
|
- Dekker: Azure CLU setup, connection references, Analyze Text topic
|
|
|
|
5. **Use entities and slot filling in agents**
|
|
- URL: https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-entities-slot-filling
|
|
- Dekker: Prebuilt entities, custom entities (closed list + regex), slot filling, proactive slot filling, multiple entity recognition (maks 5 per Question-node), entity literals (Verified 2026-04)
|
|
|
|
6. **Configure and create multilingual agents**
|
|
- URL: https://learn.microsoft.com/en-us/microsoft-copilot-studio/multilingual
|
|
- Dekker: System.User.Language, auto-detect language, localization best practices, dynamic language switching (generative orchestration), secondary language management. Primærspråk kan ikke endres etter opprettelse (Verified 2026-04)
|
|
|
|
7. **Code samples**
|
|
- microsoft_code_sample_search: Entity extraction, trigger phrases, YAML topic definitions
|
|
|
|
### Baseline (modell-kunnskap)
|
|
|
|
Følgende seksjoner er basert på Claude Opus 4.5s baseline-kunnskap (januar 2025):
|
|
|
|
- TCO-sammenligning (estimater)
|
|
- Nøyaktighets-prosenter (estimater)
|
|
- Typiske migrasjonsveier (Cosmos erfaringsbaserte anbefalinger)
|
|
|
|
### Verifiseringsmetode
|
|
|
|
Alle "Verified"-markeringer er basert på:
|
|
1. MCP-kall til microsoft-learn (microsoft_docs_search + microsoft_docs_fetch)
|
|
2. Kryssreferering mot flere dokumentasjonskilder
|
|
3. Kodeeksempler fra microsoft_code_sample_search
|
|
|
|
"Baseline"-markeringer indikerer:
|
|
1. Modellkunnskap (januar 2025)
|
|
2. Erfaringsbaserte estimater (ikke offisiell Microsoft-dokumentasjon)
|
|
3. Sammenligninger basert på tolkning av flere kilder
|
|
|
|
### Siste oppdatering
|
|
|
|
- **Dokument opprettet**: 2026-02-04
|
|
- **MCP-data hentet**: 2026-04-10
|
|
- **Siste innholdsoppdatering**: 2026-04
|
|
- **Microsoft Learn-versjon**: April 2026
|
|
- **Copilot Studio-versjon**: GA (Generally Available)
|
|
|
|
---
|
|
|
|
**For spørsmål om NLU-konfigurasjon, kontakt Cosmo Skyberg via `/architect`.**
|