Vienība 1 / 11

Kas ir RAG un kāpēc tas ir nepieciešams?

Ieguvumi:

  • Paskaidrojot, ka RAG ievada kontekstu, nemainot modeļa svaru, un darbojas ar “atvērtās grāmatas eksāmena” loģiku
  • RAG salīdzināšana ar precizēšanu un ilgtermiņa konteksta pieejām atbilstoši izmaksām, savlaicīgumam un lietošanas scenārijam
  • Tipiska RAG konveijera darbību uzskaitījums, kas sastāv no indeksēšanas un vaicājuma fāzēm

Neatkarīgi no tā, cik spēcīgs ir valodas modelis (mākslīgais intelekts, kas saprot un veido tekstu; turpmāk mēs to saīsināsim par modeli), tas nezina līgumu, ko jūsu uzņēmums parakstīja vakar, jūsu iekšējo wiki (iekšējo zināšanu bāzes) lapu vai šorīt publicēto izlaiduma piezīmi. Modelis ir ierobežots ar vispārīgām zināšanām līdz brīdim, kad tas tika apmācīts; To sauc par "izglītības beigu datumu". RAG (Retrieval-Augmented Generation) aizpilda tieši šo robu: tā atrod uzņēmuma dokumentus, kas saistīti ar jautājumu, piešķir to modelim kā kontekstu (tas ir, papildu tekstu, ko tas nolasīs atbildes sagatavošanas laikā) un atbild, pamatojoties uz šo kontekstu.

Šajā vienībā mēs skaidri redzēsim, kas ir RAG, kad tam tiek dota priekšroka, nevis kādām alternatīvām, un tipiskā RAG cauruļvada darbības. Visas nākamās vienības padziļinās šīs kartes daļas pa vienai.

RAG pamatideja: atvērtās grāmatas eksāmens

Izskaidrosim RAG vienā teikumā: "Vispirms atrodiet attiecīgo dokumentu, pēc tam lieciet modelim izlasīt šo dokumentu un attiecīgi izdrukājiet atbildi."

Visnoderīgākā līdzība ir šāda: RAG pārvieto modeli no “slēgtā grāmatas eksāmena” uz “atvērto grāmatu eksāmenu”. Slēgtā grāmatas eksāmenā skolēns atbild tikai no atmiņas; Pastāv liels risks izdomāt to, ko neatceries. Atvērtās grāmatas eksāmenā students atbild, aplūkojot viņam priekšā novietoto avotu. RAG modelis vairs neatbild no savas atmiņas, bet gan no pašreizējā un konkrētā teksta, ko jūs tam sniedzat.

Kritiskais punkts: RAG nemaina modeļa svarus, tas ir, miljardiem skaitlisko parametru, ko modelis ir iemācījies. Jūs nepārmācat modeli. Katram jautājumam uzvednē jāievada teksta fragmenti, kas attiecas uz šo jautājumu (instrukcijas teksts tiek nosūtīts modelim). Tātad jums nav jāpārmāca modelis, kad dokuments tiek atjaunināts; jūs vienkārši atsvaidzināt attiecīgo ierakstu meklēšanas datu bāzē.

Padoms: RAG kvalitāti nosaka divi jautājumi: (1) Vai atradāt pareizo dokumentu? (2) Vai modelis to izlasīja pareizi? Pirmā ir "izguves kvalitāte", otrā ir "paaudzes kvalitāte". Abi tiek mērīti un uzlaboti atsevišķi.

RAG, precīza regulēšana vai garš konteksts?

Meklējot organizatoriskas problēmas risinājumu, bieži tiek sajaukti trīs ceļi. Noskaidrosim to atšķirības. Precīzā iestatīšana ir modeļa svara atjaunināšana ar jūsu datiem un jauna uzvedības/stila mācīšana. Garš konteksts nozīmē visu dokumentu aizpildīšanu tieši uzvednē bez atlases.

Pieeja

Ko dara

Kad tas ir piemērots?

Izmaksas / risks

RAG

Ievada attiecīgo dokumentu kā kontekstu

Bieži mainīga, plaša, specifiska informācija

Zems; viegli atjaunināt, var norādīt avotu

Precīza regulēšana

Atjaunina svarus ar jauniem datiem

Fiksēta stila/formāta/valodas mācīšana

Augsts; Ar katru atjauninājumu ir nepieciešama pārkvalifikācija

Tikai garš konteksts

Aizpilda visus dokumentus uzvednē

Neliels, stacionārs dokumentu komplekts

Palielinās žetonu izmaksas un risks "pazaudēt vidējo daļu".

