Retrieval-Augmented Generation (RAG) on käsite, johon on vaikea välttää törmäämästä generatiivisen tekoälyn aikana. Ensimmäistä kertaa RAG näki päivän valon vuonna 2020, kun tutkijat kehittivät tavan yhdistää haun (retrieval) ja generatiivisen tekoälyn parhaat puolet. Tässä lähestymistavassa tekoäly ensin etsii relevanttia tietoa esimerkiksi tietokannasta ja käyttää sitä luodakseen eli generoidakseen entistä tarkempia ja asiapitoisempia vastauksia.
”Dataa on organisaatioissa valtavasti. Juuri oikean tiedon tai dokumentin löytäminen on kuitenkin haasteellista. Tähän jokapäiväiseen haasteeseen RAG voi tuoda ratkaisun”, kertoo tekoälyasiantuntija Iidaliisa Pardalin.
Monelle organisaatiolle RAG tarjoaa mahdollisuuden parantaa tiedon saavutettavuutta ja varmistaa, että vastaukset perustuvat oikeaan, ajan tasalla olevaan tietoon. Tekoäly voi esimerkiksi tarjota nopeasti apua teknisiin kysymyksiin asiakaspalvelutilanteissa tai sisäisessä tiedonhaussa – aina ajantasaisen datan pohjalta.
Miten RAG toimii?
RAG vaatii toimiakseen vektoritietokannan (vector database), jossa organisaation tekstidata on muutettuna numeeriseen muotoon. Numeeriset arvot osoittavat, miten lähellä tekstisisällöt ovat toisiaan.
Kun käyttäjä syöttää järjestelmälle kysymyksen, järjestelmä hakee vektoritietokannasta kysymykselle relevantit tekstisisällöt (context) ja lähettää ne sekä kysymyksen (prompt) kielimallille (LLM). Näiden perusteella kielimalli vastaa käyttäjän kysymykseen (response).
RAGin käyttöliittymä on lähes aina chat-pohjainen, kuten ChatGPT:llä. RAGin avulla yritykset voivat hyödyntää omaa dataansa tekoälyn vastauksissa.
Mihin RAG parhaiten soveltuu?
RAG toimii tehokkaimmin laadukkaalla, hyvin jäsennellyllä tekstipohjaisella datalla. Tämä voi olla esimerkiksi teknistä dokumentaatiota, käyttöohjeita, projektiraportteja tai järjestelmäkoodia – kaikki tietolähteitä, joista kielimalli voi poimia yksityiskohtaista ja käyttökelpoista tietoa vastauksiinsa. RAG auttaa organisaatioita hyödyntämään kattavasti omia tietovarantojaan ja säästämään aikaa.
”Parhaaseen ratkaisuun pääsee, kun lähtee tekemään ratkaisua use case kerrallaan. Käyttötapaus vaikuttaa siihen, mitä dataa RAG-järjestelmän pohjalla kannattaa käyttää ja miten sitä kannattaa rajata. Parhaisiin tuloksiin ei useinkaan päästä sillä, että RAGin piiriin tuo kaiken mahdollisen datan”, Iidaliisa painottaa.
On myös hyvä huomioida RAGin rajoitukset. Vaikka malli on tehokas tekstipohjaisessa tiedonhaussa, kielimallit eivät käsittele numeerista dataa tai matemaattisia laskelmia yhtä tarkasti.
“Usein käytetty esimerkki on pyytää generatiivista tekoälyä laskemaan, kuinka monta r-kirjainta on sanassa strawberry. Tässä tehtävässä eskari-ikäinen peittoaa vielä monet kielimallit.”
Tämä johtuu siitä, että kielimallit ovat kehitetty kielelliseen analyysiin, eivätkä ne hallitse numeerista logiikkaa luotettavasti.
RAG käytännössä: Mitä yrityksen tulee ottaa huomioon?
RAG-järjestelmää tehdessä on mahdollista varmistaa, että käyttäjä saa vastauksia vain perustuen niihin tietoihin, joihin hänellä on pääsy muutoinkin. Tämä on oleellinen, RAGiin liittyvä tietosuojakysymys. Ratkaisussa on luonnollisesti otettava huomioon myös GDPR ja se, ettei data pääse valumaan organisaation ulkopuolelle.
Kielimalleihin liittyvä kaikkitietävyys on asia, mikä on myös ratkottava.
“Ratkaisun luotettavuutta lisää, kun pakottaa mallin vastaamaan vain yrityksen datan pohjalta. Jos yrityksen data on teknistä dokumentaatiota, ratkaisun ei pitäisi suostua kertomaan mitään delfiineistä, vaikka ratkaisun pohjana käytettävät kielimallit niistä paljon tietävätkin”, Iidaliisa toteaa.
Monelle kansainväliselle yritykselle monikielisyys on tervetullut ominaisuus. RAG-mallit ovat kieliriippumattomia, mutta eivät täydellisiä. Jos esimerkiksi yrityksen data on suomeksi ja kysymyksiä esitetään ruotsiksi, voi tämä aiheuttaa hallusinaatioita – eli vastauksia, jotka eivät vastaa todellisuutta.
”Jos monikielisyys on tärkeä vaade, hallusinaatiota voi vähentää esimerkiksi prosessilla, jossa kysymys käännetään datan kielelle ennen vastauksen hakua.”
Miten liikkeelle?
RAG-ratkaisun käyttöönotossa kannattaa edetä harkiten. Ensimmäinen askel on tunnistaa ja priorisoida käyttötapaukset, joissa parempi tiedonhaku voi merkittävästi tehostaa tai parantaa tekemistä. Seuraava askel on tunnistaa data, joka käyttötapauksissa on relevanttia ja arvioida datan tämän hetkinen laatu. Tämän jälkeen voi siirtyä miettimään teknisempää toteutusta.
Olemme tehneet Turun kaupungille käyttäjäystävällisen ratkaisun, jonka avulla kaupungin asianhallintajärjestelmän tieto on helpommin löydettävissä. Olemme kehittäneet myös Codrian-ratkaisun (5 min video), joka madaltaa huomattavasti koodareiden kynnystä ottaa haltuun vieras legacy-järjestelmä.
Sparraamme mielellämme RAG-aiheen tiimoilta – varaa aika myyntimme kalenterista.
Blogi on kirjoitettu asiantuntijan ja ChatGPT:n vinkeillä ja avustuksella.