Slik bruker vi AI-agenter i Plankepriser

Av: Olav Pekeberg, 22. april 2024

Alle snakker om AI. Har du også lurt på hvordan det kan brukes? Hva kan AI gjøre for oss i bygge- og byggevarebransjen?

Det siste året har vi eksperimentert mye med praktisk bruk av AI. Og med AI mener vi LLMer, som er teknologen bak chatGPT. Det er fasinerende å chatte med den, men hvordan kan den hjelpe oss når vi jobber med byggevarer?

I starten forsøkte vi og mange andre å få den til å skrive produkttekster for oss. Tekstene ser ofte fine ut, men de har et stort problem: Uten kontekst begynner ofte LLMen å dikte i fri fantasi. Det er ikke særlig smart.

Nå har vi oppdaget noe den er svært god på: Å analysere tekst. Det betyr at man kan mate AIen med et stykke tekst, også kan man stille den spørsmål om den teksten. Da får man gode svar. Før helgen gjorde vi en test, for å se om den kunne hjelpe oss med å kategorisere produktene som ligger på www.plankepriser.no. Det er et rimelig kjedelig arbeid, og med ca 300 000 varer i databasen vår er det umulig å gjøre det manuelt. Når halvparten av varene mangler et nobb nummer, kan vi heller ikke kopiere kategoriseringen derfra.

Med kode laget vi et lite system som går igjennom varer som mangler kategorisering på Plankepriser. Vi kaller dette systemet en AI-agent, og den henter ut en del tekstlig informasjon om produktet, f.eks. hva det heter i nettbutikken til de ulike kjedene. Den legger også med et produktbilde. Så stiller den et spørsmål til chatGPT om hvilken produkttype den mener dette produktet tilhører, basert på produktnavnene og bildet. Svaret den får er overraskende godt og presist.

De fleste tenker på chatboten chatGPT når vi sier AI, og der må man skrive inn spørsmålene selv. Med kode er det også mulig å bruke noe som heter et API. Det vil si at koden (AI-agenten) kommuniserer direkte med serveren til Open AI som driver chatGPT. AI-agenten stiller spørsmålet via APIet, og svaret kommer tilbake i det samme APIet. På den måten kan koden kjøre i bakgrunnen og få hjelp til å kategorisere alle varene som ligger på Plankepriser.

Har du lyst til å prøve selv? I boksen under finner du spørsmålet agenten stilte til chatGPT, for å finne ut hvilken produkt-type dette produktet er. Spørsmålet er delvis skrevet av meg, og delvis fylt med informasjon om produktet jeg akkurat linket til.

Du kan se dette i aksjon ved å kopiere spørsmålet og lime det inn i chatGPT. Jeg anbefaler å bruke GPT-4, som er den betalte versjonen av chatGPT. Men det fungerer i gratisversjonen også (dvs. GPT-3.5).

Jeg har et produkt som selges i byggevarehandelen. Jeg trenger hjelp av deg til å finne ut hvilken produkttype dette produktet er.

Det er mange kjeder som selger dette produktet, og de kaller det ofte litt ulike navn. Her er navnene hos de ulike kjedene:
* Yale home bevegelsessensor med bildekamera
* Yale kontrakt yale living pir camera sr-pc
* Yale kamera alarm
* Alarm yale kamera
* Yale kontrakt alarm yale kamera

Svar med å fylle ut denne JSON.
{
'produkt-type': ...
}

Viktig:
* Bruk stor forbokstav i navnet (Capitalized). Det er også OK å bruke flere store bokstaver der det er naturlig, f.eks. "OSB plate"
* Bruk så enkle navn som mulig. Det viktige er produkttypen, og ikke attributter ved produkttypen. Eksempel: "Stikkontakt" er bedre enn "Innfelt stikkontakt", "Vanntett stikkontakt", "Dobbel stikkontakt uten jord", "Stikkontakt i plast", etc. Ekstra egenskaper ved produkt-typen håndteres i en separat tabell med produkt-attributter.
* For spesialprodukter som brukes sammen med andre produkter kan det være fornuftig å ha med litt mer informasjon. F.eks. "Slangesett til sentralstøvsuger", "Tilkoblingsslange for vaskemaskin", "Papirposer til forbrenningstoalett"
* Navnet du velger må være på Norsk

Svaret du får tilbake er mest sannsynlig dette:

Formatet på denne teksten er noe som heter JSON, og det kan leses av alle kodespråk. Det betyr at den lille AI-agenten vår kan forstå svaret og skrive inn i databasen til Plankepriser at dette produktet er av typen "Bevegelsessensor med kamera". Og så går den gå videre til neste produkt.

Gjennom helgen jobbet AI-agenten svært flittig. Til nå har den tagget ca 100 000 produkter med produkt type, og den jobber fortsatt. Vi har også et kategoritre med hovedkategorier og underkategorier. Hver gang AI-agenten "oppdager" en ny produkt-type er det en egen kodesnutt som stiller et nytt spørsmål til GPT og ber om hjelp til å plassere produkt-typen på beste sted i kategoritreet.

Før AI-agenten satte i gang var det et par hundre produkttyper i kategori-treet vårt, og nå er det mange tusen. Du kan se kategoritreet her. Det er ikke helt perfekt. Noen produkt-typer hadde jeg plassert i en annen kategori, og det har dukket opp et par duplikater i databasen. Men til å være et helt autonomt system må jeg si at dette er et svært godt førsteutkast som man raskt kan rydde opp i selv.

Dette var bare et lite helgeprosjekt. De siste månedene har vi også jobbet med et mye større AI-prosjekt, som vi er sikre på vil være til stor hjelp for bygge- og byggevarebransjen. Vi er ikke klare til å snakke om det helt ennå, men kommer med mer informasjon veldig snart.

Lurer du på hvordan dere kan bruke AI fremover? Jeg hjelper dere gjerne å navigere i jungelen av hva som er mulig og hva som er vanskelig. Det er bare å ta kontakt med oss.