Lideri de opinie

Evoluția RAG – Un ghid pentru RAG Agentic

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Ce este RAG (Generare îmbunătățită prin recuperare)?

Generarea îmbunătățită prin recuperare (RAG) este o tehnică care combină puterea modelelor de limbaj mari (LLM) cu recuperarea de date externe pentru a îmbunătăți calitatea și relevanța răspunsurilor generate. Modelele LLM tradiționale utilizează bazele de cunoștințe pre-antrenate, în timp ce pipeline-urile RAG vor interoga baze de date sau documente externe în timpul rulării și vor recupera informații relevante pentru a le utiliza în generarea de răspunsuri mai precise și mai bogate în context. Acest lucru este deosebit de util în cazurile în care întrebarea este complexă, specifică sau bazată pe un anumit interval de timp, având în vedere că răspunsurile modelului sunt informate și îmbogățite cu informații de specialitate actualizate.

Peisajul actual al RAG

Modelele de limbaj mari au revoluționat complet modul în care accesăm și prelucrăm informații. Însă, dependența exclusivă de cunoștințele pre-încărcate poate limita flexibilitatea răspunsurilor, mai ales pentru întrebări complexe. Generarea îmbunătățită prin recuperare abordează această problemă, permițând LLM-urilor să dobândească și să analizeze date din surse externe disponibile pentru a produce răspunsuri mai precise și mai inspirate.

Dezvoltarea recentă în recuperarea informațiilor și prelucrarea limbajului natural, în special LLM și RAG, deschide noi frontiere de eficiență și sofisticare. Aceste dezvoltări pot fi evaluate pe următoarele contururi largi:

  1. Îmbunătățirea recuperării informațiilor: Îmbunătățirea recuperării informațiilor în sistemele RAG este foarte importantă pentru funcționarea eficientă. Lucrările recente au dezvoltat diverse vectori, algoritmi de reordonare, metode de căutare hibridă pentru îmbunătățirea căutării precise.
  2. Memoria semantică: Acesta se dovedește a fi unul dintre principalele moduri în care costul computațional este redus fără a renunța la răspunsuri consistente. Acest lucru înseamnă că răspunsurile la cererile actuale sunt stocate împreună cu contextul lor semantic și pragmatic, ceea ce promovează timpul de răspuns mai rapid și oferă informații consistente.
  3. Integrarea multimodală: Pe lângă sistemele LLM și RAG bazate pe text, această abordare acoperă și modalitățile vizuale și alte cadre ale framework-ului. Acest lucru permite accesul la o varietate mai mare de materiale sursă și rezultă în răspunsuri din ce în ce mai sofisticate și mai precise.

Provocările arhitecturilor RAG tradiționale

În timp ce RAG evoluează pentru a satisface nevoile diferite, există încă provocări care stau în fața arhitecturilor RAG tradiționale:

  • Rezumat: Rezumarea unor documente mari poate fi dificilă. Dacă documentul este lung, structura RAG convențională poate omite informații importante, deoarece primește doar primele K piese.
  • Compararea documentelor: Compararea eficientă a documentelor este încă o provocare. Cadru RAG rezultă adesea într-o comparație incompletă, deoarece selectează primele K fragmente aleatorii din fiecare document.
  • Analiza datelor structurate: Este dificil să se gestioneze cererile de date numerice structurate, cum ar fi stabilirea când un angajat va lua următoarea vacanță, în funcție de locul în care locuiește. Punctele de date precise și analiza nu sunt precise cu aceste modele.
  • Manipularea cererilor cu mai multe părți: Răspunsul la întrebări cu mai multe părți este încă limitat. De exemplu, găsirea unor modele de concediu comune în toate domeniile unei organizații mari este dificilă atunci când este limitată la K piese, limitând cercetarea completă.

Mutarea către RAG Agentic

RAG Agentic utilizează agenți inteligenți pentru a răspunde la întrebări complexe care necesită planificare atentă, raționament multi-etapă și integrarea unor instrumente externe. Acești agenți îndeplinesc rolul unui cercetător competent, navigând cu ușurință prin multe documente, comparând date, rezumând constatările și producând răspunsuri cuprinzătoare și precise.

Conceptul de agenți este inclus în cadrul clasic RAG pentru a îmbunătăți funcționalitatea și capacitățile sistemului, rezultând în crearea RAG agentic. Acești agenți îndeplinesc sarcini și raționamente suplimentare, orchestrând și controlând diversele componente ale pipeline-ului RAG.

Trei strategii agențice principale

Router-urile trimit cererile către modulele sau bazele de date corespunzătoare, în funcție de tipul lor. Router-urile iau decizii dinamice, utilizând modele de limbaj mare, pe baza contextului unei solicitări, pentru a face un apel la motorul de alegere care ar trebui să fie trimis pentru a îmbunătăți precizia și eficiența pipeline-ului.

