Initial addition of ms-ai-architect plugin to the open-source marketplace. Private content excluded: orchestrator/ (Linear tooling), docs/utredning/ (client investigation), generated test reports and PDF export script. skill-gen tooling moved from orchestrator/ to scripts/skill-gen/. Security scan: WARNING (risk 20/100) — no secrets, no injection found. False positive fixed: added gitleaks:allow to Python variable reference in output-validation-grounding-verification.md line 109. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
18 KiB
Batch Processing APIs for Non-Latency-Critical Workloads
Last updated: 2026-02 Status: GA Category: Cost Optimization & FinOps for AI
Introduksjon
Azure OpenAI Batch API er designet for å håndtere storskala- og høyvolumsbehandling av AI-oppgaver effektivt. Ved å prosessere asynkrone grupper av requests i batch-format, fremfor én og én request, oppnår organisasjoner 50% kostnadsreduksjon sammenlignet med standard global deployment. Batch API benytter separat enqueued token-kvote, som sikrer at batch-jobber ikke forstyrrer sanntidsapplikasjoner.
Batch-prosessering egner seg for workloads hvor latency ikke er kritisk: dokumentgenerering, dataanalyse, oversettelser, sentiment analysis, og innholdsoppretting. Med 24-timers target turnaround og mulighet for eksponensiell backoff ved store jobber, gir batch API en svært kostnadseffektiv løsning for planlagte AI-operasjoner.
Microsoft tilbyr to deployment-typer for batch: Global-Batch (globalt distribuert kapasitet) og Data Zone Batch (regionsbasert). Dynamic quota anbefales sterkt for å utnytte overskuddskapasitet når tilgjengelig, og unngå jobbfeil grunnet kvotebegrensninger.
Kjernekomponenter / Nøkkelegenskaper
| Komponent | Beskrivelse |
|---|---|
| Global-Batch deployment | Globalt distribuert batch-kapasitet med separat enqueued token quota. Tilbyr 50% prisreduksjon mot global standard deployment. |
| Data Zone Batch | Regionsbasert batch-deployment for compliance-scenarier. Data prosesseres innenfor Azure geography (data at rest), men inferencing kan skje i andre Azure OpenAI-regioner. |
| Dynamic quota | Automatisk skalering av enqueued token quota når ekstra kapasitet er tilgjengelig. Reduserer risiko for jobbfeil. Anbefales aktivert på alle batch deployments. |
| Exponential backoff | Ny funksjonalitet for automatisk retry av store batch-jobber når quota blir tilgjengelig. Støttes i utvalgte regioner. |
| 24-timers completion window | Batch-jobber målsettes å fullføres innen 24 timer, men jobber som tar lengre tid expires ikke. Kunden kan kansellere når som helst og betaler kun for fullført arbeid. |
| Separate quota pool | Batch har egen enqueued token quota, isolert fra sanntids-workloads. Ingen disrupsjon av online applikasjoner. |
Støttede modeller (februar 2026)
| Modell | Versjon | Input format | API support |
|---|---|---|---|
o3-mini |
2025-01-31 | text | 2025-04-01-preview (kreves for o3-mini) |
gpt-4o |
2024-08-06 | text + image | 2024-10-21 (GA), 2025-04-01-preview |
gpt-4o-mini |
2024-07-18 | text + image | 2024-10-21 (GA), 2025-04-01-preview |
gpt-4o |
2024-05-13 | text + image | 2024-10-21 (GA), 2025-04-01-preview |
Ikke støttet:
- Assistants API (ingen integrasjon)
- Azure OpenAI On Your Data (ikke støttet med batch)
Filformat og workflow
- Upload batch input file (JSONL-format, purpose: "batch")
- Kan settes expiration: 14-30 dager fra upload
- Create batch job (spesifiser input_file_id, endpoint, completion_window)
- Monitor batch status (polling via API eller event-driven via Azure Storage)
- Retrieve output (output file i JSONL-format, kan eksporteres til Azure Blob Storage)
Arkitekturmønstre
1. Pure Batch Processing
Beskrivelse: Alle AI-operasjoner kjøres som batch-jobber. Egnet for periodiske rapporter, dataanalyse, og planlagte workloads.
User submits request → Job queued → Batch API processes (24h) → Results delivered
Brukstilfeller:
- Nattlige dokumentoppsummeringer for intern rapportering
- Ukentlig sentiment analysis av kundefeedback
- Månedlig oversettelse av produktkataloger
Fordeler:
- Lavest mulig kostnad (50% reduksjon)
- Ingen real-time infrastruktur nødvendig
- Enkel integrasjon med schedulers (Azure Data Factory, Logic Apps)
Ulemper:
- Ingen sanntids-respons
- Latency på opptil 24 timer
2. Hybrid: Real-Time + Batch
Beskrivelse: Sanntids-deployment for kritiske operasjoner, batch for analytiske og repeterende oppgaver.
┌─────────────────────────┐
│ Real-Time Deployment │ ← Chatbot, user-facing APIs
└─────────────────────────┘
+
┌─────────────────────────┐
│ Batch Deployment │ ← Data enrichment, reporting
└─────────────────────────┘
Brukstilfeller:
- Chatbot for sanntid, batch for treningsdata-generering
- Real-time oversettelse for brukere, batch for dokumentarkiv
- Live support automation, batch for historisk analyse
Fordeler:
- Optimal kostnadsstyring (betaler sanntidspris kun for kritiske tjenester)
- Skalerbar arkitektur
- Separate quota pools (ingen quota-konflikter)
Ulemper:
- Kompleksitet i deployment og orchestration
- Krever routing-logikk for å bestemme real-time vs batch
3. Scheduled Batch Pipelines
Beskrivelse: Batch-jobber trigges av schedule eller event (f.eks. ny data i Data Lake). Fullt automatisert pipeline.
Azure Data Factory → Trigger batch job → Monitor status → Export results → Downstream processing
Brukstilfeller:
- Daglig oppsummering av loggdata
- Event-drevet: ny PDF → batch-ekstraksjon → metadata til database
- Scheduled: hver søndag → oversett nye artikler → publiser
Fordeler:
- Hands-off automation
- Integrasjon med Azure ecosystem (ADF, Logic Apps, Function Apps, Event Grid)
- Kostnadseffektivt for repeterende workloads
Ulemper:
- Krever pipeline-utvikling og feilhåndtering
- Avhengig av Azure orchestration-tjenester
Beslutningsveiledning
Når brukes Batch API?
| Kriterium | Real-Time Deployment | Batch Deployment |
|---|---|---|
| Latency-krav | < 5 sekunder | 1-24 timer OK |
| Volum | Varierende, on-demand | Store, forutsigbare batch-volumer |
| Kostnadsbudsjett | Standard pricing | 50% reduksjon |
| Brukstilfelle | Chatbots, user-facing APIs | Rapporter, dataanalyse, planlagte oppgaver |
| Quota isolation | Delt med batch (hvis ikke separat) | Separat enqueued token quota |
Beslutningstabell: Velge deployment-type
| Scenario | Anbefaling |
|---|---|
| Nattlig rapport-generering | Global-Batch (50% lavere kostnad) |
| Sanntids chatbot | Real-Time (Standard eller Provisioned) |
| GDPR/Schrems II-krav (Norge) | Data Zone Batch (regional processing) |
| Ukentlig dataanalyse (store volumer) | Global-Batch + Dynamic quota |
| Hybrid: både sanntid og batch | To separate deployments (1x Real-Time, 1x Batch) |
Vanlige feil
| Feil | Årsak | Løsning |
|---|---|---|
| Batch job fails: insufficient quota | Enqueued token quota for lav | Aktiver dynamic quota, eller øk deployment quota |
| Job takes > 24h | Stor jobb, høy belastning | Bruk exponential backoff (støttes i utvalgte regioner) |
| Cost overrun | Bruker real-time for batch-workloads | Migrer ikke-latency-kritiske workloads til batch |
| Data residency concern | Global-Batch prosesserer globalt | Bruk Data Zone Batch for regional compliance |
Røde flagg
- Bruker real-time deployment for rapportering og dataanalyse → Migrer til batch (50% kostnadskutt)
- Batch-jobber feiler pga. quota → Aktiver dynamic quota
- Ingen monitoring av batch job status → Implementer polling eller event-driven notifications
- Hardkodet 24h timeout → Batch-jobber expires ikke, vurder lengre tidsvindu for svært store jobber
Integrasjon med Microsoft-stakken
| Tjeneste | Integrasjonspunkt | Brukstilfelle |
|---|---|---|
| Azure Data Factory | Pipeline activity for batch job creation + monitoring | Scheduled batch workflows, data transformations |
| Logic Apps | HTTP actions for batch API + polling for status | Event-driven batch triggers (nye filer → batch-prosessering) |
| Power Automate | Custom connectors for Azure OpenAI Batch API | Low-code automation for planlagte AI-oppgaver |
| Azure Functions | Python/C# SDK for batch job orchestration | Custom orchestration, retry logic, feilhåndtering |
| Azure Blob Storage | Input/output storage for batch files | Store JSONL input, retrieve output results |
| Azure Event Grid | Event-driven triggers for batch completion | Notify downstream systems when batch job completes |
| Azure Monitor | Metrics og logging for batch job performance | Overvåk enqueued token usage, job success rate, latency |
Eksempel: Azure Data Factory pipeline
1. ADF Trigger (schedule: daily 02:00)
2. Copy activity: Data Lake → Blob Storage (JSONL format)
3. Azure Function: Upload file + create batch job
4. Until loop: Poll batch status (every 5 min)
5. Copy activity: Download output → Data Lake
6. Downstream processing (e.g., Synapse Analytics)
Offentlig sektor (Norge)
GDPR og datasuverenitet
| Krav | Global-Batch | Data Zone Batch |
|---|---|---|
| Data at rest | Azure geography (Norge) | Azure geography (Norge) |
| Inferencing location | Kan prosesseres i andre Azure OpenAI-regioner | Regional processing (avhengig av konfigurasjon) |
| Schrems II compliance | Vurder Data Zone Batch for strengeste krav | Anbefales for offentlig sektor |
| Data Processing Agreement (DPA) | Standard Microsoft DPA | Standard Microsoft DPA |
Anbefaling for offentlig sektor: Bruk Data Zone Batch hvis datasuverenitet er kritisk (f.eks. sensitiv helseinformasjon, personopplysninger). For mindre sensitive workloads (offentlige dokumenter, åpne data), kan Global-Batch benyttes.
EU AI Act compliance
Batch API påvirker ikke direkte AI Act-klassifisering (modell-nivå), men deployment-valg kan påvirke transparency og accountability:
- Logg batch job IDs og input/output for audit trail
- Implementer monitoring for bias detection (output review)
- Dokumenter beslutninger om batch vs. real-time for høyrisiko-applikasjoner
Budsjettprosesser
Batch API gir forutsigbar kostnad for planlagte AI-operasjoner:
- 50% reduksjon gjør det lettere å budsjettere store volumer
- Månedlige batch-workloads kan estimeres basert på historisk token-bruk
- Kombiner med Azure Cost Management for detaljert cost tracking per deployment
Eksempel: En kommune med månedlig rapport-generering (1M tokens/mnd):
- Real-time: ~$20 (estimat)
- Batch: ~$10 (50% reduksjon)
- Årlig besparelse: $120
Kostnad og lisensiering
Prismodell
| Deployment type | Kostnad vs. Global Standard |
|---|---|
| Global Standard | 100% (baseline) |
| Global-Batch | 50% (halv pris) |
| Data Zone Batch | 50% (samme som Global-Batch, men regional) |
Verifisert: Azure OpenAI Pricing
Kostnadsdrivere
- Token-bruk (input + output tokens)
- Modellvalg (o3-mini < gpt-4o-mini < gpt-4o)
- Deployment-type (batch vs. real-time)
- Quota allocation (dynamic quota reduserer overhead ved retry)
Optimaliseringstips
| Optimering | Effekt |
|---|---|
| Migrer ikke-latency-kritiske workloads til batch | 50% kostnadskutt |
| Bruk gpt-4o-mini for enkle oppgaver | Lavere token-pris enn gpt-4o |
| Aktiver dynamic quota | Reduserer jobbfeil, minimerer retry-overhead |
| Batch flere requests i én job | Reduserer API overhead, bedre throughput |
| Scheduled batch (natt/helg) | Utnytter lavere belastning, raskere processing |
| Monitor output quality | Sikrer at billigere modeller (gpt-4o-mini) oppfyller kvalitetskrav |
TCO-sammenligning (Total Cost of Ownership)
Scenario: 10M tokens/måned (mixed input/output)
| Deployment | Token cost/måned | Infrastruktur | Total/måned | Total/år |
|---|---|---|---|---|
| Real-Time Standard | $200 | $0 (serverless) | $200 | $2400 |
| Global-Batch | $100 | $0 (serverless) | $100 | $1200 |
| Besparelse | $100/mnd | — | $100/mnd | $1200/år |
Note: Estimater basert på illustrative priser. Faktiske kostnader avhenger av modell, region, og token-distribusjon.
For arkitekten (Cosmo)
Spørsmål å stille kunden
- Hva er akseptabel latency for denne workloaden? (Hvis > 1 time → batch er et alternativ)
- Hva er volumet og frekvensen? (Daglig 100K tokens → batch, ad-hoc 1K tokens → real-time)
- Finnes det compliance-krav (GDPR, Schrems II, AI Act)? (Ja → vurder Data Zone Batch)
- Hvor kritisk er kostnadskontroll? (Høy prioritet → batch for alt som ikke er sanntid)
- Er workloaden forutsigbar (scheduled)? (Ja → batch + ADF/Logic Apps, nei → real-time)
- Hva skjer hvis batch-jobb feiler? (Retry-strategi, exponential backoff, alert-system)
- Er det behov for both real-time og batch? (Hybrid deployment med separate quota pools)
- Hvordan monitores batch-jobber? (Polling, event-driven, dashboard i Azure Monitor)
Fallgruver å unngå
| Fallgruve | Konsekvens | Mitigering |
|---|---|---|
| Bruker real-time for alt | Dobbel kostnad for batch-egnede workloads | Analyser workloads, splitt i real-time vs. batch |
| Dynamic quota disabled | Batch-jobber feiler pga. quota, manuell retry | Alltid aktiver dynamic quota |
| Ingen monitoring | Batch-jobber feiler stille, ingen alerting | Implementer polling + Azure Monitor alerts |
| Manglende retry-logikk | Transiente feil → tapt data | Bruk exponential backoff, persistent queue |
| Hardkodet 24h timeout | Store jobber feiler unødvendig | Batch-jobber expires ikke, ikke hardkod timeout |
| Ikke vurdert Data Zone Batch | Compliance-brudd (Schrems II) | Alltid vurder Data Zone for offentlig sektor |
| Overprovisjonering av quota | Betaler for ubrukt kapasitet | Start lavt, bruk dynamic quota, skaler ved behov |
Anbefalinger per modenhetsnivå
| Nivå | Beskrivelse | Anbefalinger |
|---|---|---|
| Nivå 1: Pilot | Første batch-deployment, testing | Start med Global-Batch, dynamic quota, enkel scheduler (Logic Apps). Test output quality før scale. |
| Nivå 2: Produksjon | Stabile batch-workloads, noe kompleksitet | Azure Data Factory for orchestration, monitoring med Azure Monitor, retry-logikk. Vurder hybrid (real-time + batch). |
| Nivå 3: Skalert | Flere batch-workloads, compliance-krav | Data Zone Batch for compliance, event-driven architecture (Event Grid), advanced monitoring (cost per job), FinOps-rapportering. |
Arkitekturvalg: Decision tree
Kreves respons < 5 sekunder?
├─ Ja → Real-Time deployment
└─ Nei → Batch deployment
├─ Compliance-krav (Schrems II)?
│ ├─ Ja → Data Zone Batch
│ └─ Nei → Global-Batch
└─ Volum > 1M tokens/dag?
├─ Ja → Dynamic quota ON, exponential backoff
└─ Nei → Standard batch, dynamic quota ON (anbefales alltid)
Kilder og verifisering
Microsoft Learn (Verified via MCP)
-
Getting started with Azure OpenAI batch deployments
- URL: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/batch
- Konfidens: Verified (fetched 2026-02)
- Innhold: Deployment types, pricing (50% reduction), dynamic quota, exponential backoff, supported models, API versions
-
Azure OpenAI Batch API pricing
- URL: https://azure.microsoft.com/pricing/details/cognitive-services/openai-service/
- Konfidens: Verified (referenced in Microsoft Learn)
- Innhold: 50% cost reduction for batch vs. global standard
-
What's new in Azure OpenAI (August 2024)
- URL: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/whats-new#august-2024
- Konfidens: Verified
- Innhold: Batch API announcement, key use cases, GA status
-
Azure OpenAI deployment types
- URL: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/deployment-types
- Konfidens: Verified
- Innhold: Global-Batch vs. Data Zone Batch, dynamic quota
Code samples (Verified via MCP)
-
Python: Create batch job with DefaultAzureCredential
- URL: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/batch?pivots=programming-language-python
- Konfidens: Verified
- Innhold: OpenAI Python SDK examples for batch job creation
-
Python: Upload batch file with expiration
- URL: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/batch?pivots=programming-language-python#upload-batch-file
- Konfidens: Verified
- Innhold: File upload with 14-30 day expiration
Konfidensnivå per seksjon
| Seksjon | Konfidens | Kilde |
|---|---|---|
| Introduksjon | Verified | Microsoft Learn (batch how-to) |
| Kjernekomponenter | Verified | Microsoft Learn (deployment types, models, API support) |
| Arkitekturmønstre | Baseline | Utledet fra best practices + Microsoft guidance |
| Beslutningsveiledning | Baseline | Cosmo-syntese av verified sources |
| Integrasjon med Microsoft-stakken | Baseline | Azure dokumentasjon (ADF, Logic Apps, Function Apps) |
| Offentlig sektor | Baseline | GDPR/Schrems II standarder + Azure compliance |
| Kostnad og lisensiering | Verified | Azure pricing (50% reduction), Microsoft Learn |
| For arkitekten | Baseline | Cosmo-anbefaling basert på verified data |
Samlet konfidens: Høy (kjernedata verified, anbefalinger baseline)