MI asistenti un RAG

RAG vai tieša API piekļuve: kā dot MI asistentam aktuālus biznesa datus

Salīdziniet RAG, tiešu API un hibrīdu pieeju pēc datu aktualitātes, piekļuves kontroles, riska un sarežģītības.

RAG vai tieša API piekļuve: kā dot MI asistentam aktuālus biznesa datus

Īsā atbilde: RAG ir piemērotāks dokumentiem un zināšanām, kuras var indeksēt, bet kontrolēta API piekļuve — datiem, kuru aktuālais stāvoklis jāiegūst pieprasījuma brīdī. Ja asistentam vienā atbildē vajadzīgi gan noteikumi, gan pašreizējais klienta, pasūtījuma vai atlikuma statuss, parasti vajadzīga hibrīda pieeja. Modelim nevajadzētu dot neierobežotu piekļuvi datubāzei: tas izsauc šauri definētus rīkus, bet servera puse pārbauda lietotāju, tiesības, parametrus un rezultātu.

Tādēļ praktiskajā lēmumā jānosaka vairāk par izvēli starp RAG un API: kuri dati ir autoritatīvi, cik ilgi tie drīkst būt novecojuši, ko konkrētais lietotājs drīkst redzēt un vai asistents tikai sniegs atbildi vai arī mainīs datus.

Ko šajā izvēlē nozīmē RAG un tieša API piekļuve

RAG jeb retrieval-augmented generation ir process, kurā sistēma pirms atbildes atrod jautājumam atbilstošus fragmentus zināšanu avotā un ievieto tos modeļa kontekstā. Avots var būt politiku, instrukciju, produktu aprakstu, līgumu veidņu vai citu dokumentu indekss. Modelis nesaņem visu dokumentu krātuvi; meklēšanas slānis atlasa salīdzinoši nelielu kontekstu konkrētajam jautājumam.

Tieša API piekļuve šajā rakstā nozīmē kontrolētu rīka vai funkcijas izsaukumu izpildes laikā. Piemēram, asistents var pieprasīt get_order_status, find_customer_invoices vai check_stock, bet API starpslānis nosaka atļautās darbības un sazinās ar CRM, ERP vai citu avota sistēmu. Vārds “tieša” nenozīmē, ka modelim izsniedz datubāzes paroli vai ļauj veidot patvaļīgus SQL vaicājumus.

Būtiskā atšķirība ir datu iegūšanas brīdis. RAG parasti izmanto iepriekš sagatavotu indeksu, kura aktualitāte ir atkarīga no sinhronizācijas. API nolasa avota sistēmas stāvokli pieprasījuma laikā, taču arī tas ir tikai tik aktuāls un pareizs, cik pati avota sistēma.

RAG un API salīdzinājums pēc lēmumu kritērijiem

Kritērijs

RAG

Kontrolēta API piekļuve

Piemērotākais saturs

Dokumenti, politikas, instrukcijas un apraksti

Strukturēti ieraksti, statusi, atlikumi un aprēķini

Aktualitāte

Atkarīga no indeksēšanas biežuma un kļūdām

Avota stāvoklis izsaukuma brīdī

Meklēšana

Pēc nozīmes un teksta atbilstības

Pēc definētiem parametriem un operācijām

Piekļuves kontrole

Jāievēro arī fragmentu atlases laikā

Jāpārbauda katram galapunktam un objektam

Avota norādīšana

Var parādīt dokumentu un fragmentu

Var norādīt sistēmu, ierakstu un nolasīšanas laiku

Darbības ar datiem

Parasti paredzēts lasīšanai

Var lasīt vai mainīt datus, ja tas apzināti atļauts

Galvenais atteices risks

Novecojis, neatbilstošs vai nepilnīgs fragments

Kļūdains parametrs, nepieejama sistēma vai neatļauta darbība

Ieviešanas sarežģītība

Dokumentu sagatavošana, indeksēšana un meklēšanas kvalitāte

API līgumi, autorizācija, validācija un kļūdu apstrāde

Tabula nav automātisks spriedums. Piemēram, produktu katalogu var indeksēt RAG sistēmā, ja izmaiņas ir retas, bet bieži mainīga cena vai noliktavas atlikums jāprasa avota sistēmai. Izvēli nosaka nevis datu nosaukums, bet pieļaujamais novecojums un kļūdainas atbildes sekas.

