AI-drodling: hei webs

Jeg ønsker en webapplikasjon kalt «hei webs» hvor jeg kan snakke med en eller flere nettsider. 😁

Appen ber meg legge inn alle adressene til nettsidene og etter noen få sekunder skal den være klar for bruk 🚀

Dataene skal ikke lagres i noen database e.l. Bare midlertidig i minnet til applikasjonen. 🥸 Jeg skal enkelt kunne nullstille minnet direkte fra appen. 😎

👴 Hvordan løste jeg det?

Applikasjonen består av et API og en webapplikasjon. For AI så benyttes LangChain og OpenAI.

Kort og knotete forklart er flyten slik:

  • Bruker taster inn ønskede nettsider i appen og alle adressene sendes til API’et.
  • API’et henter dataene fra alle nettsidene.
  • Deretter splittes dataene opp i deler.
  • For hver del så blir det generert vektorverdier ved hjelp av OpenAI Embeddings.
  • Delene sammen med metadata (bl.a. kilde) og vektorverdiene lagres til minnet («vectore store»).
  • Brukeren kan deretter stille et spørsmål (prompt) som konverteres til vektorverdi, deretter blir sammenligna med dataene i minnet («vector store»).
  • Data returneres til brukeren i form av en leselig tekst og kildene som ble brukt.

Når applikasjonen starter spør den meg om hvilke nettsider jeg ønsker å legge til.

For å teste applikasjonen legger til adressen til en nettside fra Nasjonal strategi for kunstig intelligens3 Evne til å utvikle og utnytte kunstig intelligens. 😁

Ganske umiddelbart er appen klar for bruk – så da er det bare å skrive inn det man måtte ønske 😎

Siden nettstedet handler om evne til å utvikle og utnytte kunstig intelligens så lurer jeg på «Hvordan kan Norge ta en posisjon innenfor KI?» 🧐

Helt greit svar! Her ser vi også at den inkluderer den ene kilden vi har. 😁

Jeg scroller kjapt gjennom nettsida og ser det står noe om «KI for alle»..

Dette fungerer fint sålangt – men vi har bare testa med en enkel nettside. Vi må prøve med flere… Mange flere 😅 For å starte på nytt klikker jeg «Reset vectorstore» som gjør at minnet slettes. 💀

Jeg gjør så et Google søk «sunt kosthold» og endte opp med 9 nettsider som tar for seg sunt kosthold. Jeg gidder ikke sette meg ned å lese gjennom alle 🥵 Jeg ønsker heller skrape sammen all informasjonen fra nettsidene og stille spørsmål i applikasjonen min 😎

Når jeg har puncha inn alle nettsidene, så trykker jeg «Klar! 🚀» som da setter API’et i gang med å hente dataene fra nettsidene og lagre dette til minnet. Det tok ca 5 sekunder 😎

La oss stille noen spørsmål…

Må si meg enig med svaret 😅 Her ser vi også at 3 av nettsidene ble brukt som kilde for å generere dette svaret.

Ok… Ok… Det er sikkert så lett.. 👴

La oss prøve å utfordre applikasjonen med mange spørsmål samt noen viktig tall den bør ta hensyn til i svaret… 😈

Dette fungerte også fint!😁 Litt rot i første setninga i siste avsnittet, men forståelig likevel.

🤩 Bonus!

La oss si at du er en student som skal skrive en skoleoppgave om en kjent fotballspiller og sitter der med massevis av nettsider som har informasjon om denne fantastiske fotballspilleren. La oss prøve å bruke applikasjonen for å skrive skoleoppgaven 😅

Jeg gjør et kjapt Google søk og legger inn 4 forskjellige nettsider som har informasjon om fotballspilleren.

Så da er det vel bare å be applikasjonen skrive skoleoppgaven for meg? 😎

Hmm.. Det ville den ikke… 🥵 Hva om jeg ber den foreslå inndelingen av skoleoppgaven?

Ja det så litt bedre ut! Jeg sender hvert enkelt punkt som en ny spørring til applikasjonen og ber den utdype – deretter setter jeg selv sammen alt til en skoleoppgave… 🤓😁

Skoleoppgave på 4-5 sider ferdig på 5 min..! Mer tid til å spille fotball! 😅⚽

🤔 Konklusjon!

Applikasjonen fungerer ganske greit. Har ikke satt meg inn i alle innstillinger og muligheter i LangChain, men bare med standardinnstillinger så får man ganske kraftig funksjonalitet – på veldig kort tid. 🥸


Publisert

i

av

Stikkord: