Kunstig intelligens anvendt i prosjektene våre
Vi integrerer AI der den tilfører reell verdi: automatisering av repetitive prosesser, uttrekk av informasjon fra dokumenter, generering av kontekstualisert innhold og intelligent assistanse for brukerne. Vi tar implementeringsbeslutninger basert på ROI, ikke på trender.
LLM-integrasjon — Claude API og OpenAI
Vi bruker Claude (Anthropic) som hovedmodell for oppgaver med komplekse resonnementer, dokumentanalyse og generering av lange tekster — et kontekstvindu på 200k tokens gjør det mulig å behandle en hel juridisk mappe eller en finansrapport i ett enkelt kall. GPT-4o velges for multimodale oppgaver (bilde + tekst) og når OpenAI-økosystemet (Whisper, DALL-E) er nødvendig.
Tool use (function calling) lar LLM-en samhandle med interne API-er: søke i databasen, utløse handlinger i eksisterende systemer og returnere strukturerte data validert med Pydantic. Streaming-svar reduserer opplevd ventetid i samtalegrensesnitt — brukeren ser teksten dukke opp gradvis i stedet for å vente 5–10 s.
- Prompt caching (Anthropic) reduserer kostnaden med 90 % for gjentatt kontekst (system prompts, referansedokumenter)
- Structured outputs (JSON-modus) for typesikre svar uten regex på fri tekst
- Automatisk fallback Claude → GPT-4o → Gemini ved tilgjengelighetsfeil
- Kostnadssporing per bruker og per funksjon — LLM-bruk er synlig i admin-dashbordet
RAG — AI med kunnskap fra kundens data
Retrieval-Augmented Generation (RAG) lar LLM-en svare basert på kundens egne dokumenter (kontrakter, håndbøker, regelverk, e-poster) uten å bli trent på nytt. Dokumentene deles opp i chunks, embeddes med text-embedding-3-large (OpenAI) eller embed-english-v3 (Cohere), lagres i pgvector (PostgreSQL-utvidelse) og hentes ut med cosinus-likhet.
RAG-pipelinen omfatter: dokumentinntak (PDF, DOCX, HTML), intelligent chunking (med overlapp for kontekst), re-ranking med Cohere Rerank for økt relevans, injeksjon i LLM-konteksten og kildehenvisning med sidetall. Resultatet er en chatbot som svarer presist basert på reelle dokumenter, med verifiserbare kilder.
- pgvector for vektorlikhetssøk direkte i PostgreSQL — uten Pinecone/Weaviate
- Hybridsøk: tette vektorer + sparse BM25 (nøkkelord) → RRF-fusjon
- RAG-evaluering med RAGAS — precision, recall og faithfulness måles automatisk
- Metadatafiltrering for multi-tenant: bruker A ser ikke bruker Bs dokumenter
Computer vision og dokumentbehandling
For å hente ut data fra skannede eller fotograferte dokumenter (fakturaer, kontrakter, ID-dokumenter) bruker vi en kombinert pipeline: bildeforbehandling (deskew, støyreduksjon med OpenCV), OCR med Google Document AI eller Amazon Textract (strukturert, ikke rå OCR) og etterbehandling med LLM for normalisering og validering. Nøyaktighet over 98 % på typiske forretningsdokumenter.
Bildeklassifisering (produkter, kategorier, NSFW-deteksjon) gjøres med modeller finjustert på CLIP eller EfficientNet, utrullet som FastAPI-mikrotjenester med valgfri GPU-inferens (CUDA). For prosjekter uten GPU-budsjett gir sky-API-er (Google Vision, AWS Rekognition) over 95 % nøyaktighet til en marginal kostnad.
- Automatisk uthenting av data fra PDF-/bildefakturaer → strukturert database
- Identitetsverifisering: dokument-OCR + selfie liveness detection
- Moderering av brukergenerert innhold med sky-API-er + LLM-fallback
- Tale-til-tekst med Whisper large-v3 for transkribering av lyd fra møter
Fordeler og begrensninger
Fordeler
- Automatiserer repetitive prosesser: datauttrekk, klassifisering, support.
- RAG svarer ut fra kundens dokumenter, med verifiserbare kilder.
- Prompt caching reduserer kostnaden med opptil 90 % på gjentatt kontekst.
- Fallback mellom modeller (Claude → GPT-4o → Gemini) for tilgjengelighet.
Begrensninger
- LLM-er kan hallusinere — all kritisk output krever validering og kilder.
- Kostnaden per token vokser raskt ved høyt volum uten nøye caching.
- Sensitive data sendt til tredjeparts-API-er gir personvernutfordringer.
- Ventetiden for et generert svar kan komme opp i noen sekunder.
Kort vurdering
Integrer AI der den gir reell ROI: automatisering, RAG på dokumenter, datauttrekk. Unngå AI for AI-ens skyld i oppgaver der en enkel regel eller et klassisk søk er nok.
Spesifikasjonstabell
| Egenskap | Grense / terskel | Typisk bruk | |
|---|---|---|---|
| LLM-kontekst | Opptil 200k tokens (Claude) | Stor kontekst øker kostnad og ventetid | Analyse av lange dokumenter, rapporter |
| RAG | pgvector, hybridsøk, re-ranking | Kvaliteten avhenger av chunking og kilder | Chatbot på egne dokumenter |
| Computer vision | Strukturert OCR, nøyaktighet > 98 % | GPU-inferens øker kostnaden | Uthenting fra fakturaer, ID-verifisering |
| Typisk kostnad | Belastes per token / per API-kall | Øker med volumet uten caching | Fra chatbot til komplett pipeline |
RAG mot fine-tuning
| Kriterium | RAG | Fine-tuning |
|---|---|---|
| Oppdatering av kunnskap | Umiddelbart (du legger til dokumenter) | Krever ny trening |
| Verifiserbare kilder | Ja, med henvisning | Nei |
| Startkostnad | Lav | Høy (data + GPU) |
Ofte stilte spørsmål
Hva er RAG, og når bruker jeg det?
RAG (Retrieval-Augmented Generation) lar AI-en svare ut fra dokumentene dine (kontrakter, håndbøker, regelverk) uten ny trening. Du bruker det når du vil ha presise svar, med kilder, basert på egne data.
RAG eller fine-tuning?
RAG for kunnskap som endres ofte og for verifiserbare kilder — du oppdaterer det ved å legge til dokumenter. Fine-tuning for fast stil eller format, med høyere startkostnad. For de fleste forretningstilfeller er RAG det beste valget.
Hvordan kontrollerer dere AI-hallusinasjoner?
Vi bruker RAG med kildehenvisning, structured outputs (JSON) validert med Pydantic og menneskelig validering av kritisk output. AI-en svarer ut fra reelle dokumenter, ikke fra hukommelsen, og hver påstand har en vedlagt kilde.
Forblir dataene mine konfidensielle?
Sensitive data kan isoleres per tenant og om nødvendig behandles med selvhostede modeller eller API-er med no-training-klausuler. I regulerte tilfeller velger vi leverandører som ikke bruker data til trening.