refactor(examples): replace sector-specific example material with generic, fictitious examples

Reference files, test fixtures, the playground demo project and one design
document now use generic, fictitious examples (buildings, energy, water,
grants, municipal services). The playground demo (17 fixtures plus the
embedded demo state) tells one consistent story: a municipal customer
chatbot that pre-screens housing-benefit applications, classified under
Annex III point 5(a). The embedded demo copies were edited in place rather
than regenerated, because they already carry newer AI Act dates than the
fixture files.

Legal text is unchanged. Test semantics are unchanged. Four dark-theme
onboarding screenshots with outdated placeholder text are removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 14:03:53 +02:00
commit 544934dc57
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
77 changed files with 363 additions and 368 deletions

View file

@ -62,9 +62,9 @@ Denne referansen dekker hele arbeidsflyten for Batch API, fra filsammensetning o
Batch API bruker JSON Lines-format (`.jsonl`), der hver linje er en selvstendig JSON-objekt:
```jsonl
{"custom_id": "req-001", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-4o-batch", "messages": [{"role": "system", "content": "Klassifiser henvendelsen som KLAGE, SPORSMAL, eller TILBAKEMELDING."}, {"role": "user", "content": "Jeg er svart misfornoyd med ventetiden pa fornyelse av forerkort."}], "max_tokens": 50}}
{"custom_id": "req-002", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-4o-batch", "messages": [{"role": "system", "content": "Klassifiser henvendelsen som KLAGE, SPORSMAL, eller TILBAKEMELDING."}, {"role": "user", "content": "Hvordan soker jeg om nytt forerkort?"}], "max_tokens": 50}}
{"custom_id": "req-003", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-4o-batch", "messages": [{"role": "system", "content": "Klassifiser henvendelsen som KLAGE, SPORSMAL, eller TILBAKEMELDING."}, {"role": "user", "content": "Fint arbeid med den nye tunnelen i Rogaland!"}], "max_tokens": 50}}
{"custom_id": "req-001", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-4o-batch", "messages": [{"role": "system", "content": "Klassifiser henvendelsen som KLAGE, SPORSMAL, eller TILBAKEMELDING."}, {"role": "user", "content": "Jeg er svart misfornoyd med ventetiden pa behandling av byggesoknaden min."}], "max_tokens": 50}}
{"custom_id": "req-002", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-4o-batch", "messages": [{"role": "system", "content": "Klassifiser henvendelsen som KLAGE, SPORSMAL, eller TILBAKEMELDING."}, {"role": "user", "content": "Hvordan soker jeg om skjenkebevilling?"}], "max_tokens": 50}}
{"custom_id": "req-003", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "gpt-4o-batch", "messages": [{"role": "system", "content": "Klassifiser henvendelsen som KLAGE, SPORSMAL, eller TILBAKEMELDING."}, {"role": "user", "content": "Fint arbeid med det nye biblioteket i kommunen!"}], "max_tokens": 50}}
```
**Viktige regler:**
@ -517,7 +517,7 @@ def retry_failed_requests(
system_prompt = """Klassifiser henvendelsen. Svar med JSON:
{"kategori": "KLAGE|SPORSMAL|TILBAKEMELDING|SOKNAD",
"prioritet": "HOY|NORMAL|LAV",
"etat": "FORERKORT|KJORETOYREG|VEIPROSJEKT|ANNET"}"""
"tjenesteomraade": "BYGGESAK|SKJENKEBEVILLING|TILSKUDD|ANNET"}"""
batch_file = generate_batch_file(
items=henvendelser,

View file

@ -316,7 +316,7 @@ Azure OpenAI prompt caching reduserer latens og kostnad for requests med identis
# System prompt som gjenbrukes pa tvers av requests
SYSTEM_PROMPT = """Du er en saksbehandlingsassistent for Direktoratet for digital tjenesteutvikling.
Du hjelper med a analysere og klassifisere innkommende henvendelser
relatert til forerkort, kjoretoysregistrering og veiprosjekter.
relatert til byggesaker, skjenkebevillinger og tilskudd.
Folg disse retningslinjene:
1. Klassifiser henvendelsen i riktig kategori

View file

@ -172,11 +172,11 @@ def design_cacheable_prompt(
messages, stats = design_cacheable_prompt(
system_instructions="""Du er en AI-assistent for saksbehandlere i
Direktoratet for digital tjenesteutvikling. Du hjelper med å analysere klager på vedtak om
saksbehandling, vurdere om klagen har grunnlag, og foreslå svar.
tilskudd, vurdere om klagen har grunnlag, og foreslå svar.
Regelverk du skal referere til:
- Vegtrafikkloven § 24-34
- fagforskriften
- Tilskuddsordningens forskrift
- Reglement for økonomistyring i staten
- Forvaltningsloven § 28-36 (klagebehandling)
Format: Alltid bruk overskrifter, vurder hvert punkt separat,
@ -184,11 +184,11 @@ messages, stats = design_cacheable_prompt(
few_shot_examples=[
{
"input": "Klage: Jeg fikk avslag på fornyelse...",
"input": "Klage: Jeg fikk avslag på søknad om driftstilskudd...",
"output": "## Vurdering\n### Regelverksvurdering..."
},
{
"input": "Klage: Mitt saksbehandling ble inndratt...",
"input": "Klage: Tilskuddet mitt ble krevd tilbakebetalt...",
"output": "## Vurdering\n### Regelverksvurdering..."
}
],