Tietokantarakenteen opettaminen LLM:lle käyttäen RAG-menetelmää
Holopainen, Petri (2025)
Holopainen, Petri
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025053018260
https://urn.fi/URN:NBN:fi:amk-2025053018260
Tiivistelmä
Tämän opinnäytetyön tavoitteena oli opettaa LLM:lle toimeksiantajan eli Flow Invoicing Oy:n tietokantarakenne. Rakenteen opettamisella oli tarkoitus helpottaa työntekijöiden taakkaa, jotta tietokantarakennetta ja siihen liittyviä tietoja ei aina tarvitsisi selittää, jos kysytään LLM:ltä kysymyksiä tietokantarakenteeseen liittyen.
Työssä testattiin LLM:n kykyä hyödyntää RAG-menetelmää. RAG on menetelmänä kevyempi kuin LLM:n hienosäätäminen, mutta RAG ei kuitenkaan sulje pois hienosäätämisen tärkeyttä. Hienosäätämisellä saadaan muutettua LLM:n käyttäytymistä ja opetettua sille jokin aihealue, mihin se voi erikoistua. RAG taas antaa pääsyn dataan, jonka avulla LLM pystyy generoimaan oman vastauksen käyttäjän tekemiin prompteihin.
Testatut LLM:t olivat Llama 3.2, 3B-parametrin malli ja Llama 3.3, 70B-parametrin malli. Aluksi testattiin, pystyykö LLM tuottamaan vastauksia AnythingLLM-ympäristön RAG:in avulla. Sen jälkeen verrattiin LLM:ien suoriutumista prompteista ja lopuksi testattiin toimeksiantajan tietokannalla Llama 3.3, 70B-parametrin mallia.
Testeistä pystyttiin päättelemään, että kielimallit pystyvät hyödyntämään RAG-menetelmää, mutta isommat tietokantarakenteet ovat liikaa sellaisinaan. Rakenteiden pilkkominen LLM:lle RAG:issä olisi voinut auttaa tietokantarakenteen hallinnassa. Hienosäätämisen avulla LLM olisi voinut oppia tarvittavat tiedot tietokannan taulujen merkityksistä.
Työssä testattiin LLM:n kykyä hyödyntää RAG-menetelmää. RAG on menetelmänä kevyempi kuin LLM:n hienosäätäminen, mutta RAG ei kuitenkaan sulje pois hienosäätämisen tärkeyttä. Hienosäätämisellä saadaan muutettua LLM:n käyttäytymistä ja opetettua sille jokin aihealue, mihin se voi erikoistua. RAG taas antaa pääsyn dataan, jonka avulla LLM pystyy generoimaan oman vastauksen käyttäjän tekemiin prompteihin.
Testatut LLM:t olivat Llama 3.2, 3B-parametrin malli ja Llama 3.3, 70B-parametrin malli. Aluksi testattiin, pystyykö LLM tuottamaan vastauksia AnythingLLM-ympäristön RAG:in avulla. Sen jälkeen verrattiin LLM:ien suoriutumista prompteista ja lopuksi testattiin toimeksiantajan tietokannalla Llama 3.3, 70B-parametrin mallia.
Testeistä pystyttiin päättelemään, että kielimallit pystyvät hyödyntämään RAG-menetelmää, mutta isommat tietokantarakenteet ovat liikaa sellaisinaan. Rakenteiden pilkkominen LLM:lle RAG:issä olisi voinut auttaa tietokantarakenteen hallinnassa. Hienosäätämisen avulla LLM olisi voinut oppia tarvittavat tiedot tietokannan taulujen merkityksistä.