Kā likums: Precīzā regulēšana iemāca modelim runāt; RAG stāsta modelim, kas jāzina. Lielākajā daļā uzņēmumu scenāriju vispirms tiek izmēģināts RAG, jo tas ir lēts, atjaunināms un var parādīt atbildes avotu. Garš konteksts ir saprātīgs, ja dokumentu kopums ir patiešām mazs un fiksēts (piemēram, viena 20 lappušu rokasgrāmata); Bet ar tūkstošiem lappušu tas ir dārgi, un modelis var palaist garām informāciju gara teksta vidū.

Tipisks RAG cauruļvads

RAG sastāv no divām galvenajām fāzēm: indeksēšanas (sagatavošana, kas tiek veikta vienreiz vai periodiski) un vaicāšanas (darbojas uz katru lietotāja jautājumu).

Soli pa solim indeksēšana (bezsaistē, bez lietotāja gaidīšanas):

  1. Savākt: izvelciet dokumentus no avotiem (PDF, wiki, biļešu sistēma, datubāze, e-pasts).
  2. Sadalīšana: sadaliet garo tekstu mazākos pārvaldāmos gabalos.
  3. Iegult: pārveidojiet katru daļu par iegulšanu (skaitļa vektoru, kas satur teksta nozīmi).
  4. Saglabāt: ierakstiet vektorus kopā ar tekstu un metadatiem (avots, datums, autorizācijas informācija) vektoru datu bāzē.

Soli pa solim vaicājums (tiešsaistē, kamēr lietotājs gaida):

  1. Pārvērtiet lietotāja jautājumu par iegulšanu.
  2. Izgūt līdzīgākās daļas no vektoru datu bāzes.
  3. Ievietojiet šos gabalus + jautājumu uzvednes veidnē.
  4. Iegūstiet kontekstuālo atbildi un tās avotus no modeļa.

# Aptaujas fāzes konceptuāls izklāsts (nav atkarīgs no valodas)question = "Cik dienas ir ikgadējā atvaļinājuma?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # vislīdzīgākās partsprompt = f"""Atbildiet uz JAUTĀJUMU, izmantojot tālāk sniegto informāciju, ja šī atbilde ir "KONTEKSTS" nav. Fitting.CONTEXT:{parts}JAUTĀJUMS: {jautājums}"""atbilde = model.uret(prompt) # piem. modelis: claude-opus-4-8

Šī plūsma ir katra posma karte, kuru mēs pa vienam izpakosim nākamajās vienībās.

Vāja uzvedne / spēcīga uzvedne

Pat ar to pašu RAG kontekstu uzvednes kvalitāte maina atbildi.

Vāja uzvedne (atvērta modeļa pielāgošanai, neprasa resursus):

Izmantojiet šo informāciju un sakiet ikgadējo atvaļinājumu: {parts}. Jautājums: {question}

Spēcīga uzvedne (zemējums + "Es nezinu" atļauja + resursa pieprasījums):

Atbildiet tikai, pamatojoties uz tālāk norādīto KONTEKSTU. Ja kontekstā nav skaidras atbildes, rakstiet "Nevarēju atrast informāciju par to dokumentācijā"; Neuzmini. Atbildes beigās pievienojiet tās daļas tagu [Source: file_name], uz kuru paļaujaties. KONTEKSTS: {pieces} JAUTĀJUMS: {jautājums}

Trīs mini futrāļi

1. gadījums — HR palīgs (cilvēkresursi). Uzņēmumam ir 340 lappušu gara personāla rokasgrāmata, un darbinieki dienā uzdod vidēji 90 jautājumus. Tika izmēģināta precizēšana, taču, tā kā rokasgrāmata tika atjaunināta katru mēnesi, katru reizi bija nepieciešama pārkvalifikācija; Izmaksas sasniedza vairākus tūkstošus dolāru mēnesī. Pēc pārslēgšanās uz RAG atjauninājums tika samazināts līdz “dokumenta atkārtotas indeksēšanas” solim (minūtēs), un pareizo atbilžu rādītājs manuālajā mērījumā palielinājās no 71% līdz 93%.

2. gadījums — klientu atbalsts. Atbalsta komandai ir 12 000 atrisinātu biļešu un 800 palīdzības rakstu. Pārstāvim ir nepieciešamas vidēji 4 minūtes, lai manuāli atrastu atbildi. Kad RAG palīgs atnesa 5 atbilstošākos ierakstus un sagatavoja atbildes uzmetumu, laiks tika samazināts līdz 40 sekundēm; Taču komanda apzinājās risku "izskatīties nepārliecināti, atnesot nepareizo rakstu" un padarīja avota norādi par obligātu.

