Naive RAG
Urmareste un proces care include indexare, recuperare si generare (Retrieve-Read framework)
1. Indexare
Procesul incepe prin curatarea si extragerea datelor brute (pdf, html, word, etc.), care mai apoi sunt transformate intr-un text simplu. Textul este impartit in fragmente mai mici care sunt codificate intr-o reprezentare vectoriala folosing un model de incorporare (embedding) si stocate intr-o baza de date vectoriala. Aceste transformari au scopul de a face cautarile bazate pe similaritate din etapa de recuperare mai eficiente.
2. Recuperare
Utilizatorul trimite o cerere. Acelasi model de incorporare folosit la indexare transforma cererea intr-o reprezentare vectoriala. Se calculeaza scorul de similaritate intre cerere si fragmentele din colectia indexata si se selecteaza top K fragmente. Aceste fragmente sunt folosite pentru a furniza detalii suplimentare pentru solicitarea utilizatorului.
3. Generare
Cererea utilizatorului si documentele selectate sunt sintetizate intr-un prompt coerent, la care ii se cere LLM-ului sa formuleze un raspuns. Modul in care modelul raspunde depinde de criteriile specifice solicitarii:
- se bazeaza pe cunostintele parametrice innascute (cunostintele generale invatate in timpul antrenarii)
- se limiteaza doar la informatiile prezente in documentele specifice care i-au fost oferite
Dificultati
- Precizie si rechemare: selectarea documentelor irelevante si omiterea informatiilor cruciale
- Halucinatii: producerea continutului care nu este sustinut de contextul recuperat (informatii care par corecte dar nu sunt; nu exista nicio dovada ca ar fi)
- Determinarea revelvantei diferitelor sectiuni
- Mentinerea consistentei in stil si ton
Comentarii
Trimiteți un comentariu