Transformările de cereri sunt procese implicate în reformularea cererii utilizatorului pentru a corespunde cel mai bine informațiilor solicitate sau, invers, pentru a corespunde cel mai bine ceea ce baza de date oferă. Acesta poate fi unul dintre următoarele: reformularea, extinderea sau descompunerea întrebărilor complexe în sub-întrebări mai simple care pot fi gestionate mai ușor.

Acesta necesită, de asemenea, un motor de cereri de sub-întrebări pentru a face față provocării de a răspunde la o întrebare complexă utilizând mai multe surse de date.

Mai întâi, întrebarea complexă este descompusă în întrebări mai simple pentru fiecare sursă de date. Apoi, toate răspunsurile intermediare sunt colectate și un rezultat final este sintetizat.

Straturi agențice pentru pipeline-urile RAG

  • Routing: Întrebarea este direcționată către procesarea bazată pe cunoaștere relevantă. Exemplu: Când utilizatorul dorește să obțină recomandări pentru anumite categorii de cărți, cererea poate fi direcționată către o bază de cunoaștere care conține cunoașterea despre acele categorii de cărți.
  • Planificarea cererii: Acesta implică descompunerea cererii în sub-cereri și apoi trimiterea lor către pipeline-urile individuale corespunzătoare. Agentul produce sub-cereri pentru toate articolele, cum ar fi anul în acest caz, și le trimite către bazele de cunoaștere corespunzătoare.
  • Utilizarea instrumentelor: Un model de limbaj vorbește cu un API sau un instrument extern, știind ce implică acest lucru, pe ce platformă se desfășoară comunicarea și când este necesar să o facă. Exemplu: Dată fiind cererea unui utilizator pentru o prognoză meteo pentru o anumită zi, LLM comunică cu API-ul meteo, identifică locația și data, apoi parsează rezultatul returnat de la API pentru a oferi informația corectă.
  • ReAct este un proces iterativ de gândire și acțiune cuplat cu planificarea, utilizarea instrumentelor și observarea.
    De exemplu, pentru a proiecta un plan de vacanță de la capăt la capăt, sistemul va lua în considerare cererile utilizatorului și va obține detalii despre ruta, atracțiile turistice, restaurante și cazare, apelând API-uri. Apoi, sistemul va verifica rezultatele în ceea ce privește corectitudinea și relevanța, producând un plan de călătorie detaliat relevant pentru promptul și programul utilizatorului.
  • Planificarea dinamică a cererii: În loc să se execute secvențial, agentul execută multiple acțiuni sau sub-cereri în paralel și apoi agregă rezultatele.
    De exemplu, dacă se dorește compararea rezultatelor financiare ale a două companii și determinarea diferenței într-o anumită metrică, atunci agentul va procesa datele pentru ambele companii în paralel, înainte de a agrega constatările; LLMCompiler este un astfel de cadru care conduce la o astfel de orchestrare eficientă a apelurilor paralele de funcții.

RAG Agentic și LLMaIndex

LLMaIndex reprezintă o implementare foarte eficientă a pipeline-urilor RAG. Biblioteca umple pur și simplu piesa lipsă în integrarea datelor organizaționale structurate în modelele de inteligență artificială generative, oferind conveniență pentru instrumente în procesarea și recuperarea datelor, precum și interfețe pentru diverse surse de date. Componentele principale ale LlamaIndex sunt descrise mai jos.

LlamaParse parsează documente.

Llama Cloud pentru servicii enterprise cu pipeline-uri RAG implementate cu cel mai mic efort manual.

Utilizând multiple LLM și stocare vectorială, LlamaIndex oferă o modalitate integrată de a construi aplicații în Python și TypeScript cu RAG. Caracteristicile sale îl fac o bază foarte solicitată de companii care doresc să valorifice inteligența artificială pentru luarea deciziilor bazate pe date.

Componentele cheie ale implementării RAG Agentic cu LLMaIndex

Să intrăm în detalii despre unele dintre ingredientele RAG agentic și despre modul în care sunt implementate în LlamaIndex.

1. Utilizarea instrumentelor și routing

Agentul de routing alege care LLM sau instrument este cel mai bun de utilizat pentru o anumită întrebare, pe baza tipului de prompt. Acest lucru conduce la decizii sensibile la context, cum ar fi dacă utilizatorul dorește o prezentare generală sau un rezumat detaliat. Exemple de astfel de abordări sunt Router Query Engine în LlamaIndex, care alege dinamic instrumentele care ar maximiza răspunsurile la cereri.

2. Păstrarea contextului pe termen lung

