Applying Retrieval-Augmented Generation to QA and testing teaching
Salo, Maarit (2025)
Salo, Maarit
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202503285194
https://urn.fi/URN:NBN:fi:amk-202503285194
Tiivistelmä
The ever-growing popularity of LLMs like ChatGPT and the demand for increasingly accurate LLMs with minimal hallucination rates have led to the creation of a technique called retrieval-augmented generation (RAG). RAG allows a user to pose questions to an LLM and receive answers based on their own documents. The main objective of this study was to partially replace a teacher with a RAG application, so instead of asking the teacher, the students could pose their questions on quality assurance (QA) and testing to the application. Due to the practical nature of the objective, the methodology type research-based development assignment was chosen. The study overall had four aims: 1) The functionality of retrieval-augmented generation as a technique was examined, 2) The ethical issues surrounding LLMs, the companies behind those LLMs and the very idea of replacing teachers with AI were explored, 3) A total of four RAG applications
were examined, and finally 4) two of them, Langchain RAG, utilizing the industry standard GPT-4o, and Mistral-PG, utilizing mistral:7b, were chosen for implementation and quality comparison. The documents on QA and testing provided by the client were then integrated into the applications. Four prompts were selected to test the applications in different ways, and each set of four prompts were run five times on both applications. There was some variation between runs even when using the same application. Both applications did well with prompt 1, where the goal was for the applications to give a simple definition found in the source documents. With prompt 2, when the desired data was found in a markdown table, Mistral-PG appears not to have read the table and as such, did not perform as well as Langchain RAG. Mistral-PG may not be able to read data in a markdown table format. The hallucination check of prompt 3 demonstrated the efficacy of the relevancy check mechanism of Langchain RAG as it stated not to know the answer, which was the desired outcome. Mistral-PG did also inform the user that the answer was not found in the documents, while still suggesting possible matches in the documents. Through prompt 4, it was discovered that Mistral-PG was able to connect relevant sections to its answer even from areas of the documents that were not explicitly stated to be connected to the prompt. Both outputs from Langchain RAG and Mistral-PG included portions where it was unclear which original document sections were utilized in their creation, if at all. Overall, while Langchain RAG performed well as expected, Mistral-PG performed surprisingly well in comparison. When comparing the averages of the application runtimes, Langchain RAG produced an output in approximately 11 seconds and Mistral-PG in approximately 3 minutes and 18 seconds. This disparity, in addition to Mistral-PG’s potential issue with reading data in a markdown table format, might cause concern for the client in adopting the implementation for use. Suurien kielimallien kuten ChatGPT alati kasvava suosio sekä vaatimus siitä, että kielimallien palautukset perustuisivat faktoihin sisältäen mahdollisimman vähän hallusinointia, ovat johtaneet retrieval-augmented generation -tekniikan (RAG) luomiseen. RAGin avulla käyttäjä voi esittää kysymyksiä kielimallille ja saada vastauksia omien aineistojensa pohjalta. Työn pääasiallisena tavoitteena oli tutkia opettajan osittaista korvaamista RAG-sovelluksella. Tällöin opiskelijat voisivat esittää laadunvarmistamiseen (QA) ja testaamiseen liittyviä kysymyksiä sovellukselle opettajan sijaan. Tutkimuksellinen kehitystyö valikoitui työn menetelmäksi sen käytännön läheisen luonteen vuoksi. Työllä oli neljä päätavoitetta: 1) työssä selitettiin RAGien toimintaa, 2) työhön liittyviä eettisiä kysymyksiä tarkasteltiin kielimallien, niitä kehittävien yritysten sekä ylipäätään opettajien osittaisen korvaamisen näkökulmasta, 3) neljää RAG-sovellusta tarkasteltiin lähemmin ja lopulta 4) kaksi sovelluksista valittiin toteutusta ja laadun vertailua varten: Langchain RAG, jossa oli käytössä alan standardi GPT-4o, ja Mistral-PG, jossa oli käytössä mistral:7b. Toimeksiantajan tarjoamat materiaalit laadunvarmistuksesta ja testauksesta integroitiin toteutusta varten sovelluksiin. Sovelluksien monipuoliseen testaamiseen valittiin neljä eri syötettä, jotka ajettiin sovelluksilla viisi kertaa peräkkäin. Tuotetut palautukset vaihtelivat jonkin verran ajokertojen välillä samankin sovelluksen suhteen. Molemmat sovellukset suoriutuivat hyvin ensimmäisen syötteen suhteen, jossa sovelluksen tuli löytää lähdemateriaaleista yksinkertainen määritelmä termille. Syötteessä kaksi etsittävä aineisto löytyi markdowntaulukosta ja Mistral-PG-sovellus ei ehkä osannut lukea taulukkoa, ja siksi suoriutui huonommin kuin Langchain RAG. Kolmas syöte oli hallusinoinnintarkastus, havainnollistaen Langchain RAGin relevanssitarkastuksen tehoa vastaamalla toivotusti, ettei se tiennyt vastausta. Mistral-PG osasi myös kertoa käyttäjälle, ettei
vastaus löytynyt materiaaleista, ehdotellen silti mahdollisia tuloksia. Neljäs syöte todisti, että Mistral-PG osasi hyödyntää vastauksissaan myös sellaisia aiheeseen liittyviä lähdeaineistojen osasia, joita ei niihin sanallisesti ollut kytketty. Molempien sovelluksien palautukset sisälsivät myös osioita, joiden kytkös lähdemateriaaleihin oli epäselvä tai olematon. Lopputuloksena Langchain RAG suoriutui odotetusti, mutta Mistral-PG suoriutui yllättävän hyvin vertailussa. Sovellusten suoritusaikoja vertaillessa selvisi, että Langchain RAG tuotti palautuksen keskimäärin n. 11 sekunnissa, ja Mistral-PG keskimäärin n. 3 minuutissa ja 18 sekunnissa.
Tämä ero suoritusaikojen välillä sekä Mistral-PG:n mahdollinen ongelma markdown-taulukkojen lukemisessa, saattavat vaikuttaa toimeksiantajan päätökseen käyttöönotosta.
were examined, and finally 4) two of them, Langchain RAG, utilizing the industry standard GPT-4o, and Mistral-PG, utilizing mistral:7b, were chosen for implementation and quality comparison. The documents on QA and testing provided by the client were then integrated into the applications.
vastaus löytynyt materiaaleista, ehdotellen silti mahdollisia tuloksia. Neljäs syöte todisti, että Mistral-PG osasi hyödyntää vastauksissaan myös sellaisia aiheeseen liittyviä lähdeaineistojen osasia, joita ei niihin sanallisesti ollut kytketty. Molempien sovelluksien palautukset sisälsivät myös osioita, joiden kytkös lähdemateriaaleihin oli epäselvä tai olematon. Lopputuloksena Langchain RAG suoriutui odotetusti, mutta Mistral-PG suoriutui yllättävän hyvin vertailussa. Sovellusten suoritusaikoja vertaillessa selvisi, että Langchain RAG tuotti palautuksen keskimäärin n. 11 sekunnissa, ja Mistral-PG keskimäärin n. 3 minuutissa ja 18 sekunnissa.
Tämä ero suoritusaikojen välillä sekä Mistral-PG:n mahdollinen ongelma markdown-taulukkojen lukemisessa, saattavat vaikuttaa toimeksiantajan päätökseen käyttöönotosta.