2  Valg av tilbyder

Sist endret

19.09.2025

Et av de første valgene man må foreta seg er hvilke tilbyder(e) man ønsker å benytte for systemet. Som nevnt tidligere har vi i Nav i hovedsak mulighet til å bruke Azure OpenAI Services (Definisjon D.1) eller Vertex AI (Definisjon D.12).

Når vi beskriver sky-plattformen til Nav kommer vi til å bruke NAIS D.6 som forkortelse.

Selv om man kan blande tilbyder av språkmodell, embedding modell og vektordatabase vil det i de fleste tilfeller falle naturlig å velge én tilbyder av alle tre. Det er derfor viktig å være bevist dette valget og tenke på helheten av applikasjonen.

2.1 Bruk av no/low-code løsninger

Både Azure OpenAI og Vertex AI tilbyr i dag no/low-code løsninger for å komme i gang med et KBS system. Disse løsningene gjør det raskt å komme i gang med utvikling og tilbyr ekstra funksjonalitet utover bare språkmodellen, vektordatabase og embedding modell. Bakdelen med disse no/low-code løsningene er selvsagt at man mister litt av kontrollen og låser seg helt til en tilbyder.

Fordeler og ulemper med no/low-code løsninger
Organisering Fordeler Ulemper
No/low-code
  • Enkelt å komme i gang med
  • Krever ikke kodekompetanse
  • Både Azure og Vertex AI er verdensledende på KBS systemer
  • Låser til én tilbyder av alle komponenter
  • Kan ikke kjøre på NAIS
  • Vanskelig å feilsøke hvis systemet ikke oppfører seg som forventet
  • Vanskelig å gjøre utvidelser utover det tilbyder allerede støtter
Selvlaget
  • Full kontroll og innsikt i systemet
  • Kan blande tilbydere av komponenter
  • Kan kjøre på NAIS plattformen
  • Krever kodekompetanse
  • (Kanskje) Lengre ledetid til produksjon

Det er selvsagt mange alternativer man kan utforske når man ikke går for en av no/low-code løsningene til Azure OpenAI eller Vertex AI og vi kommer ikke til å liste opp alle her, men kanskje forslagene kan være et sted å starte å se på alternativer:

  • LangChain - Et rammeverk for å skape språkmodell-baserte applikasjoner.
    • Har støtte for de fleste tilbydere og man kan gjennom dette rammeverket kalle på Azure OpenAI og Vertex AI modeller.
  • LlamaIndex - Et rammeverk for å skape språkmodell-baserte applikasjoner.
  • API direkte - Et godt valg hvis man vet at man ikke kommer til å bytte mellom tilbydere.

Hvilken løsning man ønsker å gå for bestemmes i stor grad av produktet som skal utvikles og hvem som er med å utvikle produktet. På samme måte som ellers i produktutvikling for Nav anbefales det at teamet tar en bevist avgjørelse med de fordeler og ulemper som følger med.

2.2 Valg av språkmodell

Det er vanskelig å gi en sterke anbefalinger den ene eller den andre veien for hvilken språkmodell man burde foretrekke. Her vil det komme ned til utprøving av begge modeller og preferanser utover selve modellen. Husk også at modellene forbedres hele tiden så egen erfaring og testing burde veie tungt sammenlignet med tidsbestemte anbefalinger, som denne tabellen.

På kort sikt er det fornuftig å velge en språkmodell som gir gode svar fra første stund. Men i et lengre perspektiv burde produktutviklingen i Nav ta stilling til lokale modeller som kan ytterligere tilpasses den enkeltes bruksområde.

Fordeler og ulemper ved valg av språkmodell.
Språkmodell Fordeler Ulemper
Azure OpenAI
  • Kan benytte kjente modeller som GPT-3.5 og GPT-4
  • Mye tilgjengelig dokumentasjon utover det Azure/OpenAI tilbyr
  • Må forholde seg til både NAIS og Azure
  • To koststeder som må samkjøres
Vertex AI
  • Kjører på samme plattform som NAIS
  • Ikke like kjente modeller som OpenAI

Selv om GPT modellene fra Azure OpenAI i dag kanskje gir bedre svar vil det på sikt jevne seg ut1. Gemeni-1.5 Pro har for eksempel et veldig mye større kontekstvindu som kan være attraktivt.

2.3 Valg av embedding modell

Embedding modell kanskje enda mer enn språkmodell må testes grundig før endelig valg faller. Siden embedding modellen vil styre hvor godt vektordatabasen klarer å hente ut relevante dokumenter og siden vi er avhengig av en modell som forstår Norsk godt.

Egenskaper til embedding modell.
Embedding modell Egenskaper
Azure OpenAI
  • Flere modeller å velge mellom
  • Støtte for multimodalitet (kan tolke flere formater)
  • Mulighet for å styre størrelsen på vektorene
Vertex AI
  • Flere modeller å velge mellom
  • Støtte for multimodalitet (kan tolke flere formater)

Det finnes flere benchmark-er som sammenligner forskjellige modeller som gir et godt utgangspunkt før man velger modell.

2.4 Valg av vektordatabase

Det mest interessante valget kommer når man skal vurdere vektordatabase. For vektordatabase har man både mulighet til å velge fra en av tilbydere som allerede er nevnt, Azure AI Search og Vertex AI Search, men man har også mulighet for å velge en “self-hosted” løsning med PostgreSQL.

NAIS D.6 plattformen vil det være Cloud SQL med støtte for pgvector som vil være ekvivalent med en “self-hosted” løsning.

Det som man må være observant på og teste selv er hvor mye ekstra verdi hybridløsningene fra Azure OpenAI og Vertex AI gir utover en ren vektordatabase som Postgres. Siden Azure AI Search og Vertex AI Search har støtte for hybridsøk kan de i teorien gi bedre sensitivitet når det søkes i kunnskapsbasen, men med forståelsen av at man mister litt kontroll over søket. Som i de andre anbefalingene så må man teste og vurdere på bakgrunn av kunnskapsbasen man ønsker å søke i.

Fordeler og ulemper med vektordatabaser.
Vektordatabase Fordeler Ulemper
Azure AI Search
  • Hybridsøk
  • Enkelt å komme i gang med
  • No/low- code
  • Mindre kontroll over oppsett av database
  • Egen kostnad
Vertex AI Search
  • Hybridsøk
  • Enkelt å komme i gang med
  • No/low- code
  • Mindre kontroll over oppsett av database
  • Egen kostnad
PostgreSQL (pgvector)
  • “Innebygget” i NAIS applikasjoner
  • Enklere å kombinere tabeller for applikasjonen
  • Mer kontroll over database og kostnader
  • Vanskeligere å komme i gang med
  • Krever mer i oppstartfasen
  • Krever kode
BigQuery
  • Enkel tilgang for Nav
  • Enkelt å komme i gang med
  • God nok ytelse for mindre kunnskapsbaser
  • Låser til Google GCP 2

  1. På Vertex AI har man mulighet for å bruke Antropics Claud 3 modeller som i mange sammenhenger er minst like gode som GPT-4.↩︎

  2. BigQuery er en proprietær løsning fra Google og er ikke nødvendigvis overførbar til andre SQL løsninger.↩︎