Kad RAG ir pamatota izvēle

RAG ir lietderīgs, ja atbildes pamatojums atrodas dokumentos un lietotāja jautājumu nevar reducēt uz vienu precīzu datubāzes lauku. Darbinieks var jautāt, kā uzņēmumā saskaņo atlaidi, kādi dokumenti vajadzīgi klienta uzņemšanai vai ko konkrēta garantijas politika paredz nestandarta situācijā. Šādos gadījumos semantiska meklēšana palīdz atrast saistītus fragmentus arī tad, ja jautājumā nav izmantoti dokumenta precīzie termini.

Tomēr šī metode pati par sevi nenodrošina aktualitāti. Jābūt noteiktam, kuri dokumenti drīkst nonākt indeksā, kas apstiprina to statusu, kā tiek apstrādāta jauna versija un cik ātri izmaiņas kļūst pieejamas asistentam. Ja vecā un jaunā politika tiek indeksēta vienlaikus bez versiju pazīmēm, modelis var saņemt pretrunīgu kontekstu.

RAG nav laba noklusējuma izvēle precīzam konta atlikumam, šodienas pasūtījuma statusam vai piegādes datumam, kas tiek pārrēķināts operāciju sistēmā. Šādus datus kopēt meklēšanas indeksā var būt tehniski iespējams, bet sinhronizācijas nobīde rada nevajadzīgu neskaidrību par patieso stāvokli.

Kad vajadzīga kontrolēta API piekļuve

API ir piemērotāka, ja atbilde ir atkarīga no pašreizēja strukturēta ieraksta vai deterministiska aprēķina. Tipiski piemēri ir klienta neapmaksātie rēķini, pasūtījuma posms, pieejamais daudzums, rezervācijas statuss vai piegādes aprēķins. Modelis nosaka, kuru atļauto rīku izmantot, bet biznesa sistēma paliek autoritatīvais datu avots.

Droša API integrācija sākas ar šauru operāciju, nevis universālu piekļuvi. Rīkam jāpieņem tikai nepieciešamie parametri, jāvalidē to formāts un jāatgriež atbilde, kas nesatur liekus personas vai komercdatus. Lietotāja identitāti, uzņēmumu un lomu nedrīkst uzticami noteikt no modeļa uzģenerēta argumenta. Šis konteksts servera pusei jāiegūst no autentificētas sesijas un jāpārbauda pret konkrēto objektu.

Lasīšana un rakstīšana arī nav viens riska līmenis. Sākotnējā versijā bieži ir saprātīgi atļaut tikai nolasīšanu. Ja asistents veido pasūtījumu, maina adresi vai nosūta rēķinu, vajadzīga papildu validācija, lietotājam saprotams darbības priekšskatījums, apstiprinājums, auditācijas ieraksts un droša atkārtotu pieprasījumu apstrāde.

Kāpēc praksē bieži uzvar hibrīda arhitektūra

Daudzi biznesa jautājumi apvieno stabilas zināšanas un mainīgu stāvokli. Jautājums “Vai šo pasūtījumu drīkst atcelt, un kāda summa tiks atmaksāta?” prasa atrast atcelšanas noteikumus dokumentos, nolasīt pasūtījuma statusu un, iespējams, izsaukt uzņēmuma apstiprinātu aprēķinu. RAG izskaidro piemērojamo kārtību, bet API piegādā konkrētā gadījuma datus.

Hibrīdā sistēmā orkestrācijas slānis izvēlas avotu secību, apkopo rezultātus un saglabā izsekojamību. Atbildē jāatšķir dokumentā atrasts noteikums no sistēmā nolasīta fakta. Ja viens avots nav pieejams, asistents nedrīkst aizpildīt trūkumu ar ticamu minējumu; tam jāpasaka, kuru daļu nevarēja pārbaudīt.

Ieviešanas secība, kas sākas ar datiem, nevis modeli

1. Aprakstiet atbildamos jautājumus un atļautās darbības

Sāciet ar konkrētiem lietotāju jautājumiem, nevis ar prasību “pieslēgt MI visiem uzņēmuma datiem”. Katram jautājumam pierakstiet vajadzīgo avotu, datu īpašnieku, pieļaujamo novecojumu un kļūdas sekas. Atsevišķi atzīmējiet darbības, kas tikai lasa informāciju, un darbības, kas maina sistēmas stāvokli.

