RAG ja yrityksen oma data: opas tekoälylle
Mitä RAG eli haulla täydennetty vastaustuotanto tarkoittaa, miten se rakennetaan yrityksen omalle datalle ja milloin kannattaa valita RAG hienosäädön sijaan.
Yrityksen arvokkain tieto ei ole julkisessa internetissä. Se on sopimuksissa, henkilöstöohjeissa, asiakaspalvelun vastauksissa, tuotedokumenteissa ja sisäisissä wikeissä. Suuri kielimalli ei tunne tätä aineistoa, koska se on opetettu julkisella tekstillä. Tämä opas selittää, mitä RAG eli haulla täydennetty vastaustuotanto tarkoittaa, miten se rakennetaan yrityksen omalle datalle, milloin kannattaa valita RAG ja milloin hienosäätö, sekä mitkä ovat yleisimmät sudenkuopat. Opas on kirjoitettu lukijalle, joka ei tunne tekoälyä eikä tietotekniikkaa entuudestaan.
Mikä RAG on ja miksi se keksittiin
RAG tarkoittaa tapaa, jossa suuri kielimalli hakee ensin tietoa luotettavasta lähteestä ja vastaa vasta sitten sen pohjalta. Nimi tulee englannin sanoista retrieval-augmented generation, ja suomeksi puhutaan haulla täydennetystä vastaustuotannosta. Ajatus on yksinkertainen: malli ei vastaa pelkän muistinsa varassa vaan avoimen kirjan äärellä.
Menetelmä esiteltiin vuonna 2020 tutkimuspaperissa Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. Tutkijat kuvasivat ratkaisun kahteen kielimallien perusongelmaan: malli ei voi helposti laajentaa eikä korjata muistiaan, ja se voi tuottaa vakuuttavan kuuloista mutta väärää tekstiä. Jälkimmäistä kutsutaan hallusinoinniksi.
Yritykselle RAG tuo neljä käytännön hyötyä. Tieto pysyy ajantasaisena, koska sitä ei tarvitse opettaa malliin uudelleen. Vastaukset voi jäljittää lähteeseen, joten lukija voi tarkistaa, mistä asiakirjasta väite tuli. Aineisto pysyy omassa hallinnassa, ja järjestelmän voi rakentaa niin, ettei tieto poistu yrityksen omilta palvelimilta. Lisäksi käyttöönotto on yleensä nopeampaa kuin mallin kouluttaminen alusta.
Näin RAG toimii kahdessa vaiheessa
RAG-järjestelmässä on kaksi toisistaan erillistä vaihetta: aineiston valmistelu eli indeksointi ja itse vastaaminen eli haku. Ensimmäinen tehdään harvoin ja toinen jokaisen kysymyksen kohdalla.
Indeksointi. Yrityksen asiakirjat ladataan järjestelmään, jaetaan pienempiin osiin eli paloihin, muunnetaan upotuksiksi ja tallennetaan vektoritietokantaan. Tämä vaihe tehdään kerran, ja sen jälkeen aineistoa päivitetään vain, kun asiakirjat muuttuvat.
Haku ja vastaus. Kun käyttäjä esittää kysymyksen, siitä tehdään upotus samalla mallilla kuin asiakirjoista tehtiin. Järjestelmä etsii vektoritietokannasta merkitykseltään lähimmät palat ja liittää ne osaksi kehotetta, jonka kielimalli saa. Malli tuottaa vastauksen, jonka pitäisi perustua haettuihin paloihin, ja liittää vastaukseen lähdeviitteet.
Kaksi termiä kannattaa ymmärtää tässä vaiheessa. Tokeni on tekstinpätkä — sana, osa sanaa tai välimerkki — jonka malli käsittelee yhtenä yksikkönä. Konteksti-ikkuna on enimmäismäärä tekstiä, jonka malli pystyy ottamaan huomioon yhdellä kertaa. Juuri siksi haetut palat eivät saa olla liian suuria: jos ikkuna täyttyy merkityksettömästä tekstistä, olennainen tieto jää pois.
Oman datan valmistelu: paloittelu, upotukset ja lähdekuri
RAG:n laatu ratkaistaan suurelta osin ennen kuin kielimalli tekee yhtään mitään. Siksi aineiston valmistelu on syytä tehdä huolella.
- Lähteiden kartoitus. Selvitä ensin, missä tieto oikeasti asuu: PDF-tiedostoissa, sisäisessä wikissä, sähköposteissa, tietokannoissa vai pilvitallennuksessa. Jokainen lähde vaatii oman tapansa lukea.
- Paloittelu. Asiakirjat jaetaan osiin. Liian suuri pala hukuttaa olennaisen kohdan, liian pieni kadottaa asiayhteyden. Käytännössä palat kannattaa pitää satojen sanojen kokoisina ja antaa niiden mennä hieman päällekkäin, jotta lause ei katkea keskeltä.
- Upotukset. Jokainen pala muunnetaan numerosarjaksi, joka kuvaa sen merkitystä. Tärkeä sääntö: indeksointiin ja hakuun on käytettävä samaa upotusmallia, muuten numerosarjat eivät ole vertailukelpoisia.
- Hybridihaku. Pelkkä merkityshaku ei aina riitä. Yhdistämällä se perinteiseen avainsanahakuun (BM25) löytyvät sekä sisällöltään osuvat että täsmällisesti nimetyt kohdat.
- Uudelleenjärjestys. Haun jälkeen erillinen malli karsii ja järjestää tulokset osuvuuden mukaan, ennen kuin ne annetaan kielimallille.
- Metatiedot ja käyttöoikeudet. Palojen mukana kannattaa tallentaa lähde, päiväys, osasto ja käyttöoikeustaso. Ilman niitä järjestelmä ei osaa rajata tuloksia eikä näyttää lähteitä.
Anthropic on kuvannut yhden parannuksen, jolla palojen laatua voi nostaa merkittävästi. Menetelmässä jokaisen palan yhteyteen lisätään automaattisesti lyhyt kuvaus siitä, mistä asiakirjasta ja mistä kohdasta pala on peräisin, ennen kuin upotus lasketaan. Yhtiön mukaan tämä niin sanottu kontekstuaalinen haku vähensi epäonnistuneita hakuja 49 prosenttia ja yhdessä uudelleenjärjestyksen kanssa jopa 67 prosenttia.
Tietosuoja ja tietoturva: mitä dataa saa käyttää
Yrityksen oma data sisältää usein henkilötietoja, luottamuksellisia sopimuksia ja liikesalaisuuksia. RAG ei saa ohittaa näitä rajoja. GDPR antaa henkilön oikeuksille säännöt, ja ne koskevat myös tekoälyjärjestelmän kautta käsiteltyä tietoa.
Käytännön muistilista yritykselle:
- Älä syötä tiedostoa, jonka käsittelyyn sinulla ei ole lupaa. RAG:n helppous on juuri siinä, että aineistoa voi lisätä yhdellä napsautuksella — se tekee vahinkojakin helpoksi.
- Kunnioita käyttöoikeuksia myös vastauksissa. Järjestelmä ei saa koota vastausta aineistosta, jota kysyjällä ei ole oikeutta nähdä.
- Rajaa tai poista henkilötiedot, kun niitä ei tarvita. Anonymisointi ja pseudonymisointi vähentävät riskiä.
- Valitse ajoympäristö tietotarpeen mukaan. Pilvilaskennassa tiedot kulkevat palveluntarjoajan palvelimelle, kun taas paikallinen malli pysyy omalla laitteella.
- Kirjaa ja lokita. Auditointia varten on hyvä tietää, kuka kysyi mitä ja mitä aineistoa vastauksessa käytettiin.
RAG vai hienosäätö — miten valita
RAG ja hienosäätö eivät ole kilpailijoita vaan eri tehtäviin tarkoitettuja työkaluja. RAG tallentaa tiedon datakerrokseen, joten se päivittyy heti kun aineistoa muutetaan. Hienosäätö puolestaan tallentaa osaamisen malliin itseensä ja vaatii aina uuden koulutuskierroksen, kun tieto muuttuu.
| Kysymys | RAG | Hienosäätö |
|---|---|---|
| Missä tieto on? | Datakerroksessa, haettavissa | Mallin painoissa |
| Miten nopeasti tieto päivittyy? | Heti, kun aineistoa muutetaan | Vasta uuden koulutuksen jälkeen |
| Näkyvätkö lähteet? | Kyllä, viittaus asiakirjaan | Ei yleensä |
| Milloin kannattaa valita? | Kun tieto muuttuu ja vastaukset pitää jäljittää | Kun halutaan muuttaa tyyliä, muotoa tai tehtävää |
Käytännössä paras lopputulos syntyy usein yhdistelemällä. Hienosäädöllä opetetaan mallille yrityksen äänensävy ja vastausmuoto, ja RAG:lla tuodaan ajantasainen tieto vastauksen pohjaksi. Pelkkä hienosäätö ei sovellu tietolähteeksi siksi, että malli on koulutushetkellään jämähtänyt tilannekuva: se ei tiedä tammikuun jälkeen tulleista muutoksista mitään. Koulutusdata puolestaan ratkaisee sen, millaiseksi mallin perusosaaminen muotoutuu.
Laatu, arviointi ja yleisimmät sudenkuopat
RAG:n laatua pitää mitata sekä haun että vastausten puolelta. Haun laatua kuvaavat esimerkiksi se, löytyykö oikea pala kärkijoukosta (muistelu eli recall) ja kuinka moni haetuista paloista oli osuvia (tarkkuus eli precision). Vastausten laatua kuvaavat muun muassa se, pysyykö vastaus aineistossa (groundedness eli ankkuroituminen) ja vähentääkö järjestelmä hallusinointia. Testaamista varten kannattaa koota joukko oikeita kysymyksiä ja niiden oikeat vastaukset, ja ajaa ne läpi aina, kun järjestelmää muutetaan.
Yleisimmät sudenkuopat, jotka laskevat laatua:
- Paloittelu on tehty väärin: palat ovat liian suuria, liian pieniä tai katkaisevat lauseen keskeltä.
- Indeksoinnissa ja haussa käytetään eri upotusmallia, jolloin haku ei löydä oikeita kohtia.
- Kielimallille syötetään liikaa paloja, jolloin olennainen hukkuu konteksti-ikkunaan.
- Vastauksissa ei näy lähdettä, joten virhettä on mahdoton jäljittää.
- Indeksi on vanhentunut: asiakirja on päivitetty, mutta järjestelmä vastaa yhä vanhan version mukaan.
- Käyttöoikeudet on unohdettu, ja järjestelmä paljastaa tietoa väärälle henkilölle.
- Suomen kieli ja lyhenteet on jätetty huomiotta: haku toimii heikommin, jos aineisto ja kysymykset ovat eri kielellä.
Tärkein muistisääntö: RAG vähentää hallusinointia mutta ei poista sitä kokonaan. Malli voi yhä yhdistellä haettuja paloja väärin tai vastata itsevarmasti, vaikka aineistosta ei löytyisi vastausta. Siksi järjestelmä kannattaa ohjeistaa sanomaan suoraan, jos tietoa ei löydy, ja vastausten lähdeviitteet on pidettävä näkyvissä.
Kun nämä perusasiat ovat kunnossa, RAG on yksi käytännöllisimmistä tavoista saada tekoälyagentti tai tekoälybotti vastaamaan yrityksen omalla tiedolla — hallitusti, jäljitettävästi ja ilman että koko aineistoa tarvitsee opettaa malliin uudelleen.
Lähteet
- Lewis, P. ym.: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020. arxiv.org/abs/2005.11401Microsoft: Retrieval Augmented Generation (RAG) in Azure AI Search, Microsoft Learn. learn.microsoft.comMicrosoft: Design and Develop a RAG Solution on Azure, Azure Architecture Center. learn.microsoft.comNVIDIA: What Is Retrieval-Augmented Generation aka RAG? blogs.nvidia.comNVIDIA: RAG 101: Demystifying Retrieval-Augmented Generation Pipelines. developer.nvidia.comAnthropic: Contextual Retrieval in AI Systems. anthropic.comDatabricks: RAG vs Fine Tuning: Enterprise Decisions for AI Models and AI Systems. databricks.comEvidently AI: A complete guide to RAG evaluation: metrics, testing and best practices. evidentlyai.com
Vastuuvapauslauseke: Tämä artikkeli on tarkoitettu vain tiedotustarkoituksiin. Sitä ei tarjota tai ole tarkoitettu käytettäväksi oikeudellisena, verotuksellisena, sijoitus-, rahoitus- tai muuna neuvona.
Mainos: alla on kumppanimainoksia ja mainoslinkkejä.

