Pelnas:
- Visapusiško įmonės RAG asistento komponentų ir duomenų srauto projektavimas
- Kelių šaltinių duomenų (wiki, bilietų, PDF, duomenų bazės) sujungimas į vieną asistentą
- Priimkite architektūrinius sprendimus dėl mastelio, talpyklos ir delsos
Ankstesniuose skyriuose dalis mokėmės po vieną: įterpimas, vektorinė duomenų bazė, gabalų sudarymas, paieška. Dabar sujungkime juos ir sukurkime visapusę asistento architektūrą, kuri kalba su jūsų įmonės duomenimis. Tikslas yra, kad darbuotojas paklaustų: „Kokia yra mūsų atostogų politika? Sistema, kurioje žmonės gali užduoti klausimus, atsakymai pagrįsti tikrais vidiniais dokumentais, citatomis ir derinant kelis duomenų šaltinius. Šis padalinys apdoroja visą architektūrą, duomenų srautą ir gamybos lygio sprendimus.
Nuo galo iki galo komponentai
Įmonės RAG padėjėjas susideda iš dviejų atskirų eilučių. Indeksavimo eilutė (neprisijungus) paruošia duomenis; Užklausos eilutė (internete) atsako į klausimą.
Indeksavimo linijos komponentai:
- Jungtys: jungtys, renkančios duomenis iš šaltinių – wiki, bilietų sistemos, failų saugyklos, duomenų bazės, el.
- Normalizavimas: įvairių formatų (PDF, HTML, DOCX) konvertavimas į švarų tekstą; antraštės / poraštės valymas.
- Suskaidymas + metaduomenys: suskirstymas ir žymėjimas (šaltinis, data, autoritetas).
- Įterpimas + įkėlimas: vektorių ir metaduomenų įrašymas į vektorių duomenų bazę.
Užklausos dujotiekio komponentai:
- Užklausos išankstinis apdorojimas: perrašymas, decentralizavimas.
- Gauti: hibridinė paieška + metaduomenų filtras + pakartotinis reitingavimas.
- Raginimas kurti: konteksto + klausimo + instrukcijų įdėjimas į šabloną.
- Karta: pagrįstas (kontekstinis) atsakymas iš modelio + šaltiniai.
- Tolesnis apdorojimas: citatos formatavimas, saugos patikra, registravimas.
Patarimas: fiziškai atskirkite indeksavimo eilutę nuo užklausos eilutės. Indeksavimas vyksta lėtai ir periodiškai (vyksta partijomis per naktį); Užklausos linija turėtų būti lengva ir greita. Sumaišius dvi eilutes, vartotojas laukia intensyvaus apdorojimo.
Duomenų srauto vizualizavimas
[INDEKSAVIMAS – neprisijungus]Ištekliai → Normalizuoti → Dalis+Metaduomenys → Įterpti → Vektorinė DB (wiki, bilietas, PDF, DB)[QUERY – prisijungus]Vartotojo klausimas → Išankstinis apdorojimas → Nuskaitymas (hibridas+filtras+reitingavimas) → Raginimas (kontekstas+klausimas+instrukcija) → Naudotojas → Atsakymas+Šaltinis →
Kelių šaltinių duomenų derinimas
Realiose įmonėse atsakymas nesustoja vienoje vietoje. "Kaip grąžinti pinigus klientui?" Atsakymą į klausimą galite rasti ir pagalbos straipsnyje (procedūroje), bilietų istorijoje (tikrieji pavyzdžiai), ir politikos PDF (taisyklės). Asistentas turėtų juos visus ieškoti viename telkinyje.
Svarbus dalykas: sujungiant išteklius į vieną vektorių saugyklą, kiekviena skeveldra turi turėti „source_tour“ metaduomenis. Taigi galite ieškoti jų visų ir, jei reikia, filtruoti, pvz., „Pateikite tik oficialią politiką“. Be to, skirtingi šaltiniai turi skirtingą patikimumo lygį: oficiali politika > pagalbos straipsnis > darbuotojo bilieto pastaba. Šį prioritetą galite nurodyti perskirstydami arba ragindami.
Šaltinis
Turinio tipas
pasitikėti
Atnaujinimo dažnis
Politikos PDF
oficiali taisyklė
aukštas
kas mėnesį
Pagalbos straipsnis
Procedūra
vidutinio aukšto
kas savaitę
Bilietų istorija
tikras pavyzdys
vidutinis
Nuolatinis
wiki
Mišrus / dabartinis užrašas
Kintamasis
Nuolatinis
Mastelio keitimas, talpykla ir delsa
Gamyboje išsiskiria trys problemos. Latencija: patirtis pablogėja, kai vartotojas laukia ilgiau nei 2 sekundes. Sprendimas: parodykite atsakymą srautiniu būdu – modeliui rašant jis išpilamas į ekraną. Talpykla: dažnai užduodamiems klausimams ir pasikartojantiems kontekstams talpykla padidina greitį ir sumažina išlaidas. Mastelis: vartotojui didėjant, reikia turėti galimybę nustatyti mastelį ir modeliuoti skambučius horizontaliai.
Išlaidų taisyklė: brangiausias žingsnis paprastai yra žetonų, skirtų didesniam modeliui, skaičius. Todėl sumažinus kontekstą iki 4 gerų dalių perskirstant reitingą, pagerėja ir kokybė, ir kaina. Įprasta naudoti mažesnį / greitesnį modelį paprastam klasifikavimui ar maršruto parinkimui ir galingesnį modelį galutiniam atsakymui (pvz., claude-opus-4-8).
Atsargiai: nenustatykite indeksavimo kaip „padaryk vieną kartą, pamiršk“. Dokumentai keičiami, ištrinami, pridedami. Sukurkite pakartotinio indeksavimo strategiją: aptikkite pakeistus dokumentus ir iš naujo apdorokite tik juos. Pasenęs indeksas pateikia atsakymą, kuris atrodo aktualus, bet neteisingas.
Silpna architektūra / stipri architektūra
Silpnas (vienas scenarijus, viskas sumaišyta):
Kai vartotojas klausia: tuo metu perskaityti dokumentus, juos susmulkinti, įterpti, ieškoti, atsakyti į juos.# Problema: visas indeksavimas kartojamas kiekvienam klausimui; sekundės delsos, # nėra šaltinio atskyrimo, nėra filtro, nėra atnaujinimo.
Galingas (padalyti vamzdžiai + metaduomenys + talpykla + srautinis perdavimas):
Indeksavimas: partija veikia naktį, atnaujinami pakeisti dokumentai. Užklausa: lengva eilutė — išankstinis apdorojimas → hibridinis paėmimas+filtras → pakartotinis reitingas → raginimas → modelis (srautinė transliacija) → citata → žurnalas. Dažnai užduodami klausimai ir šaltinis yra talpykloje.
Trys mini dėklai
1 atvejis – sutrikusi linija, didelis vėlavimas. Startuolis parašė scenarijų, kuris iš naujo apdoroja PDF failus su kiekvienu klausimu; Kiekvienas atsakymas užtruko vidutiniškai 11 sekundžių. Atskyrus indeksavimo eilutę ir prieš tai perkeliant duomenis į vektorių saugyklą, užklausos laikas sutrumpėjo iki 1,3 sekundės, o srautiniu būdu „pirmas žodis“ pasirodė per 400 ms.
2 atvejis – per daug išteklių, netinkamas prioritetas. Pagalbos padėjėjas vienodą svarbą skyrė politikos PDF ir seniems bilietų užrašams; Modelis kartais kaip oficialią taisyklę pateikdavo neteisingą darbuotojo įvertinimą prieš dvejus metus. Kai prie raginimo buvo įtraukti „source_tour“ metaduomenys ir nurodymas „kilus konfliktui apsvarstyti oficialią politiką“, klaidingo prioriteto klaidų skaičius sumažėjo 89%.
3 atvejis – pasenęs indeksas. HR padėjėjas dirbo su indeksu, kuris nebuvo atnaujintas 3 mėnesius; Atostogų politika pasikeitė, bet asistentas kalbėjo senais laikais. Įdiegus kasdienį atnaujinimą, kuris aptinka pakeistus failus, dabartinis atsako dažnis padidėjo nuo 70% iki 99%.
Dažnos klaidos
- Indeksavimo ir užklausos eilučių maišymas: Sunkus apdorojimas atliekamas, kol vartotojas laukia; uždelsimas sprogsta.
- Šaltinio tipo neįvedimas į metaduomenis: nėra prioritetų nustatymo ir filtravimo; Panašu, kad nepatikimas šaltinis yra oficialus.
- Nenustatoma atnaujinimo strategijos: indeksas pasensta; Pateikiami neteisingi atsakymai, kurie atrodo aktualūs.
- Praleisti srautinį perdavimą: vartotojas žiūri į tuščią ekraną; Numanomas vėlavimas tampa didelis.
- Didžiausio modelio naudojimas kiekviename žingsnyje: išlaidos be reikalo didėja; Vairavimą palikite mažesniam modeliui.
Apibendrinant
- Įmonės RAG asistentas susideda iš dviejų atskirų eilučių: indeksavimo neprisijungus ir internetinės užklausos; atskirti juos fiziškai.
- Indeksavimas = jungtis + normalizavimas + gabalas / metaduomenys + įterpimas / įkėlimas; užklausa = išankstinis apdorojimas + paieška + raginimas + generavimas + tolesnis apdorojimas.
- Kelių šaltinių duomenys sujungiami į vieną saugyklą, tačiau išsaugomi šaltinio tipo metaduomenys ir pasitikėjimo prioritetas.
- Srautas ir talpyklos delsa, konteksto ribojimas ir modelio pasirinkimas pagal kainą yra labai svarbūs.
- Be pakartotinio indeksavimo indeksas pasensta; Reguliariai iš naujo apdorokite besikeičiančius dokumentus.
Taikymo užduotis
Nubraižykite savo komandos asistento architektūrinę schemą. (1) Nustatykite bent tris tikrus duomenų šaltinius ir kiekvienam užrašykite jungties poreikį, atnaujinimo dažnumą ir patikimumo lygį. (2) Atskirai nubrėžkite indeksavimo ir užklausos eilutes naudodami langelio rodyklės diagramą. (3) „Kur galiu sumažinti šio asistento delsą ir išlaidas?“ Į klausimą parašykite bent du konkrečius sprendimus. (4) Vienu sakiniu apibūdinkite savo atnaujinimo strategiją: kuris išteklius bus perindeksuojamas ir kaip dažnai?
kontrolinis sąrašas
- [ ] Galiu nubrėžti indeksavimo ir užklausos eilutes atskirai ir su tinkamais komponentais.
- [ ] Galiu derinti kelių šaltinių duomenis su „source_type“ ir pasitikėjimo prioritetu.
- [ ] Galiu priimti sprendimus dėl srautinio perdavimo / talpyklos delsos ir modelio pasirinkimo pagal kainą.
- [ ] Žinau, kodėl pakartotinio indeksavimo strategija yra būtina.
- [ ] Turiu omenyje, kad brangiausias mano architektūros žingsnis dažniausiai yra žetonas, skirtas didesniam modeliui.