jk
Jere KääriäinenDATA · AI · BIZ DEV
v1.0
Lahti, FI EET
PÄÄTOIMISESTI — CAP-Group Oy, Head of Business DevelopmentNYT LUKEMASSA — "Radikaalit ratkaisut: Seitsemän tekoa Suomelle" by Inka Mero ja Tero OjanperäAVOIN SPARRAUKSELLE — data, AI, digitalisaatioUUSIN KIRJOITUS — "Rakensin lean-hukanseurantawidgetin" · jerekaariainen.fi/writing/rakensin-lean-hukanseurantawidgetinLADATTAVISSA — LeanTracker-käyttöohje (PDF) · jerekaariainen.fi/lataukset/leantracker_ohjePÄÄTOIMISESTI — CAP-Group Oy, Head of Business DevelopmentNYT LUKEMASSA — "Radikaalit ratkaisut: Seitsemän tekoa Suomelle" by Inka Mero ja Tero OjanperäAVOIN SPARRAUKSELLE — data, AI, digitalisaatioUUSIN KIRJOITUS — "Rakensin lean-hukanseurantawidgetin" · jerekaariainen.fi/writing/rakensin-lean-hukanseurantawidgetinLADATTAVISSA — LeanTracker-käyttöohje (PDF) · jerekaariainen.fi/lataukset/leantracker_ohje
← Kirjoitukset/AI & Liiketoiminta

Rakensin chatbotin — näin se toimii teknisesti

Rakensin RAG-pohjaisen chatbot-demon: tekoäly vastaa kysymyksiin yrityksen omasta dokumentaatiosta ilman hallusinointia. Tässä tekninen kuvaus siitä, miten se toimii.

17. toukokuuta 2026Jere Kääriäinen

Rakennettuani AI-avusteisen kehitysympäristön alkaa ajatuksia tulla ja virrata. Tällöin alkaa miettimään mitä kaikkea voisi syntyä yhdessä AI:n kanssa ja millaisia asioita voisi testailla. Edellinen demo oli C-Suite Simulator, missä Clauden taitoja ja muutamaa muuta tekniikkaa hyödyntäen rakennettiin näkökulmia antava AI-palvelu.

Tämä vei sitten ajatukseni siihen, että miten voisi tehdä pieniä palveluja muihin tarpeisiin yksinkertaisesti. Chatbotit ovat olleet pitkään ja niistä paljon puhutaan. Haasteena on vain kielimallien hallusinointi ja muut ongelmat. Totesin, että haluan rakentaa testiympäristön miten tuollaisen käytöstä voi testailla.

Viime viikkoina olen rakentanut demon, joka tiivistää yhden konkreettisen AI-käyttötapauksen: chatbotin, joka vastaa kysymyksiin yrityksen omasta dokumentaatiosta. Ei hallusinoi, ei puhu ohi aiheen — vastaa ainoastaan sille syötetyn tiedoston sisällöstä.

Demo on julkisesti kokeiltavissa osoitteessa jerekaariainen.fi/demo/unlock.

Mitä RAG tarkoittaa käytännössä

RAG tulee sanoista Retrieval-Augmented Generation. Perusidea on yksinkertainen: sen sijaan että kielimalli yrittää vastata muistin varassa, sille annetaan ensin relevantti konteksti — ja se vastaa sen pohjalta.

Käytännössä tämä tarkoittaa kolmea vaihetta:

Indeksointi — dokumentti pilkotaan pieniin osiin (chunkkeihin)

Haku — kun käyttäjä kysyy jotain, järjestelmä etsii relevanteimmat chunkit

Generointi — LLM saa kysymyksen + löydetyt chunkit ja muodostaa vastauksen

Tulos: malli ei puhu omasta päästään, vaan nimenomaisesti dokumentista.

Tekninen arkkitehtuuri

Demo pyörii Next.js 15 -sovelluksessa. Kaikki logiikka on palvelimella — selain ei näe API-avaimia tai dokumenttien sisältöä.

Autentikointi — magic link

Käyttäjä syöttää sähköpostiosoitteensa. Palvelin generoi HMAC-SHA256-allekirjoitetun linkin ja lähettää sen sähköpostiin. Linkki on voimassa 10 päivää. Kun käyttäjä klikkaa linkkiä, palvelin asettaa signed cookien — tästä eteenpäin kaikki API-kutsut tunnistetaan.

Yksinkertainen, mutta turvallinen: ei salasanoja, ei OAuth-integraatioita, ei käyttäjätietokantaa.

Dokumentin käsittely

Käyttäjä lataa PDF- tai Word-tiedoston (max 20 MB). Palvelin tarkistaa tiedoston sekä päätteestä että magic byteista — .pdf-tiedosto jonka sisältö on jotain muuta, hylätään.

Teksti puretaan tiedostosta (pdf-parse tai mammoth), minkä jälkeen se pilkotaan noin 400 sanan chunkkeihin 80 sanan päällekkäisyydellä. Päällekkäisyys varmistaa, ettei asiayhteys katkea chunkkirajoilla.

Relevanttien chunkkien valinta

Tässä demossa retrieval on tahallisesti yksinkertainen: keyword-pohjainen pisteytysmalli. Jokainen chunkin sana tarkistetaan kysymystä vastaan, harvat sanat suodatetaan pois, ja eniten osumia saaneet chunkit valitaan kontekstiksi.

Tuotantokäyttöön tähän tulisi vektoriembedding + semanttinen haku — se löytää merkitystason osumia, ei vain sanoja.

LLM — Claude Haiku

Valitsin Anthropicin Claude Haiku 4.5:n nopeutensa ja hinnan takia. System prompt kieltää mallia vastaamasta mitään muuta kuin dokumentin sisällöstä — ja jos vastausta ei löydy, se sanoo niin selkeästi.

Handoff — ihminen ottaa ohjat

Kiinnostavin ominaisuus on human handoff. Kun käyttäjä haluaa puhua ihmiselle, chatbot lähettää koko keskusteluhistorian minulle Telegramiin. Vastaukseni kulkeutuvat takaisin käyttäjälle. Tämä on relevantti malli asiakaspalvelukäytössä: AI hoitaa rutiinit, ihminen astuu kuvaan poikkeuksissa.

Miksi tämä on yrityksille kiinnostava

Monessa yrityksessä on dokumentaatiota jota kukaan ei lue — palvelukuvauksia, hinnastoja, usein kysyttyjä kysymyksiä, prosessikuvauksia. Tämä teknologia muuttaa ne kysyttäviksi.

Asiakas saa vastauksen heti. Myyjä tai asiakaspalvelija vapautuu rutiineista. Ja kun chatbot ei tiedä vastausta, se sanoo niin — eikä keksi.

Demo on käytettävissä arkisin klo 10–18 ihmissiirron osalta, AI aina auki.

Haluatko rakentaa jotain vastaavaa omalle yrityksellesi? Ota yhteyttä — voidaan jutella kokemuksista.

Affiliate

Tämä sivusto pyörii Hostinger VPS:llä — hyvä hinta, toimiva suoritusteho. Jos olet harkitsemassa omaa VPS:ää, referral-linkistäni saat tarjouksen ja minä pienen komisssion. Ei ylimääräistä kulua sinulle.

Lisää ajatuksia.

Katso kaikki kirjoitukset tai ota yhteyttä jos heräsi kysymyksiä.

← Kaikki kirjoituksetOta yhteyttä →
UUTISKIRJE

Seuraa ajatuksia.

Kirjoitan kerran kuussa AI:sta, datasta ja käytännön tekemisestä — ei myyntiä, ei hypeä.