Ce înseamnă RAG (generare augmentată prin căutare)
RAG (Retrieval-Augmented Generation, în română generare augmentată prin căutare) este o tehnică prin care un model de limbaj nu răspunde doar din ce a învățat la antrenare, ci caută mai întâi informații relevante într-o sursă externă (documentele unei firme, o bază de cunoștințe, internetul) și le folosește pentru a formula răspunsul.
Termenul a fost introdus în 2020 de cercetători de la Facebook AI (astăzi Meta), dar a devenit foarte popular odată cu chatboții bazați pe LLM-uri. Este, probabil, cea mai folosită metodă prin care firmele conectează un model AI la propriile date.
RAG rezolvă trei probleme ale LLM-urilor: le dă acces la informații recente sau private, pe care nu le-au văzut la antrenare; reduce halucinațiile, pentru că răspunsul se sprijină pe texte concrete; și permite citarea surselor, ca utilizatorul să poată verifica.
Cum funcționează
La pregătire, documentele sunt împărțite în fragmente, pentru fiecare fragment se calculează un embedding, iar totul se salvează într-o bază de date vectorială. La fiecare întrebare, sistemul transformă întrebarea în vector, caută fragmentele cele mai relevante și le pune în prompt, alături de întrebare și de o instrucțiune de tipul „răspunde doar pe baza textelor de mai jos”. Apoi modelul generează răspunsul.
Calitatea depinde foarte mult de căutare: dacă fragmentele găsite nu sunt cele potrivite, nici răspunsul nu va fi bun. Multe sisteme combină căutarea semantică cu cea pe cuvinte-cheie și reordonează rezultatele înainte de a le trimite modelului.
Pe înțelesul tuturor
Un model fără RAG seamănă cu un student la un examen cu cartea închisă: răspunde din memorie și, când nu știe, poate improviza. Cu RAG, examenul devine cu cartea deschisă: studentul caută întâi pagina potrivită și răspunde pe baza ei.
Exemplu
Un furnizor de energie pune pe site un asistent AI conectat prin RAG la contractele-tip, la ghidurile de facturare și la întrebările frecvente. Când un client întreabă cum poate transmite indexul contorului, asistentul găsește secțiunea relevantă din ghid, răspunde pe baza ei și afișează un link către documentul sursă.
De reținut
- RAG înseamnă: întâi cauți informații relevante, apoi generezi răspunsul pe baza lor.
- Oferă acces la date recente sau private fără reantrenarea modelului.
- Reduce halucinațiile și permite citarea surselor, dar nu le elimină complet.
Nu confunda
- RAG vs. fine-tuning: RAG îi dă modelului informații la fiecare întrebare, fără să-l modifice; fine-tuning-ul schimbă modelul prin antrenare. Pentru cunoștințe care se schimbă des, RAG este de obicei alegerea mai bună.
- RAG vs. fereastră de context mare: chiar dacă modelul poate citi documente lungi, RAG alege doar fragmentele relevante, ceea ce este mai ieftin și funcționează și pentru colecții care nu ar încăpea niciodată în context.
Termeni înrudiți
- Embedding: Transformarea unui text, a unei imagini sau a unui sunet într-o listă de numere care îi surprinde sensul; lucrurile asemănătoare ajung apropiate.
- Bază de date vectorială: Bază de date specializată în stocarea embedding-urilor și în găsirea rapidă a celor mai apropiate, ca sens, de o întrebare.
- Căutare semantică: Căutare care înțelege sensul întrebării, nu doar cuvintele ei, și găsește rezultate relevante chiar dacă folosesc alte cuvinte.
- Halucinație AI: Răspuns generat de AI care sună convingător, dar este fals sau inventat: fapte, cifre, citate sau surse care nu există.
- Fine-tuning: Antrenarea suplimentară a unui model deja antrenat, pe un set mic de exemple, ca să se specializeze pe o sarcină, un domeniu sau un stil.
- Fereastră de context: Cantitatea maximă de text, măsurată în tokeni, pe care un model o ia în calcul deodată: instrucțiuni, conversație, documente și răspuns.