Enota 5 / 11

Pomožna arhitektura, ki se pogovarja s podatki podjetja

Dobički:

  • Oblikovanje komponent in podatkovnega toka celovitega poslovnega pomočnika RAG
  • Združevanje podatkov iz več virov (wiki, vozovnica, PDF, baza podatkov) v enega samega pomočnika
  • Sprejmite arhitekturne odločitve za razširljivost, predpomnjenje in zakasnitev

V prejšnjih enotah smo se učili enega za drugim dele: vdelava, vektorska podatkovna baza, chunking, retrieval. Zdaj pa jih združimo in zgradimo celovito arhitekturo pomočnika, ki se pogovarja s podatki vašega podjetja. Cilj je, da zaposleni vpraša: "Kakšna je naša politika dopusta?" Sistem, kjer lahko ljudje postavljajo vprašanja, odgovori temeljijo na resničnih internih dokumentih, citatih in združujejo več virov podatkov. Ta enota obdeluje celotno arhitekturo, pretok podatkov in odločitve na ravni proizvodnje.

Komponente od konca do konca

Pomočnik podjetja RAG je sestavljen iz dveh ločenih vrstic. Indeksna linija (offline) pripravi podatke; Poizvedovalna vrstica (na spletu) odgovarja na vprašanje.

Komponente vrstice indeksiranja:

  1. Konektorji: konektorji, ki črpajo podatke iz virov — wiki, sistem vstopnic, shramba datotek, baza podatkov, e-pošta.
  2. Normalizacija: pretvorba različnih formatov (PDF, HTML, DOCX) v čisto besedilo; čiščenje glave/noge.
  3. Razdelitev + metapodatki: Razdelitev in označevanje (vir, datum, avtoriteta).
  4. Vdelava + nalaganje: Pisanje vektorjev in metapodatkov v vektorsko bazo podatkov.

Komponente cevovoda poizvedb:

  1. Predobdelava poizvedb: Prepisovanje, decentralizacija.
  2. Pridobivanje: Hibridno iskanje + filter metapodatkov + ponovno razvrščanje.
  3. Ustvarjanje poziva: Umestitev konteksta + vprašanja + navodil v predlogo.
  4. Generacija: Utemeljen (kontekstualni) odgovor iz modela + viri.
  5. Naknadna obdelava: Oblikovanje citatov, varnostni pregled, beleženje.
Namig: vrstico za indeksiranje fizično ločite od vrstice poizvedbe. Indeksiranje je počasno in periodično (teče v serijah čez noč); Linija poizvedovanja mora biti lahka in takojšnja. Mešanje obeh linij zahteva intenzivno obdelavo, medtem ko uporabnik čaka.

Vizualizacija pretoka podatkov

[INDEKSIRANJE - brez povezave]Viri → Normaliziraj → Kos+Metapodatki → Vdelaj → Vektorski DB (wiki, vozovnica, PDF, DB)[PIZDAVA - na spletu]Uporabniško vprašanje → Predhodna obdelava → Pridobivanje (hibrid+filter+prerazvrščanje) → Poziv (kontekst+vprašanje+navodilo) → Model → Odgovor+Vir → Uporabnik

Združevanje podatkov iz več virov

V resničnih podjetjih se odgovor ne ustavi na enem mestu. "Kako kupcu vrniti kupnino?" Odgovor na vprašanje je mogoče najti v članku s pomočjo (postopek), v zgodovini vstopnic (resnični primeri) in v PDF pravilniku (pravila). Pomočnik naj jih preišče vse v enem bazenu.

Kritična točka: pri združevanju virov v eno vektorsko shrambo mora vsak delček nositi metapodatke `source_tour`. Tako jih lahko iščete po vseh in jih po potrebi filtrirate, na primer »prinesite samo uradne pravilnike«. Poleg tega imajo različni viri različne stopnje zanesljivosti: uradni pravilnik > članek s pomočjo > obvestilo zaposlenega. To prednost lahko določite pri ponovnem razvrščanju ali pozivu.

Vir

Vrsta vsebine

zaupanje

Pogostost posodabljanja

Politika PDF

uradno pravilo

visoka

mesečno

Članek za pomoč

Postopek

srednje visoka

tedensko

Zgodovina vstopnic

pravi vzorec

srednje

Neprekinjeno

wiki

Mešana/aktualna nota

Spremenljivka

Neprekinjeno

Razširljivost, predpomnilnik in zakasnitev

V proizvodnji izstopajo tri zadeve. Zakasnitev: izkušnja se poslabša, ko uporabnik čaka več kot 2 sekundi. Rešitev: prikaži odgovor v pretočni obliki — izlije se na zaslon, ko model piše. Predpomnilnik: za pogosto zastavljena vprašanja in ponavljajoče se kontekste predpomnilnik poveča hitrost in zmanjša stroške. Merilo: Ko se uporabnik povečuje, je treba imeti možnost vodoravnega skaliranja klicev za iskanje in modeliranje.

Osnovno pravilo glede stroškov: najdražji korak je običajno število žetonov, ki gredo večjemu modelu. Zato zmanjšanje konteksta na 4 dobre dele s ponovnim razvrščanjem izboljša kakovost in stroške. Običajna zasnova je uporaba manjšega/hitrejšega modela za preprosto razvrščanje ali usmerjanje in močnejšega modela za končni odgovor (npr. claude-opus-4-8).

