• AI FTW
  • Posts
  • Custom GPTs - Behind the scenes

Custom GPTs - Behind the scenes

Min mest avanserte bruk av ChatGPT

Custom GPT

Ok, dette har jeg egt ønsket å skrive litt om lenge, men det har lixm ikke vært helt klart. Dette blir en litt lengre og noe teknisk beskrivelse, men hvis du er keen på å forstå hvordan du skal ta ChatGPT til neste nivå så tror jeg det er verdt det.

Det er ikke egentlig spesielt avansert, men det krever at man holder tungen litt rett i munnen mens man kobler det sammen.

Ta en titt på det endelige resultatet (linken under). Dette er linken til en tråd jeg har med Sofia sin Custom GPT (obs obs. Jeg har allerede en samtale gående her, men du kan fint starte en ny samtale):

Starten

Da Custom GPTs kom ut i november ‘23 var vi mange som testet og eksperimenterte, men det var ikke helt åpenbart hva det beste use-caset var 🤷🏻‍♂️.

Et par uker senere startet vi Culinary Collective. Da var tanken at kokkene våre skulle få egne personligheter som man kan prate med og som kunne gi deg oppskrifter og råd. Det virket som et nyttig og utfordrende use-case.

Kunnskapsbasen

Det første vi forsøkte var å legge inn oppskrifter i kunnskapsbasen (altså filer du laster opp under “Knowledge”)

Slik ser det ut når man lager en custom GPT

Det funket dårlig 🙅🏻‍♂️

Utfordringen med å legge til oppskrifter i kunnskapsbasen var at hun nesten alltid valgte den første i listen. Jeg forsøkte å bruke forskjellige formater, slik som JSON, Markdown, PDF, CSV etc etc. Men det nyttet lite. Det er visst ganske tungvint å søke igjennom teksten. Resultatene ble aldri i nærheten av det man ønsket seg. Derfor måtte vi forkaste den ideen. Jeg vet ikke helt hva vi skal bruke “knowledge” til, men det blir kanskje åpenbart senere🤷🏻‍♂️.

Det neste vi prøvde var en MYE bedre løsning, men en som krevde litt fikling. Når det er sagt er jeg skikkelig skikkelig fornøyd med denne løsningen. 🙌

Løsning: Function Calling

Per skrivende stund mener jeg at dette er det nyttigste og kraftigste verktøyet Custom GPTs har å by på. En evne som strekker seg ganske langt utenfor det vi har brukt det til her (les: agenter og et nytt OS for maskiner).

Som jeg har prøvd å skrive litt om før så er det slik at det ChatGPT og LLMs egentlig representerer er et slags operativsystem hvor vi interagerer med maskinene våre gjennom naturlig språk.

En ting ChatGPT er utrolig god på er å omsette naturlig språk til et eget litt stramt format som heter JSON. Og dette formatet er ypperlig for å kommunisere data mellom forskjellige programmer via API (et konsept som mange etter hvert har hørt om).

Det vi gjør i denne GPT’n er å ta din samtale. F.eks. “Jeg er gira på en god risotto. Helst vegetar og ikke så vanskelig” og gjøre det om til

{
    
    "dietaryPreference": [
    "vegetarian"
    ],
    "difficulty: "Easy",
    "keywords": [
      "ice cream"
    ],
    "tags": [
      "italian",
      "dessert"
    ],
    "chef":
        "44e00e42-d956-4f92"
  }

Dette (over) er et format som en maskin kan bruke.

Så skjer det som kanskje er mest magisk og forbløffende (i mine øyne):

Vår Custom GPT analyserer en liste over funksjoner beskrevet i vanlig språk. Eks.

summary: Retrieves recipes based on user preferences
description: >
        This endpoint retrieves recipes based on     specified preferences such as dietaryPreference, keywords, difficulty,
        rating, tags, and chef. 'Rating' is an optional parameter.

Ta et øyeblikk og sett pris på den svarte magien som ligger bak her. “Sofia” kan analysere hva du ber om. Hvis hun har en “funksjon” i beskrivelsen sin så vil hun sjekke om det du ber om stemmer overens med beskrivelsen av funksjonen. Hvis det stemmer så samler hun informasjonen om hva du leter etter. Ordner det i et gitt format og sender det til vårt API, nøyaktig slik vi har sagt at vi må ha det 🤯.

Det neste som skjer at denne informasjonen blir sendt til vårt API (som egt er veldig enkelt).

API’et tar denne JSON-data-saken og bruker den til å slå opp oppskrifter i vår database av oppskrifter. (alt dette er ganske vanilla) Hvis den finner oppskrifter som matcher så sender den tilbake informasjonen til Sofia sin GPT i JSON. Sofia ser informasjonen og utformer den i et format som brukeren kan dra nytte av. Da ser det slik ut:

Deretter kan du spørre om andre oppskrifter eller be om forskjellige råd ifbm denne oppskriften.

Til syvende og sist prøver vi å få til en brukeropplevelse som er sømløs og personlig, samtidig som vi kvalitetssikrer at oppskriftene du får fra våre kokker ikke bare er noe fjas ChatGPT setter sammen.

Håper dette var sånn passe forståelig 😅 Hvis du har spørsmål eller ideer er det bare å maile meg 😉 

PS. Hvis du vil følge oss på Instagram så blir vi superglade ❤️‍🔥