În timp ce cel mai important rol al memoriei este de a păstra contextul pe mai multe interacțiuni, în contrast, agenții echipați cu memorie din varianta agențică a RAG rămân în mod constant conștienți de interacțiunile care duc la răspunsuri coerente și încărcate de context.

LlamaIndex include, de asemenea, un motor de chat care are memorie pentru conversații contextuale și cereri unice. Pentru a evita supraîncărcarea ferestrei de context LLM, o astfel de memorie trebuie să fie strict controlată pe parcursul unei discuții lungi și redusă la o formă rezumată.

3. Motoare de sub-întrebări pentru planificare

Adesea, este necesar să se descompună o întrebare complexă în sarcini mai mici și gestionabile. Motorul de sub-întrebări este una dintre funcționalitățile de bază pentru care LlamaIndex este utilizat ca agent, prin care o întrebare mare este descompusă în sub-întrebări, executate secvențial și apoi combinate pentru a forma un răspuns coerent. Capacitatea agenților de a investiga multiple aspecte ale unei întrebări, etapă cu etapă, reprezintă noțiunea de planificare multi-etapă versus una liniară.

4. Reflexie și corectare a erorilor

Agenții reflectivi produc ieșiri, dar apoi verifică calitatea acelei ieșiri pentru a face corecții, dacă este necesar. Această abilitate este de o importanță capitală pentru a asigura acuratețea și pentru a se asigura că ceea ce rezultă este ceea ce a fost intenționat de o persoană. Mulțumită fluxului de lucru auto-reflectiv al LlamaIndex, un agent va examina performanța sa, fie prin reluarea sau ajustarea activităților care nu îndeplinesc anumite niveluri de calitate. Dar, deoarece este auto-corectiv, RAG Agentic este oarecum de încredere pentru acele aplicații enterprise în care încrederea este esențială.

5. Raționament agențic complex:

Explorarea bazată pe arbore se aplică atunci când agenții trebuie să investigheze o serie de posibile rute pentru a atinge un obiectiv. În contrast cu luarea deciziilor secvențiale, raționamentul bazat pe arbore permite unui agent să ia în considerare multiple strategii deodată și să aleagă cea mai promițătoare, pe baza criteriilor de evaluare actualizate în timp real.

LlamaCloud și LlamaParse

Cu o gamă largă de servicii gestionate proiectate pentru îmbunătățirea contextului în cadrul aplicațiilor LLM și RAG, LlamaCloud reprezintă un salt major în mediul LlamaIndex. Această soluție permite inginerilor de inteligență artificială să se concentreze pe dezvoltarea logicii de afaceri principale, reducând procesul complex de manipulare a datelor.

Un alt motor de parsare disponibil este LlamaParse, care se integrează convenabil cu pipeline-urile de încărcare și recuperare a datelor în LlamaIndex. Acesta constituie unul dintre cele mai importante elemente care gestionează documente complicate, semi-structurate, cu obiecte încorporate, cum ar fi tabele și figuri. Un alt bloc de construcție important este API-ul de încărcare și recuperare gestionat, care oferă multiple modalități de a încărca, prelucra și stoca date dintr-o gamă largă de surse, cum ar fi depozitul central de date LlamaHub sau ieșirile LlamaParse. De asemenea, suportă diverse integrări de stocare a datelor.

Concluzie

RAG Agentic reprezintă o schimbare în procesarea informațiilor prin introducerea unei inteligențe mai mari în agenții înșiși. În multe situații, RAG Agentic poate fi combinat cu procese sau API-uri diferite pentru a oferi un rezultat mai precis și rafinat. De exemplu, în cazul rezumării documentelor, RAG Agentic va evalua scopul utilizatorului înainte de a crea un rezumat sau de a compara detalii. Atunci când oferă suport clienților, RAG Agentic poate răspunde cu acuratețe și individual la întrebări din ce în ce mai complexe ale clienților, nu numai pe baza modelului de antrenare, ci și pe baza memoriei și surselor externe disponibile. RAG Agentic subliniază o schimbare de la modelele generative la sisteme mai fine, care valorifică alte tipuri de surse pentru a obține un rezultat robust și precis. Cu toate acestea, fiind generativ și inteligent, aceste modele și RAG Agentic sunt pe drumul către o eficiență mai mare, pe măsură ce mai multe date sunt adăugate în pipeline-uri.

Chaitanya Pathak este un executiv experimentat în tehnologie, specializat în productizarea Inteligenței Artificiale Generative. Cu peste un deceniu în software pentru întreprinderi și management de produse, el servește în prezent ca Șef al Produselor și Tehnologiei la LEAPS by Analyttica. Chaitanya a dezvoltat un cadru cuprinzător, care în prezent este în curs de brevetare, care transformă tehnologiile de inteligență artificială în produse scalabile, gata de piață, în multiple industrii, împuternicind liderii de produse și tehnologie să ofere un impact semnificativ.