Pozor: Ne nastavite indeksiranja kot "naredi enkrat in pozabi". Dokumenti se spreminjajo, brišejo, dodajajo. Vzpostavite strategijo ponovnega indeksiranja: zaznajte spremenjene dokumente in ponovno obdelajte samo njih. Zastareli indeks ustvari odgovor, ki je videti trenuten, vendar je napačen.

Šibka arhitektura / močna arhitektura

Šibko (en skript, vse mešano):

Ko uporabnik vpraša: preberite dokumente v tistem trenutku, jih razdrobite, vdelajte, poiščite, odgovorite nanje. # Težava: celotno indeksiranje se ponovi za vsako vprašanje; sekunde zakasnitve, # brez ločevanja vira, brez filtra, brez osveževanja.

Zmogljivo (razdeljene cevi + metapodatki + predpomnilnik + pretakanje):

Indeksiranje: paketno izvajanje ponoči, osveževanje spremenjenih dokumentov. Poizvedba: lahka vrstica — predobdelava → hibridno iskanje+filter → prerazvrščanje → poziv → model (pretakanje) → citat → dnevnik. Pogosto zastavljena vprašanja in vir so shranjeni v predpomnilniku.

Trije mini kovčki

Primer 1 — Zmedena linija, velika zamuda. Startup je napisal skript, ki znova obdela PDF-je z vsakim vprašanjem; Vsak odgovor je v povprečju trajal 11 sekund. Ko je bila vrstica za indeksiranje ločena in so bili podatki predhodno preneseni v vektorsko shrambo, se je čas poizvedbe zmanjšal na 1,3 sekunde in s pretakanjem se je "prva beseda" pojavila v 400 ms.

Primer 2 — Preveč virov, napačna prioriteta. Asistent za podporo je dal enako težo PDF-ju police in starim listkom; Model je včasih kot uradno pravilo predstavil napačno oceno zaposlenega izpred dveh let. Ko so bili v poziv dodani metapodatki source_tour in navodilo »upoštevaj uradno politiko v primeru spora«, so se napake z napačno prioriteto zmanjšale za 89 %.

Primer 3 – Zastareli indeks. Asistent kadrovske službe je delal z indeksom, ki ni bil posodobljen 3 mesece; Politika dopusta se je spremenila, vendar je pomočnik govoril stare čase. Ko je bila nameščena dnevna osvežitev, ki zazna spremenjene datoteke, se je stopnja trenutnega odziva povečala s 70 % na 99 %.

Pogoste napake

  • Mešanje indeksiranja in poizvedovalnih vrstic: Težka obdelava se izvaja, medtem ko uporabnik čaka; zamuda eksplodira.
  • Ni vnosa vrste vira v metapodatke: Brez določanja prednosti in filtriranja; Zdi se, da je nezaupljiv vir uraden.
  • Ne vzpostavite strategije osveževanja: Indeks postane zastarel; Proizvajajo se napačni odgovori, ki se zdijo trenutni.
  • Preskoči pretakanje: uporabnik pogleda prazen zaslon; Zaznana zamuda postane visoka.
  • Uporaba največjega modela na vsakem koraku: stroški se po nepotrebnem povečajo; Prepustite krmiljenje manjšemu modelu.

Če povzamem

  • Pomočnik podjetja RAG je sestavljen iz dveh ločenih vrstic: indeksiranje brez povezave in spletna poizvedba; jih fizično ločite.
  • Indeksiranje = konektor + normalizacija + kos/metapodatki + vdelava/nalaganje; poizvedba = predproces + pridobivanje + poziv + ustvarjanje + naknadni proces.
  • Podatki iz več virov so združeni v en sam repozitorij, vendar se metapodatki source_type in prioriteta zaupanja ohranijo.
  • Pretakanje in predpomnilnik za zakasnitev, dušenje konteksta in izbira modela za stroške so kritični.
  • Brez ponovnega indeksiranja postane indeks zastarel; Redno obdelujte spreminjajoče se dokumente.

Aplikacijska naloga

Narišite arhitekturni diagram pomočnika za svojo ekipo. (1) Identificirajte vsaj tri dejanske vire podatkov in za vsakega zapišite potrebo po povezovalniku, pogostost posodabljanja in stopnjo zaupanja. (2) Ločeno narišite vrstice za indeksiranje in vrstice poizvedb z diagramom škatlaste puščice. (3) »Kje lahko zmanjšam zakasnitev in stroške v tem pomočniku?« K vprašanju napišite vsaj dve konkretni odločitvi. (4) Opišite svojo strategijo osveževanja v enem stavku: kateri vir bo ponovno indeksiran in kako pogosto?

kontrolni seznam

  • [ ] Indeksne in poizvedovalne vrstice znam narisati ločeno in s pravilnimi komponentami.
  • [ ] Podatke iz več virov lahko kombiniram z izvorno_vrsto in prioriteto zaupanja.
  • [ ] Lahko sprejemam odločitve o pretakanju/predpomnilniku za zakasnitev in izbiro modela glede stroškov.
  • [ ] Vem, zakaj je strategija ponovnega indeksiranja bistvena.
  • [ ] Upoštevam, da je najdražji korak v moji arhitekturi običajno žeton, ki gre k večjemu modelu.