3. lieta — Likums. Līgumslēdzēja komanda jautāja "kuros līgumos konfidencialitātes klauzula ir spēkā 5 gadus?" viņš uzdod jautājumu. Ilgajā konteksta izmēģinājumā 60 līgumi tika aizpildīti vienā uzvednē; modele izlaida divus vidējos līgumus. Kad ar RAG tika ieviesti tikai attiecīgie vienumi, marķiera izmaksas samazinājās par 80%, un trūkstošā izlaišana tika atiestatīta.

Kāpēc ir nepieciešams RAG?

  • Aktualitāte: jūs piekļūstat informācijai pēc apmācības beigu datuma.
  • Īpaša informācija: Jūsu iekšējie dokumenti nav iekļauti neviena modeļa apmācībā; Tikai tu vari dot.
  • Pārbaudāmība: varat norādīt atbildes avotu (atsauci), kas ir būtisks auditam un uzticībai.
  • Halucināciju kontrole: tā balstās uz tekstu, kas novietots tā priekšā, nevis veido modeli.
  • Izmaksas: to ir daudz lētāk un ātrāk nodot ekspluatācijā nekā precizēšanu.
Uzmanību: RAG nav maģija. Ja ienesat nepareizu gabalu, modelis saņem nepareizu atbildi, izskatoties “pārliecināts”. Paturiet prātā frāzi "Izguves kvalitāte = RAG kvalitāte".

Biežas kļūdas

  • RAG kļūdaina pielāgošana: RAG nemaina svarus; Tas tikai papildina kontekstu. Šo divu sajaukšana novedīs pie nepareizas arhitektūras izvēles.
  • Neatļaut “Es nezinu”: ja uzvedne ļauj modelim brīvi aizpildīt tukšo lauku, tas tiks kompensēts.
  • Nav atsauces uz avotiem: atbildi bez avota nevar pārbaudīt; Lietotājs nevar pamanīt kļūdu.
  • Salikt visu vienā uzvednē: garais konteksts izskatās lēts, bet ir dārgs un trūkst vidējās informācijas.
  • Iestrēgšana paaudzē bez izguves mērīšanas: ja atbilde ir slikta, vispirms jautājiet "Vai ieradās pareizā daļa?" jājautā.

Rezumējot

  • RAG ir pieeja, kas modelī kā kontekstu ievada ar jautājumu saistītos dokumentus; nemaina svarus ("atvērtās grāmatas eksāmens").
  • Precizēšana māca stilu/formātu, RAG sniedz aktuālu un specifisku informāciju; garais konteksts labi darbojas mazām fiksētām kopām. Vairumā gadījumu vispirms tiek izmēģināts RAG.
  • Konveijeram ir divas fāzes: bezsaistes indeksēšana (gabals + iegulšana + saglabāšana) un tiešsaistes vaicājumi (izguve + uzvedne + ģenerēšana).
  • RAG nodrošina savlaicīgumu, specifisku informāciju, pārbaudāmību, halucināciju kontroli un zemas izmaksas.
  • Sistēmas kvalitāte ir tieši atkarīga no izguves kvalitātes: nepareizs gabals nozīmē nepareizu atbildi.

Lietojumprogrammas uzdevums

Izvēlieties īstu informācijas avotu no savas komandas (piemēram, procedūras dokumentu vai FAQ lapu). (1) Uzrakstiet 5 faktu jautājumus par šo avotu. (2) Atzīmējiet, kura dokumenta daļa satur pareizo atbildi uz katru jautājumu — tas kļūst par jūsu “zelta atbilžu” sarakstu. (3) Izmantojot iepriekš norādīto “spēcīgo uzvednes” veidni, manuāli ielīmējiet attiecīgo sadaļu kā kontekstu un uzdodiet modeli. (4) Salīdziniet modeļa sniegto atbildi ar zelta atbildi un atzīmējiet kā patiesu/nepatiesu. Šī ir pirmā manuālā novērtējuma versija, ko automatizēsit nākamajās vienībās.

kontrolsaraksts

  • [ ] Es varu paskaidrot vienā teikumā, ka RAG nemaina svarus, tas tikai pievieno kontekstu.
  • [ ] Es varu atšķirt RAG, precizēšanu un garo kontekstu un to, kad tas ir piemērots.
  • [ ] Es varu saskaitīt indeksēšanas (savākt-sasmalcināt-iegult-saglabāt) un vaicājuma (iegult-ielādēt-prompt-ģenerēt) fāzes secībā.
  • [ ] Es zinu, kāpēc uzvednei pievienoju norādījumus "ja tas nav kontekstā, sakiet, ka es nezinu" un "citēt avotu".
  • [ ] Principu "Izguves kvalitāte = RAG kvalitāte" varu pielāgot savam gadījumam.