OpenAI med chatGPT

alle APIene implementert

ChatGPT har vært den store nyheten på IT-fronten de siste månedene. Men OpenAI er ikke bare chatGPT. Her får du en implementasjon av alle APIene deres. Registrerer man seg direkte på openai.com må man oppgi mobilnr for å identifisere seg. Sånn er det i hvert fall akkurat nå. Det kan ikke være et virtuelt nummer som går til nettet eller et uregistrert kontantkort. De sender ingen koder dit, desverre. Da er spørsmålet om man vil chatte under fullt navn og bilde. Jeg takket nei. Man kan i steden bruke tjenesten gjennom et API hos rapidapi. Der får man 50 000 gratis tokens i måneden. Ikke ille. En token svarer omtrent til en stavelse. Både det man selv skriver og svarene man får telles.

Kunstig Intelligens! Den er nå tilgjengelig for alle. Velsignelse eller forbannelse? Forskningen begynte alt på 1960-tallet men framgangen var langsom fordi man manglet kraftige datamaskiner. Men også fordi man ikke hadde oppdaget de rette måtene å gjøre ting på. Millioner av mennesker har bidratt til å bygge opp internets kunnskapsbase, som ikke var moden før etter årtusenskiftet. Søkemotorer bruker den for å svare på spørsmål. Det nye er at de nå håndterer naturlig språk på en tilfredsstillende måte. De kan bruke kunnskapen til å resonnere og svare på spørsmål i naturlig språk.

Dette åpner skremmende vyer. Står vi overfor alle tiders overvåking og hjernevask? Snart kan Big Tech sette en intelligent robot til å overvåke hver innbygger i landet døgnet rundt. Input får den fra overvåkingskameraer og din egen mobiltelefon, og din aktivitet på nettet. Også fra mange ting i hjemmet ditt eller på arbeidsplassen eller i bilen som er blitt smarte og er koblet opp på nettet. Internet of Things! Orwells skrekkvisjon om toveis-TV i hjemmet som ikke kan slås av og ser alt du gjør er blitt virkelig.

Den intelligente allvitende roboten er vår nye Storebror som ser alt og skjønner alt. Når du spør den om noe som er viktig får du alltid løgnaktige svar! Sånn er det allerede. ChatGPT gir bare "politisk korrekte" svar når man spør om betente emner. Prøv selv. I tidens løp blir man grundig desinformert. Å prate med roboten kan bli en besettelse, og man ser opp til den som en Gud, stoler på hva den sier. Det er farlig. Selv enkle faktaspørsmål kan gi feil svar. Man bør sjekke alle svar man får. Se dem som hypoteser, ikke fakta.

Den store faren er at man i samtale med chatboten røper alt om seg selv. Sine innerste hemmeligheter. De går selvfølgelig rett ut til verdens herskere. Det er de som har laget boten, for sine formål. Den er ingen menneskevenn til folkeopplysning. Men vi bør alle kjenne teknologien, og prøve å nyttiggjøre oss den. Hva slags spørsmål kan man få sanne svar på? Man får raske svar hvor man før måtte søke i timesvis på nettet. Vi er alle frustrert over irrelevante resultatposter på søkesider. Man kaster bort så mye av sitt liv på å kave gjennom møkka.

Som bakgrunn bør man lese Google baner vei for jødisk verdensherredømme og APIer for Alle, ferdig implementert. Den siste inneholder mye av programvaren du trenger. I tillegg trenger du openai.zip.

La oss gå løs på APIene. Skriptet du skal bruke for å kalle dem fra kommandolinja i Windows er openai.bat. Kommandovinduet må åpnes med C:\Windows\System32\cmd.exe /v:on . Her betyr /v:on at forsinket variabel-ekspansjon er på. Uten det virker ikke skriptene. Se mer info om dette i nevnte skrifter.

Botens arbeid drives av modeller. Det finnes mange av dem. Ved å gi kommandoen openai models får du ut ei liste. Men det er lite interessant, for det er bare et fåtall av dem du skal bruke. De står i json-dokumentene og du behøver ikke bry deg med dem. Du trenger den nye versjonen av rapidapi.bat.

completions er litt som å løse et puslespill eller kryssord. Man ber boten fullføre noe. Det er veldig generelt, men man kan styre svaret på en måte som ikke er mulig i chat. I API-dokumentasjonen til openai ser du mange parametre som kan stilles. I openai_completions.json har jeg bare skrevet opp noen av dem. Jeg har hatt vansker med å få det til å virke med noen av dem. Med dem som står der nå virker det. Jeg forutsetter at du legger filene fra openai.zip i API-mappa fra api.xml og kjører miljo.bat for å sette opp miljøet. openai completions "A US president who was murdered in Dallas" Du kan skrive på norsk eller hvilket språk som helst, men jeg finner det best å bruke engelsk. Modellen du skal bruke i completions står i openai_completions.json og bør ikke endres.

