Useimmat AI-agentit, ML-putket, tekoälyn rikastamisen työnkulut, syvälliset tutkimusjärjestelmät ja tietopohjaiset päätöksentekokoneet eivät epäonnistu, koska mallit ovat huonoja. Erityisesti tiedot ovat yleensä vanhentuneita, kontekstista poissa olevia, todennettavissa olevia tai kaikkia kolmea kerralla.Tämä on ydinongelma. Tässä artikkelissa näet, mitä Itse asiassa se tarkoittaa, miten se toimii kannen alla, miksi se merkitsee enemmän kuin useimmat ihmiset ajattelevat, ja miten se toteutetaan lopullisesti konkreettisella esimerkillä! Etsi ja poimi Tarve tuoreeseen, kontekstuaaliseen ja luotettavaan, todennettavissa olevaan tietoon Statistan mukaan päivittäin tuotetaan noin 402,74 miljoonaa teratavua dataa. Nämä tiedot virtaavat verkkoon, tietovarastoihin, analyyttisiin pinoihin ja putkistoihin mittakaavassa, jota on rehellisesti vaikea pohtia. Mutta tässä on saalis: enemmän dataa ei tarkoita parempia tietoja! Tällöin on epärealistista olettaa, että kaikki heijastaa todellisuutta - tai että sitä voidaan jopa luottaa ensinnäkin ... Yritykset tekevät edelleen liiketoimintapäätöksiä, automaatioita ja tekoälyä ohjaavia puheluita ja dataa. Tätä Ja kun lähde on vanhentunut, epätäydellinen tai yksinkertaisesti väärä ... sen päälle rakennettu tieto ei voi olla luotettava. Tästä syystä LLM: t hallusinoivat, AI-agentit antavat vakuuttavia mutta virheellisiä vastauksia ja dataputket epäonnistuvat hiljaa tuotannossa. Useimmissa reaalimaailman tapauksissa ongelma ei ole malli, työkalut tai täytäntöönpano. Riippumatta siitä, käytätkö klassista analyysityönkulkua vai täysin itsenäistä AI-agenttia, kaikki riippuu lähdetietojen laadusta. tuoretta Yhteenveto todennettavissa Loppujen lopuksi, jos et tiedä Tiedot ovat peräisin tai Se oli kerätty, et voi luottaa realistisesti lopputulokseen. Missä Milloin Se on todellinen kysymys. Miten voit luotettavasti hakea tietoa, joka on ajantasaista, merkityksellistä tietylle tehtävälle ja todennäköisesti sidoksissa sen lähteeseen? Miten voit luotettavasti hakea tietoa, joka on ajantasaista, merkityksellistä tietylle tehtävälle ja todennäköisesti sidoksissa sen lähteeseen? Siellä on, missä Pattern tulee sisään! murtaa se alas. Search and Extract Search and Extract: Mitä se on ja miksi se on ratkaisu ”Search and Extract” on prosessi ajan tasalla olevien, todennettavissa olevien ja kontekstiin perustuvien tietojen hankkimiseksi verkosta . Se on rakenteeltaan yksinkertainen, mutta käytännössä erittäin tehokas. De facto standardi Korkealla tasolla se toimii kahdessa erillisessä vaiheessa: Haku: Järjestelmä suorittaa live-hakuja hakukoneissa, kuten Google, löytääkseen tietyn kyselyn kannalta merkityksellisimmät ja luotettavat lähteet. Poiminta: Hakutuloksista järjestelmä tunnistaa kaikkein merkityksellisimmät URL-osoitteet, vierailee näillä sivuilla ja hakee niistä hyödyllisintä sisältöä tai tietoja.Tähän voi sisältyä sivulta analysoituja tosiasioita, tilastoja, määritelmiä tai jäsenneltyjä tietoja. Tämä malli on erityisen hyödyllinen AI-sovelluksissa, kuten AI-agentit, Lisäksi se soveltuu perinteisiin koneoppimiseen, tosiasioiden tarkistamiseen ja tietojen rikastamiseen. RAG järjestelmät RAG järjestelmät ”Haku- ja uuttamismallin” päätavoitteena on vastata nykyaikaisiin tietojen haasteisiin varmistamalla, että kerätyt tiedot ovat: Tuore , koska raaputettu julkinen web-tiedot tulevat viimeaikaisista web-hakuista, jotka voivat sisältää viimeisimmät tiedot ja uutiset. Kontekstuaalinen , koska tiedot ovat tiiviisti linjassa hakukyselyssä määritettyjen aiheiden kanssa. Tarkistettavissa, koska tiedot tulevat suoraan tietyiltä verkkosivuilta, URL-osoitteilla, joita kuka tahansa voi vierailla ja tarkistaa. Miten haku ja uuttaminen toimii? Korkealla tasolla ”Haku ja uutuus” voidaan tiivistää seuraavaan työnkulkuun: Tämän työnkulun syöttö on luettelo haettavissa olevista aiheista.Nämä ovat yleensä kontekstuaalisesti otettuja asiakirjoista, tietokokonaisuuksista tai tietyistä tietolähteistä käyttämällä AI/ML. Tämä tapahtuu yleisesti tekoälyn rikastamisessa, tietojen todentamisessa, RAG-työnkulussa tai syvässä tutkimuksessa. Lähteestä riippumatta hakukelpoiset aiheet siirretään "Haku" -komponenttiin, jossa SERP-API-ratkaisu suorittaa automaattisia web-hakuja kohdehakukoneissa.Hakutulosten hakemisen jälkeen voit joko harkita kaikkia palautettuja web-sivuja tai suodattaa vain kaikkein merkityksellisimpiä AI/ML-ratkaisuja tai tiukkoja sääntöjä (esimerkiksi pitää sivut tietyistä verkkotunnuksista, kielistä tai muista kriteereistä). Kun kohdistat useita hakukyselyitä kerralla (joko eri kyselyitä tai useita sivuja samaan kyselyyn), sinun on ehkä suoritettava mukautettu uudelleenjärjestelyalgoritmi. Googlen tai minkä tahansa hakukoneen tarjoama sijoitus on optimoitu SEO: lle, mikä ei välttämättä heijasta sitä, mikä on tärkeää käyttötapauksellesi. Valitut URL-osoitteet lähetetään sitten "Extract" -solmuun, jossa web-kaavintapalvelu käyttää jokaista sivua ja poistaa tärkeimmät tiedot. Seuraavaksi tutkitaan palveluja, jotka tulevat peliin "Haku" ja "Poista" vaiheissa! Etsintä Hakukoneet, kuten Google, Bing, DuckDuckGo, Baidu ja Yandex suojaavat SERP-sivujaan (Search Engine Results Pages) hintarajoilla ja CAPTCHA:illa automaattisen kaavinnan estämiseksi. Luotettavin tapa suorittaa "Haku" -vaihe on käyttää SERP API -ratkaisua.Nämä palvelut paljastavat päätepisteitä käynnistämään hakutehtäviä pilvessä käyttämällä infrastruktuuria, joka on suunniteltu käsittelemään skaalautuvuutta ja anti-bot-toimenpiteitä puolestasi. Se tukee maailmanlaajuisia hakuja yli 150 miljoonan IP-osoitteen välitysverkoston kautta 195 maassa, voi palauttaa täysin analysoidut SERP-tiedot JSON: ssä, tarjoaa monia sivunmuokkausvaihtoehtoja ja tukee integrointia mihin tahansa tietoon tai ML-putkistoon käyttämällä standardoituja HTTP-pyyntöjä sekä yli 50 AI-agenttikehystä ja työnkulkua. Bright Data -sovelluksen SERP API Bright Data -sovelluksen SERP API Plus, Bright Data SERP API avulla voit suorittaa rajoittamattoman määrän hakuja samanaikaisesti. Tämä tarkoittaa, että voit hakea tuhansia tuloksia "Haku" -vaiheessa. Sitten voit suodattaa ja luokitella ne tarpeidesi mukaan myöhemmissä vaiheissa yleisen "Haku ja uuttaminen" -prosessin (kuten aiemmin mainittiin). Lisätiedot ️ Web-tietojen louhinta on vaikeampi osa. Syynä on se, että jokainen verkkosivusto on erilainen, ja jopa samassa verkkotunnuksessa olevat sivut voivat noudattaa eri esittelyä, data-visualisointia ja hakulogiikkaa. Tämä vaikeuttaa ohjelmoitua pääsyä niiden sisältöön. Tämä edellyttää kolmannen osapuolen palveluita, joiden avulla voit luotettavasti käyttää verkkosivujen sisältöä riippumatta siitä, kuinka suojattu ne ovat, ja riippumatta skaalautumisvaatimuksistasi. Web Unlocker API: API, joka käyttää kaikkia julkisia verkkosivuja vaivattomasti, käsittelee lohkoja, CAPTCHA: ta, sormenjälkiä ja välityspalvelimen pyörimistä automaattisesti. Selaimen API: Täysin isännöity pilvipalvelin, joka on yhteensopiva Puppeteerin, Seleniumin, Playwrightin ja muiden automaatiokehysten kanssa, jossa on sisäänrakennettu CAPTCHA-ratkaisu ja automatisoitu välityspalvelimen hallinta. Web Unlocker -sovellus Web Unlocker -sovellus Käyttöliittymä API Käyttöliittymä API Web Unlocker on ihanteellinen sivun sisällön hakemiseen joko raaka-HTML: ssä tai AI-valmis Markdownissa (a ) Dynaamisille sivustoille, jotka vaativat vuorovaikutusta tai automaatiota päästäksesi tarvitsemiisi tietoihin, Browser API sopii paremmin. suuri data-muoto LLM ingestion suuri data-muoto LLM ingestion Yhdessä nämä kaksi ratkaisua kattavat kaiken, mitä tarvitaan "Poista" -vaiheessa "Haku ja Poista" -työnkulussa. Miten hakea ja poimia työnkulku Pythonissa Opi toteuttamaan realistinen "Search and Extract" -työnkulku Pythoniin: Hakuvaiheessa käytät Bright Data: n SERP API: ta suorittamaan live-web-hakuja. Poista-vaiheessa luotat Web Unlocker API: hen hankkimaan ja analysoimaan sisältöä valituista sivuista. Seuraa alla olevaa esittelyä! Edellytykset Jotta voit seurata tätä opetusohjelmaa, varmista, että sinulla on: Python 3.9+ on asennettu paikallisesti. Bright Data -tili, joka on määritetty SERP API -alueella ja Web Unlocker API -alueella sekä API-avaimesi kanssa. Jos et ole perehtynyt siihen, miten aloitat Bright Data SERP API: n tai Web Unlocker API -tuotteiden käytön, noudata virallista dokumentaatiota: Serp API:n käyttöönotto Bright Data Unlocker -sovelluksen käyttöönotto Serp API:n käyttöönotto Serp API:n käyttöönotto Bright Data Unlocker -sovelluksen käyttöönotto Bright Data Unlocker -sovelluksen käyttöönotto Tästä lähtien viittaamme SERP API -alueeseesi ja Web Unlocker API -alueelle kuin : serp_api web_unlocker Lisäksi varmista, että vyöhyke on määritetty "Full JSON" -tilassa konfigurointitaulukon "Data Format" -osassa: serp_api Näin Bright Data SERP API palauttaa tarkistetut SERP-tulokset JSON-muodossa, mikä helpottaa niiden suodatusta ja uudelleenjärjestelyä. Lopuksi Sitä käytetään todentamaan pyynnöt edellä mainittuihin palveluihin! generate your Bright Data API key Luo Bright Data API -avain Prosessin nopeuttamiseksi oletamme, että sinulla on jo Python-projekti, jossa on virtuaalinen ympäristö. Vaihe #1: Valmistaudu käyttämään kirkkaita datapalveluja API:n kautta Helpoin tapa muodostaa yhteys Bright Data -palveluihin on suoraan sen API:n kautta. Ensinnäkin asenna asynkronoitu valmis HTTP-asiakas, kuten AIOHTTP: pip install aiohttp Seuraavaksi määrittele seuraavat kaksi toimintoa SERP API: n ja Web Unlocker API: n soittamiseksi: # Replace these with your Bright Data API token and zone names BRIGHT_DATA_API_TOKEN = "<YOUR_BRIGHT_DATA_API_TOKEN>" SERP_ZONE = "serp_api" # Your SERP API zone WEB_UNLOCKER_ZONE = "web_unlocker" # Your Web Unlocker API zone HEADERS = { "Authorization": f"Bearer {BRIGHT_DATA_API_TOKEN}", # To authenticate the API requests to Bright Data "Content-Type": "application/json" } async def fetch_serp(session, query, location="us", language="en"): url = "https://api.brightdata.com/request" data = { "zone": SERP_ZONE, "url": f"https://www.google.com/search?q={urllib.parse.quote_plus(query)}&hl={language}&gl={location}", "format": "json" } async with session.post(url, json=data, headers=HEADERS) as resp: response_data = await resp.json() return json.loads(response_data["body"]) async def fetch_page(session, page_url, data_format="markdown"): url = "https://api.brightdata.com/request" data = { "zone": WEB_UNLOCKER_ZONE, "url": page_url, "format": "raw", "data_format": data_format } async with session.post(url, json=data, headers=HEADERS) as resp: return await resp.text() Sillä Funktio muodostaa yhteyden Bright Data SERP API -sovellukseen Google-hakujen suorittamiseksi ja tarkistettujen JSON SERP -tulosten hankkimiseksi (tiliisi määritetyn mukaisesti). fetch_serp() Samoin myös muodostaa yhteyden Bright Data Web Unlocker API -sovellukseen verkkosivujen hankkimiseksi ja määrittää tuloksen Markdowniksi, joka sopii erinomaisesti LLM-ohjelmiin. fetch_page() Lisätietoja argumentteista, parametreista ja näiden kahden API:n soittamisesta on dokumenteissa! : Tuotannossa vältä Bright Data API -avaimen kovakoodausta. Sen sijaan lataa se ympäristömuuttujasta. Note Nyt sinulla on rakennuspalikat toteuttaa "Haku" ja "Poista" vaiheet Toiminnot : async import asyncio async def main(): # "Search and Extract" logic... # Run the async main function asyncio.run(main()) Vaihe #2: Suorita uuttamisen vaihe Oletetaan, että sinulla on AI-agentteja, jotka luottavat MCP-integraatioihin ja haluavat tuottaa raportin, joka osoittaa, miten tulevat muutokset protokollassa voivat vaikuttaa niihin, mitkä uudet ominaisuudet ovat käytettävissä ja niin edelleen. Säännölliset LLM: t eivät voi auttaa paljon tässä tehtävässä, koska MCP on suhteellisen uusi ja useimmat mallit koulutettiin vanhemmista tiedoista. "new version of MCP" Soita SERP API: lle saadaksesi tarkistetut Google SERP -tulokset kyseiseen hakukyselyyn: # Topics to search input_topic = "new version of MCP" async with aiohttp.ClientSession() as session: # Search phase: Get SERP results serp_results = await fetch_serp(session, input_topic) Näyttämöjen takana, The Funktio soittaa SERP API:lle käyttämällä annettua hakukyselyä. Jos haluat käsitellä useita kyselyitä, voit soittaa Kilpailukykyinen käyttö . fetch_serp() fetch_serp() asyncio.gather() : Oletusarvoisesti SERP API palauttaa 10 tulosta kyselyä kohden, mutta se voidaan konfiguroida palauttamaan enintään 100 tulosta. Note palauttaa tarkistetut Google SERP -tulokset Python-sanakirjana. Ominaisuudet : fetch_serp() organic serp_ranking_results = serp_results.get("organic", []) Tulosta hakutulokset, ja saat tuloksen, joka on samanlainen kuin tämä: Huomaa, miten jokainen elementti sarjassa vastaa täsmälleen tulosta, jonka saat etsimällä "uutta versiota MCP" Google: Vaihe #3: Suodata kiinnostuksen kohteen URL-osoitteet Kaikista SERP-tuloksista, jotka SERP-API-puhelu palauttaa, oletetaan, että olet kiinnostunut enintään 3 tuloksesta ” ” verkkotunnus (virallinen verkkotunnus MCP-eritelmälle). Harkitse myös Googlen alkuperäistä sijoitusta sijoituksena, jonka haluat säilyttää. mallikontekstiprotokolla.io mallikontekstiprotokolla.io Suodatamme ne seuraavasti: # Where to store the page URLs to scrape in the "Extract" phase pages_of_interest = [] # Iterate over results and filter for URLs containing "modelcontextprotocol.io" for result in serp_data_results: page_url = result.get("url") if "modelcontextprotocol.io" in page_url: pages_of_interest.append(page_url) # Stop once reaching 3 results if len(page_url) == 3: break Tuloksena on luettelo URL-osoitteista, joihin pääsee käyttämään "Poista" -vaiheen aikana. Tässä juoksussa tunnistetut URL-osoitteet ovat: [ "http://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/", "https://modelcontextprotocol.io/development/roadmap", "https://modelcontextprotocol.io/specification/2025-11-25" ] On aika poimia tietoja näistä sivuista! Vaihe #4: Suorita uuttamisen vaihe Käytä sitä Funktio soittaa Web Unlocker API ja kaavata kolme valittua sivua rinnakkain: fetch_page() tasks = [fetch_page(session, url) for url in pages_of_interest] web_page_results = await asyncio.gather(*tasks) : Jos käsittelet dynaamista sivustoa, joka vaatii käyttäjän vuorovaikutusta, poista siitä tietoja selaimen automaatiotekniikalla, kuten Playwright, joka on integroitu selaimen API: hen. Note Tuloksena on sarja, joka sisältää kunkin kohdesivun sisällön. Pääset lukitsemattomaan Markdown-sisältöön jokaisesta sivusta: markdown_pages = [page for page in web_page_results] Tarkista, että taulukko sisältää kohdesivujen merkinnän: for markdown_page in markdown_pages: print(markdown_page[:300] + "...\n---\n") Tässä tapauksessa tulos on: Tämä vastaa jokaisen kohdennetun sivun Markdown-versiota, mikä tarkoittaa, että Web Unlocker API pystyi suorittamaan web-tietojen poistoa onnistuneesti riippumatta mahdollisista anti-bot- tai anti-scraping-toimenpiteistä. Ottaen huomioon nämä tuoreet, kontekstuaaliset ja todennettavissa olevat tiedot, säilytä se lisätutkimusta varten, siirrä se LLM: lle käsittelyä varten, käytä sitä havaitsemaan muita kiinnostavia aiheita, jatka syvällisempää tutkimusta tai soveltaa sitä moniin muihin käyttötapauksiin. Vaihe #5: Täydellinen koodi Lopullinen versio esimerkistä on: # pip install aiohttp import asyncio import aiohttp import urllib.parse import json # Replace these with your Bright Data API token and zone names BRIGHT_DATA_API_TOKEN = "<YOUR_BRIGHT_DATA_API_KEY>" SERP_ZONE = "serp_api" # Your SERP API zone WEB_UNLOCKER_ZONE = "web_unlocker" # Your Web Unlocker API zone HEADERS = { "Authorization": f"Bearer {BRIGHT_DATA_API_TOKEN}", # To authenticate the API requests to Bright Data "Content-Type": "application/json" } async def fetch_serp(session, query, location="us", language="en"): url = "https://api.brightdata.com/request" data = { "zone": SERP_ZONE, "url": f"https://www.google.com/search?q={urllib.parse.quote_plus(query)}&hl={language}&gl={location}", "format": "json" } async with session.post(url, json=data, headers=HEADERS) as resp: response_data = await resp.json() return json.loads(response_data["body"]) async def fetch_page(session, page_url, data_format="markdown"): url = "https://api.brightdata.com/request" data = { "zone": WEB_UNLOCKER_ZONE, "url": page_url, "format": "raw", "data_format": data_format } async with session.post(url, json=data, headers=HEADERS) as resp: return await resp.text() async def main(): # Topics to search input_topic = "new version of MCP" async with aiohttp.ClientSession() as session: # Search phase: Get SERP results serp_results = await fetch_serp(session, input_topic) # Where to store the page URLs to scrape in the "Extract" phase pages_of_interest = [] # Iterate over results and filter for URLs containing "modelcontextprotocol.io" for result in serp_results.get("organic", []): page_url = result.get("link") if page_url and "modelcontextprotocol.io" in page_url: pages_of_interest.append(page_url) if len(pages_of_interest) == 3: break print("Pages to scrape:", pages_of_interest) # Extract phase: Scrape pages concurrently tasks = [fetch_page(session, url) for url in pages_of_interest] web_page_results = await asyncio.gather(*tasks) # Access the content from each page markdown_pages = [page for page in web_page_results] print("Scraped page contents:") for markdown_page in markdown_pages: print(markdown_page[:300] + "...\n---\n") # AI processing, RAG pipelines, or further workflows... # Run the async main function asyncio.run(main()) Bright Data API -valmiiden tuotteiden ansiosta voit toteuttaa tehokkaan, yritystason, tuotantovalmis "Haku ja uuttaminen" -työnkulun alle 50 riviin Python-koodia! Johtopäätös Tässä viestissä tarkastelitte, miksi dataputket ja tekoälyn työnkulut riippuvat ajan tasalla olevista, kontekstuaalisista ja luotettavista tiedoista. Yksi luotettava tapa kerätä näitä tietoja on AI-malli, joka on tehokkaasti tullut tavanomaiseksi lähestymistavaksi korkealaatuisten, todennettavissa olevien web-tietojen saamiseksi. automatisoi etsimisen hakukoneiden välillä, kun taas Vaihe nostaa jäsenneltyjä tietoja kaikkein merkityksellisimmistä tuloksista. Etsi ja poimi Etsintä Lisätiedot ️ Kuten koko tämän artikkelin aikana näkyy, käyttämällä AI-valmiita web-kaavintaalustoja, kuten Bright Data, tekee tämän työnkulun toteuttamisesta sekä käytännöllistä että skaalautuvaa. ja tutustu kaikkiin verkkopalveluiden ratkaisuihin! Start a Bright Data free trial today Aloita Bright Data ilmainen kokeilujakso tänään Tämä artikkeli on julkaistu HackerNoon Business Blogging -ohjelman kautta. Tämä artikkeli on julkaistu HackerNoon Business Blogging -ohjelman kautta.