2. Nosakiet autoritatīvo avotu

Vienam faktam jābūt skaidram galvenajam avotam. Ja klienta statuss atšķiras CRM, grāmatvedības sistēmā un izklājlapā, MI asistents šo datu pārvaldības problēmu neatrisinās. Pirms integrācijas jāvienojas, kura sistēma sniedz atbildi un kā rīkoties konflikta gadījumā.

Dokumentiem vajadzīgs statuss, versija, spēkā stāšanās datums, īpašnieks un piekļuves klase. API rezultātiem noder ieraksta identifikators, avota sistēma un nolasīšanas laiks. Šie lauki palīdz gan atbildes skaidrojumam, gan incidenta izmeklēšanai.

3. Sadaliet datus pēc aktualitātes un jutīguma

Katram datu veidam definējiet maksimāli pieļaujamo novecojumu. “Aktuāls” nav universāla tehniska īpašība: iekšējai rokasgrāmatai var būt viena prasība, cenai vai atlikumam — cita. RAG sinhronizācijas grafiks jāveido no šīs prasības, nevis otrādi.

Vienlaikus klasificējiet personas datus, finanšu informāciju, komercnoslēpumu un publisku saturu. Indeksā vai modeļa kontekstā jānonāk tikai atbildes sagatavošanai nepieciešamajam minimumam. Piekļuves filtrs jāpiemēro pirms fragments vai API rezultāts tiek nodots modelim.

4. Projektējiet šaurus RAG avotus un API rīkus

RAG pusē saglabājiet dokumenta identitāti un versiju, sadaliet saturu jēgpilnos fragmentos un paredziet veco versiju izņemšanu. Meklēšanas rezultātam jānes līdzi avota metadati, lai atbildi varētu pārbaudīt.

API pusē veidojiet uzdevumam specifiskus rīkus ar skaidru ievades un izvades shēmu. get_order_status(order_id) ir kontrolējamāks par universālu query_database(query). Serverim jāpārbauda parametri, objekta piederība, lietotāja tiesības un atļautais datu apjoms neatkarīgi no tā, ko pieprasa modelis.

5. Definējiet atteices un neskaidrības uzvedību

Sistēmai jāzina, ko darīt, ja meklēšana neatrod pietiekamu pamatojumu, avoti ir pretrunīgi, API neatbild vai lietotājam nav tiesību. Drošā atbilde var būt atteikšanās, precizējošs jautājums vai nodošana cilvēkam. Tā nav tehniska nepilnība, bet apzināta kontrole.

Rakstīšanas darbībām paredziet apstiprinājuma soli un aizsardzību pret dublēšanos. Ja pēc tīkla kļūdas tas pats pieprasījums tiek atkārtots, tam nevajadzētu izveidot otru pasūtījumu vai nosūtīt darbību divreiz.

6. Veidojiet pārbaudāmu notikumu žurnālu

Žurnālā vajadzētu sasaistīt lietotāju, jautājumu, atlasītos dokumentus, izsauktos rīkus, atļauju lēmumu, rezultāta statusu un gala atbildi. Jutīgie dati žurnālos jāierobežo, taču pilnīgi bez izsekojamības nav iespējams saprast, vai kļūda radās avotā, meklēšanā, API vai modeļa interpretācijā.

Piemērs: klientu apkalpošanas asistents

Pieņemsim, ka darbinieks jautā: “Kāpēc klienta pasūtījumu vēl nevar nosūtīt, un ko viņam atbildēt?” Sistēma var rīkoties šādi:

  1. No autentificētās sesijas iegūst darbinieka identitāti un piekļuves lomu.
  2. Ar API nolasa konkrētā pasūtījuma statusu, trūkstošās darbības un pēdējās izmaiņas.
  3. RAG indeksā atrod spēkā esošo klientu informēšanas kārtību attiecīgajam kavējuma iemeslam.
  4. Sagatavo atbildes projektu, atsevišķi norādot operatīvos faktus un politikas pamatojumu.
  5. Ja pasūtījuma API nav pieejama, nepaziņo izdomātu iemeslu, bet informē, ka statusu pašlaik nevar pārbaudīt.

Šeit RAG vienatnē nezinātu pasūtījuma pašreizējo stāvokli, bet API vienatnē nepaskaidrotu apstiprināto saziņas kārtību. Hibrīds risinājums savieno abus avotus, nesajaucot to lomas.

