Käyttöohjeavustin RAG-teknologialla
Sjöblom, Henri (2025)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025060621349
https://urn.fi/URN:NBN:fi:amk-2025060621349
Tiivistelmä
Tekoälyn kyvykkyys ymmärtää ja tuottaa luonnollista kieltä on kehittynyt paljon suurten kielimallien ansiosta. Nämä mallit ovat valtavalla määrällä dataa koulutettuja tekoälymalleja, jotka pystyvät yleistämään oppimansa uusiin tehtäviin. Esimerkiksi OpenAI:n GPT-kielimallit ovat mahdollistaneet uusia sovelluksia niin liiketoiminnassa kuin arkipäivän tehtävissä kuten asiakaspalvelun automatisoinnissa ja ohjelmoinnin avustamisessa. Suurten kielimallien käytössä ilmenee kuitenkin haasteita. Mallit voivat hallusinoida eli tuottaa virheellistä tietoa, mikä on erityisen haitallista tarkkuutta vaativissa sovelluksissa kuten käyttöohjeavustimissa. RAG (Retrieval-Augmented Generation) -teknologia tarjoaa ratkaisun vähentämällä hallusinaatioiden riskiä hankkimalla ajantasaisempaa tietoa ulkoisista lähteistä ennen vastausten muodostamista.
Opinnäytetyön tavoitteena oli kehittää Python-ohjelmointikielellä käyttöohjeavustin, joka hyödyntää RAG-teknologiaa ja mikropalveluarkkitehtuuria. Käyttöohje annetaan sovellukselle PDF-tiedostona, joka luetaan tietokantaan. Suuri kielimalli tuottaa vastauksen hyödyntämällä tietokannasta haettua kysymykseen liittyvää tietoa.
Työssä onnistuttiin pilkkomaan RAG-sovellus mikropalveluiksi. Sovellus pystyy vastaamaan käyttöohjeeseen liittyviin kysymyksiin yksityiskohtaisemmin ja tarkemmin kuin perinteinen suuri kielimalli, ja sen tuottamat vastaukset ovat ajantasaisempia. Sovellus kieltäytyy lähtökohtaisesti vastaamasta kysymyksiin, ellei kielimalli katso saavansa riittävästi dataa käyttöohjeesta. Siten hallusinoinnin riski on huomattavasti pienempi kuin pelkällä perinteisellä suurella kielimallilla. Mikropalveluarkkitehtuuri nopeutti ja joustavoitti kehitystä sekä lisäsi sovelluksen skaalautuvuutta, sillä eri toiminnallisuudet voitiin kehittää ja ylläpitää itsenäisesti.
Tulevaisuudessa sovellusta voidaan kehittää lisäämällä tuki eri suurille kielimalleille sekä personoimalla käyttäjäkokemusta autentikoinnin ja datan keräämisen avulla. Kehityksessä on huomioitava eettiset ja tietosuojanäkökohdat erityisesti käyttäjädatan käsittelyssä.
Opinnäytetyön tavoitteena oli kehittää Python-ohjelmointikielellä käyttöohjeavustin, joka hyödyntää RAG-teknologiaa ja mikropalveluarkkitehtuuria. Käyttöohje annetaan sovellukselle PDF-tiedostona, joka luetaan tietokantaan. Suuri kielimalli tuottaa vastauksen hyödyntämällä tietokannasta haettua kysymykseen liittyvää tietoa.
Työssä onnistuttiin pilkkomaan RAG-sovellus mikropalveluiksi. Sovellus pystyy vastaamaan käyttöohjeeseen liittyviin kysymyksiin yksityiskohtaisemmin ja tarkemmin kuin perinteinen suuri kielimalli, ja sen tuottamat vastaukset ovat ajantasaisempia. Sovellus kieltäytyy lähtökohtaisesti vastaamasta kysymyksiin, ellei kielimalli katso saavansa riittävästi dataa käyttöohjeesta. Siten hallusinoinnin riski on huomattavasti pienempi kuin pelkällä perinteisellä suurella kielimallilla. Mikropalveluarkkitehtuuri nopeutti ja joustavoitti kehitystä sekä lisäsi sovelluksen skaalautuvuutta, sillä eri toiminnallisuudet voitiin kehittää ja ylläpitää itsenäisesti.
Tulevaisuudessa sovellusta voidaan kehittää lisäämällä tuki eri suurille kielimalleille sekä personoimalla käyttäjäkokemusta autentikoinnin ja datan keräämisen avulla. Kehityksessä on huomioitava eettiset ja tietosuojanäkökohdat erityisesti käyttäjädatan käsittelyssä.