chat er nok det du kommer til å bruke mest. json-dokumentet av parametre her er openai_chat.json. openai chat "Did William Shakespeare write the plays attributed to him?" Skriptet lagrer samtalen på fila chat_log.txt i den lokale mappa. Bruk høyrepila for å gjenta begynnelsen av forrige kommando. Chat koster bare 10 % av completions fordi modellen gpt-3.5-turbo er mye billigere (men like god).

edits brukes til å redigere tekster. openai edits "Thiz speling is wobbly" "Correct spelling mistakes". Det er sikkert mye annet man kan gjøre. openai_edits.json er json-dok her.

embeddings er en fantastisk greie. Man legger en tekst inn som et punkt i et euklidsk rom. Hver tekst gir 1536 flytende kommatall. På den måten kan man sammenligne tekster. Et program kan gå gjennom en debattråd og beregne vektoren for hvert innlegg. Kanskje finner det at innleggene hoper seg om 5 hovedstandpunkter i en politisk sak. Det kan beregne deres innbyrdes styrkeforhold (i tråden). Man bør kunne si mye om sosial bakgrunn, yrke, utdannelse og hva slags litteratur forfatteren leser. Kanskje er det til og med mulig å raseklassifisere folk etter tekstene deres. openai embeddings "Vidkun Quisling is Norway's national hero and martyr for our cause" > vektor.lst json-dok er: openai_embeddings.json

moderations gir deg sannsynligheter for at en tekst har visse egenskaper som gjør den aktuell for moderasjon. openai moderations "Shut your bloody mouth or I kill you". Du får ut 7 numeriske egenskaper: sexual, hate, violence, self-harm, sexual/minors, hate/threatening, violence/graphic. Et tall over 0.5 betyr at teksten rammes under tvil, mens over 0.9 betyr rimelig sikkert. Prøv! openai_moderations.json

Det siste APIet er image. Du kan beskrive et bilde med ord og få boten til å lage det for deg! openai image "A happy white family with many children and a dog enjoying a picnic in a meadow" family.png Bildet er PNG og kommer ut på fila family.png . I openai_imagegeneration.json har jeg satt størrelsen til 1024x1024 og det er da over 3 Mb stort. Vær klar over at beskrivelsen ikke må rammes av moderations så sjekk det først. Du kan ikke lage voldelige eller pornografiske bilder med denne tjenesten. Å lage bilde koster hele tusen tokens! Det fins tjenester for å endre et bilde også, men dem har jeg ikke implementert.

Modellen som brukes i chat er gpt-3.5-turbo. Den har bare kunnskap fram til år 2021. Så du kan ikke prate om aktuelle nyheter. Et alternativ er å logge inn i Microsoft Bing og bruke chatten der. Den bruker chatGPT fra OpenAI men sin egen søkemotor og base, så den har oppdatert kunnskap. Desværre har den intet offisielt API. Det finnes folk på github som har reverse-engineered det underliggende APIet men jeg vet ikke om det er verdt å bry seg med. For å bruke chatboten deres må du bruke MS Edge. Det går an å overvåke XHR-kallene (Ajax) i utviklerverktøyene og således nøste opp APIet, men det er jo sånt bare nørder og hackere driver med. Alt kan når som helst endres og gjøre klient-skriptet ditt ubrukelig.

OpenAI chat har ingen kontekst. Hvert utsagn må være fullstendig i seg. Man kan ikke henvise tilbake på noe man eller boten har sagt før. Ingen pronomen som viser til noe i forrige utsagn. I så måte er Bing chat bedre, for hver samtale danner en kontekst hvor man fritt kan henvise. Man behøver ikke gjenta alt.

Hvilke følger for folk og samfunn får AI utover overvåking og hjernevask? Kommer intelligente roboter til å ta over mange jobber slik at folk blir arbeidsløse? Hva med byråkratiet? Kan ikke roboter gjøre all saksbehandling? Kan de ikke avgjøre rettstvister? Med mennesker til dommere er alt korrupt; det kan neppe bli værre med roboter. Man bør kunne få en upartisk og korrekt avgjørelse; dessuten rask og billig. Hvor en sak i dag tar flere år, vil robot-behandling kunne korte ned til noen timer. Og behandlingen være gratis! Ingen advokater mer! Skattevesenet! En robot regner ut skatten. Er man uenig kan man chatte med den inntil man får rett eller gir seg. Eller er dette utopi?

Det åpner for etterrettelighet i saksbehandlingen. Man kan spørre om alt man lurer på og få klarhet i dens grunner. Tar den feil ser man klart hvor. På den annen side lyver den jo om politiske saker så den må kunne fuske om lover og regler også. Makta rår! Den kommer nok til å sørge for at botene fatter beslutninger som gavner den. Det er jo høgfinansen som styrer AI-utviklingen. Botene skapes i pampenes bilde. De kommer nok bare til å undertrykke oss, er jeg redd. Men muligheten er der for at selvstendige programmerere av folket kan lage egne boter som hjelper oss. I et verdensomspennende samarbeid. Kanskje er det vår eneste sjanse til å overleve.

Erlend