Ierobežojumi un riski, kurus arhitektūra neatceļ

Novecojuši dati. RAG indekss var atpalikt no dokumentu krātuves, savukārt API var korekti atgriezt nepareizi uzturētu avota ierakstu. Jākontrolē gan sinhronizācija, gan datu kvalitāte avotā.

Nepareiza autorizācija. Tas, ka lietotājs drīkst lietot asistentu, nenozīmē, ka viņš drīkst redzēt visus asistenta avotus. Tiesības jāpārbauda dokumentu fragmentu un biznesa objektu līmenī. Nulles uzticēšanās princips paredz, ka piekļuve netiek piešķirta tikai atrašanās vietas vai sākotnējas autentifikācijas dēļ.

Prompt injection. Dokumentā, tīmekļa saturā vai rīka rezultātā var būt teksts, kas mēģina mainīt asistenta uzvedību. Iegūtais saturs jāuzskata par datiem, nevis uzticamām sistēmas instrukcijām. Modeļa izveidoti rīku argumenti arī ir neuzticama ievade, kuru serveris validē.

Modeļa interpretācijas kļūda. Pareizs fragments vai API rezultāts vēl negarantē pareizu secinājumu. Modelis var sajaukt datumus, subjektus vai nosacījumus. Augsta riska lēmumiem vajadzīgi deterministiski noteikumi vai cilvēka pārbaude, nevis tikai valodas modeļa formulējums.

Pieejamība un izmaksas. Hibrīda atbilde var būt atkarīga no vairākām sistēmām, tāpēc pieaug latentums un atteices punktu skaits. Jānosaka izsaukumu limiti, taimauti, kešošanas robežas un rezerves process, neupurējot datu aktualitāti nepamanīti.

Kā izmērīt, vai izvēlētā pieeja strādā

Nevērtējiet sistēmu tikai pēc tā, vai atbilde izklausās pārliecinoša. Izveidojiet reprezentatīvu jautājumu kopu ar paredzētajiem avotiem, atļauju scenārijiem un pareizo atteices uzvedību. Atsevišķi pārbaudiet parastus, neskaidrus, neatļautus un tehniski neveiksmīgus pieprasījumus.

Praktiski rādītāji ir:

  •          cik bieži atbildi pamato pareizais dokuments vai sistēmas ieraksts;
  •          vai izmantotā dokumenta versija un dati atbilst aktualitātes prasībai;
  •          cik bieži nepieciešamais rīks izvēlēts un izsaukts ar derīgiem parametriem;
  •          neatļautas piekļuves mēģinājumu bloķēšana;
  •          API, meklēšanas un gala atbildes kļūdu īpatsvars;
  •          atbildes laiks un ārējo sistēmu izsaukumu skaits;
  •          pamatotas atteikšanās vai nodošanas cilvēkam kvalitāte.

RAG meklēšanas kvalitāte un API darbības kvalitāte jāmēra atsevišķi. Citādi laba gala atbilde var noslēpt nepareizu avota izvēli, bet slikts formulējums — faktu, ka datu iegūšanas slānis darbojās pareizi.

Īss izvēles kontrolsaraksts

Izvēlieties RAG, ja vajadzīgā atbilde galvenokārt atrodas pārvaldītos dokumentos un ir svarīgi parādīt pamatojuma fragmentu. API izvēlieties, ja vajadzīgs pašreizējs strukturēts stāvoklis, precīzs aprēķins vai kontrolēta darbība. Hibrīdu pieeju izvēlieties, ja konkrētais gadījums jāinterpretē pēc dokumentētiem noteikumiem.

Pirms ieviešanas pārbaudiet četrus jautājumus: kurš avots ir autoritatīvs, cik veci dati vēl ir pieņemami, kurš drīkst tos redzēt un ko sistēma darīs, ja avots nebūs pieejams. Ja uz tiem nav konkrētu atbilžu, modeļa izvēle problēmu neatrisinās.

Secinājums

RAG un API nav savstarpēji aizvietojamas tehnoloģijas. RAG dod modelim atlasītu dokumentāru kontekstu, bet API ļauj kontrolēti iegūt konkrēta biznesa objekta stāvokli vai izpildīt operāciju. Drošs MI asistents izmanto katru pieeju tai paredzētajam uzdevumam, saglabā avotu izsekojamību un neuzdod nepieejamu informāciju par zināmu faktu.