Brez strganja do zbirke Winnow in virov
Kup strani ni izdelek
Obstaja posebna vrsta AI-projektov, ki se začne z navdušenjem in konča z mapo z imenom scrape-final-2-real-final. Ekipa potrebuje utemeljitev. Nekdo reče, da bi morali zbrati vire. Nekdo drug najde pajek. Teden dni kasneje je na tisoče datotek, trije CSV-ji, zvezek, ki deluje samo na enem prenosniku, in majhna moralna kriza o tem, ali je bila polovica virov sploh dovoljena za zbiranje.
Tragedija je v tem, da so vsi mislili dobro. Ekipa ni nameravala zgraditi močvirja podatkov. Želeli so boljše odgovore. Želeli so, da model navaja dejansko gradivo. Želeli so, da sistem neha zveneti kot svetovalec po četrti zamudi na letališču. Zato so zbirali. Potem so zbirali še več. Potem so odkrili, da zbiranje ni isto kot imeti vire.
Sistem za zbiranje virov mora odgovoriti na dolgočasna vprašanja, preden se začne pametno delo. Od kod to prihaja? Je bilo dovoljeno? Kdaj je bilo pridobljeno? Kakšen status je vrnila zahteva? Kaj je bilo izluščeno? Kakšna je bila zgoščena vrednost vsebine? Kateri zbiralnik, iskalna pot ali API je to ustvaril? Ali lahko pozneje reproduciramo politiko zbiranja? Ali lahko dokažemo, da so bila zasebna omrežja blokirana in da so bile omejitve hitrosti spoštovane? Če teh vprašanj ni, je kup virov le kup z zaupanjem vrednimi težavami.
Winnow obstaja za ta manj glamurozen, a bolj uporaben sloj. Je platforma za zbiranje podatkov v Rustu ter knjižnica CLI za iskanje, strganje, pajkanje, zbiranje prek API-ja in strukturiran izpis. Implementacija opisuje izpise v besedilu, JSON, JSONL, CSV in HTML, politiko robotov, omejitve hitrosti na domene, zaščito SSRF in strukturirane zapise zbiranja. To je prava vrsta dolgočasnosti. Pajek ni lačen gobec. Je nadzorovan dovod.
To razlikovanje je pomembno, ker je utemeljitev AI le toliko dobra, kolikor je dobra pot vira. Model lahko navede odstavek in je še vedno operativno neuporaben, če nihče ne ve, od kod odstavek prihaja, ali je bil aktualen, ali ga je bilo dovoljeno uporabiti ali ali bi kasnejši zagon pridobil isto gradivo. Utemeljitev brez porekla je le lepše prikrita govorica.
Zbiranje je dobavna veriga
Ljudje razumejo dobavne verige, ko so v igri škatle. Dobavitelj pošlje dele. Deli imajo številke serij. Obstajajo računi, datumi dobave, pregledi kakovosti, odpoklici, revizije. Nihče resen ne reče, da je skladišče polno, torej smo končali. Pri informacijah ekipe nenadoma postanejo mistične. Mapa ima datoteke. Podatkovno jezero ima tabele. Vektorska shramba ima koščke. Nekako naj bi to pomenilo resnico.
Ne pomeni. Zbiranje virov je tudi dobavna veriga. Surovina so zunanje informacije. Prihajajo po poteh z različno zanesljivostjo, dovoljenji, zakasnitvami, formati in načini napak. Rezultati iskanja niso isto kot zapisi API-ja. Stranjena stran ni isto kot arhivski posnetek. Izvoz tabele ni isto kot upodobljen HTML-dokument. Če vse to obravnavamo le kot vsebino, izginejo prav tista dejstva, zaradi katerih je vsebina pozneje uporabna.
Winnowova uporabna drža je, da metapodatki zbiranja potujejo skupaj z izluščkom. URL vira je pomemben. Časovni žig je pomemben. Status je pomemben. Zgoščena vrednost vsebine je pomembna. Razred zbiralnika je pomemben. Format izpisa je pomemben. Zapis ni le besedilo, ki je prišlo ven. Je ovojnica okoli besedila.
Ta ovojnica kasneje pregledovalcu omogoči, da loči kakovost vira od kakovosti modela. Če je odgovor napačen, ker je model prezrl dokaze, je to ena vrsta napake. Če je napačen, ker je zbiranje potegnilo zastarele strani, je to druga. Če je napačen, ker je bil vir blokiran, a je bil tiho preskočen, je to tretja. Če je napačen, ker je pajek prenesel prijavno stran in jo obravnaval kot vsebino, čestitke, pravkar ste izumili zelo drag način za citiranje pasice o piškotkih.
Dobra zbirka virov ne olajša vsega nadaljnjega dela. Omogoči, da je napake mogoče diagnosticirati. To je že velik napredek. V produkciji je diagnostičnost vedno boljša od čarovnije. Čarobne predstavitve se postarajo kot mleko.
Odprti splet ni vaše skladišče
Velik del kulture strganja podatkov še vedno deluje, kot da je splet brezplačno skladišče s slabo razsvetljavo. Pošlji zahteve, vzemi strani, odvrzi HTML, pojdi naprej. Ta odnos je bil že prej krhek. Za sisteme z umetno inteligenco postane nepremišljen. Podatki niso le ogledani. Lahko so indeksirani, povzeti, citirani, uporabljeni za odločanje ali vneseni v delovne tokove, ki preživijo prvotni trenutek zbiranja.
Zato zbiranje potrebuje zavorne mehanizme. Politika robotov ni okrasna besedilna datoteka za vljudne ljudi. Omejitve hitrosti niso neobvezne, ker ima cevovod rok. Zasebna omrežna območja niso vznemirljiva priložnost za odkritja. Zaščita pred SSRF ni paranoja. Je razlika med orodjem za zbiranje in varnostnim incidentom z maskoto.
Opombe o virih Winnow so usklajene s temi zaščitnimi ograjami: privzeto zavračanje robotov, omejitve hitrosti po domenah, zaščita pred SSRF, strukturiran izhod. To niso stranske funkcije. So meja izdelka. Orodje, ki lahko prenaša podatke z interneta brez plasti politik, ni uporabno močno. Je obveznost s prepustnostjo.
Tu postane evropsko upravljanje zelo konkretno. Ne v smislu sloganov. V dejanskem operativnem smislu. Če organizacija želi umetno inteligenco, podprto z dokazi, mora vedeti, kako so dokazi vstopili v sistem. Je bilo zbiranje dovoljeno? So bili viri obravnavani različno po kategorijah? So bili zapisi preneseni z mest, ki jih organizacija sme obdelovati? So bile zasebne naslove blokirane? Bi lahko operater razložil politiko brez interpretativnega plesa pred nabavno službo?
Tu je suhoparna ironija. Dolgočasne nastavitve pajka so za zaupanje pogosto pomembnejše od arhitekture modela. To se zdi nepošteno ljudem, ki imajo radi diagrame arhitekture. Še vedno je res. Če dokazi vstopijo slabo, lahko model postane le eleganten ojačevalnik slabega vnosa.
Izluščevanje ni kopiranje
Druga pogosta napaka je zamenjevanje kopiranja z izluščevanjem. Prenos HTML-ja ni enako kot izluščitev uporabne vsebine. Surova stran vsebuje navigacijo, pasice o piškotkih, oglase, povezane povezave, nogo, skripte, dele postavitve in včasih dejansko stvar, po katero ste prišli, ki se skriva, kot da vam dolguje denar.
Winnowovi izhodi so pomembni, ker različna nadaljnja opravila potrebujejo različne oblike. Besedilo za branje. JSON ali JSONL za strukturirane vrstice. CSV za poteke, prijazne do tabel. HTML, kadar je pomembna prvotna struktura. Bistvo ni izbrati en sam sveti izhod. Bistvo je, da je izhod jasen in primeren za opravilo.
To postane ključno, ko viri napajajo iskanje, pridobivanje ali upravljanje znanja. Model ne bi smel odločati, ali je povezava v nogi dokaz. Sistem za pridobivanje ne bi smel indeksirati vsakega piškotnega pasice, kot da bi bil izjava o politiki. Podatkovni potek ne bi smel s samim optimizmom spremeniti postavitve strani v tabelo dejstev. Izvleček je mesto, kjer vir postane rezultat, ki ga lahko drugi sistemi uporabijo, ne da bi s seboj nosil vsak košček spletne navlake.
Toda izvleček mora biti tudi pošten. Čiščenje ni prepisovanje. Normalizacija ni izmišljanje. Odstranjevanje odvečne vsebine ne spreminja trditve. Če izvlečevalec ne razlikuje med tem, ga je treba obravnavati z enako mero suma kot prodajalca, ki uporabi besedo brez napora. V majhnih odmerkih v redu, nevarno blizu proračuna.
Zakaj to sodi pred pridobivanje
Sistemi za pridobivanje so pogosto krivi za številne težave, ki so se začele prej. Indeks vrne slabe kandidate, zato ekipa prilagodi razvrščanje. Navedbe so šibke, zato nekdo spremeni razdeljevanje na dele. Model zveni negotovo, zato nekdo doda navodilo s čustveno močjo magneta na hladilniku. Včasih je res težava v plasti pridobivanja. Pogosto pa je plast zbiranja tiho zastrupila obrok, preden se je razvrščanje sploh začelo.
Če viri pridejo brez ovojnic, jih pridobivanje pozneje ne more pojasniti. Če časovni žigi manjkajo, je svežina ugibanje. Če so kode stanja prezrte, je neuspeh videti kot odsotnost. Če zgoščene vrednosti vsebine manjkajo, zaznavanje sprememb postane folklora. Če se kakovost izvlečkov močno spreminja, razvrščanje postane tekmovanje med signalom in navlako.
Zato Winnow naravno sodi pred sisteme, kot so BitWeave, Spindle, Fabric, ali kateri koli izdelek z umetno inteligenco, ki temelji na virih. Ni plast sklepanja. Ni graf znanja. Ni uporabniški vmesnik. Je disciplina sprejema, ki odloča, ali bodo poznejše plasti prejele obrambno sposoben material ali strašljivo podstrešje spletnih drobcev.
Ta vrstni red je pomemben. Najprej zbiraj s politiko. Vsak vir zavij v kontekst. Izvleci v jasne oblike. Nato indeksiraj, citiraj, analiziraj, potrjuj ali povzemaj. Če je vrstni red obrnjen, ekipa na koncu polira odgovore na podlagi neznanega vhoda. Tako dobi draga nesmisel lep uporabniški vmesnik.
Številke so manj pomembne kot pogodba
Winnow ima velik katalog zbiralnikov, iskalnih integracij, API vnosov in zmogljivosti izvlečkov, specifičnih za posamezna spletišča. Natančne številke se razlikujejo med posnetki virov, kar je običajno za aktivno spreminjajočo se površino zbiranja in ni vredno javnega poveličevanja. Pomembna točka ni junaška številka. Pomembna točka je pogodba.
Ali lahko orodje zbira iz več razredov poti? Ali lahko izpiše strukturirane oblike? Ali lahko uporabi varnostne meje? Ali lahko nosi metapodatke vira? Ali ga je mogoče uporabiti kot knjižnico ali CLI? Ali lahko ekipa preveri, kako je vir vstopil v sistem? To so vprašanja, ki preživijo resnično uvedbo.
Številke so mamljive, ker delujejo konkretno. Toda pri infrastrukturi za zbiranje lahko napačna številka odvrne pozornost od pravega zagotovila. Tisoč površnih zbiralcev je slabših od manjšega nabora z ustrezno politiko, ovojnicami in izhodnimi pogodbami. Zrelo vprašanje ni, koliko lahko postrgaš. Zrelo vprašanje je, kaj lahko zagovarjaš, potem ko si postrgal.
Nauki
Nauk Winnowa je, da zbiranje virov ni uvod v pravi sistem umetne inteligence. Je del pravega sistema umetne inteligence. Odgovor, ki ga uporabnik vidi, je odvisen od tega, kaj je vstopilo, kako je vstopilo, kaj je bilo izluščeno, kateri kontekst je preživel in katere nevarne poti so bile blokirane. To delo si zasluži inženirstvo, ne vikend skripte s herojskim imenom spremenljivke.
Winnow je uporaben, ker zbiranje obravnava kot nadzorovan sprejem: poti virov, politična vrata, varnostne meje, strukturirane izhode in ovojnice virov. Ne naredi vsakega vira zaupanja vrednega. Pot vira naredi dovolj vidno, da se lahko preostali sistem obnaša odgovorno.
To je suhoparna resnica večine dela z utemeljeno umetno inteligenco. Preden model navede vir, preden iskanje razvrsti kandidata, preden Spindle potrdi atom, preden Fabric prikaže stran za odgovorom, mora nekdo zbrati gradivo, ne da bi naredil zmešnjavo. Ni glamurozno. Zelo potrebno. Nekoliko podobno vodovodni napeljavi, le da ko ta pušča, vsi temu rečejo halucinacija umetne inteligence.
Torej da, zbirajte vire. Toda ne zamenjujte kupa s korpusom ali pajka z upravljanjem. Uporabno vprašanje ni, kako hitro lahko orodje poje splet. Uporabno vprašanje je, ali lahko organizacija še vedno pojasni, kaj je pojedla, zakaj je bilo to dovoljeno, kaj je prišlo ven in ali naj mu naslednji sistem zaupa.