Crea agenti AI intelligenti con capacità di web scraping e ricerca utilizzando LangChain
L’integrazione Olostep LangChain fornisce strumenti completi per creare agenti AI in grado di cercare, estrarre, analizzare e strutturare dati da qualsiasi sito web. Perfetto per applicazioni LangChain e LangGraph.
Dizionario/stringa dello schema JSON opzionale che descrive il formato di output desiderato
from langchain_olostep import answer_questionimport asyncio# Fai una domanda sempliceresult = asyncio.run(answer_question.ainvoke({ "task": "Qual è la capitale della Francia?"}))print(result)# Restituisce: {"answer": {"result": "Parigi"}, "sources": [...]}
# Ottieni dati strutturati con schema JSONresult = asyncio.run(answer_question.ainvoke({ "task": "Qual è l'ultimo libro di J.K. Rowling?", "json_schema": { "book_title": "", "author": "", "release_date": "" }}))print(result)# Restituisce risposta strutturata con fonti
# Arricchisci i dati aziendaliresult = asyncio.run(answer_question.ainvoke({ "task": "Trova il CEO e la sede centrale di Stripe", "json_schema": { "ceo_name": "", "headquarters": "", "founded_year": "" }}))# Gestisce l'incertezza con valori "NOT_FOUND"
from langchain_olostep import extract_urlsimport asyncio# Ottieni tutti gli URL da un sito webresult = asyncio.run(extract_urls.ainvoke({ "url": "https://example.com", "top_n": 100}))print(result)# Restituisce: {"urls": [...], "total_urls": 100, ...}
# Ottieni solo gli URL del blogresult = asyncio.run(extract_urls.ainvoke({ "url": "https://example.com", "include_urls": ["/blog/**"], "exclude_urls": ["/admin/**", "/private/**"], "top_n": 50}))
Crea agenti intelligenti che possono cercare e estrarre dal web:
from langchain.agents import initialize_agent, AgentTypefrom langchain_openai import ChatOpenAIfrom langchain_olostep import ( scrape_website, answer_question, extract_urls)# Crea agente con strumenti Olosteptools = [scrape_website, answer_question, extract_urls]llm = ChatOpenAI(model="gpt-4o-mini")agent = initialize_agent( tools=tools, llm=llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)# Usa l'agenteresult = agent.run("""Ricerca l'azienda su https://company.com:1. Estrai la loro pagina "about"2. Cerca il loro ultimo round di finanziamento3. Estrai tutte le loro pagine prodotto""")print(result)
Estrai dati sui prodotti con parser specializzati:
from langchain_olostep import scrape_website# Estrai prodotto Amazonresult = scrape_website.invoke({ "url": "https://www.amazon.com/dp/PRODUCT_ID", "parser": "@olostep/amazon-product", "format": "json"})# Restituisce dati strutturati del prodotto: prezzo, titolo, valutazione, ecc.
Quando estrai più di 3-5 URL, usa scrape_batch invece di più chiamate scrape_website. Il batch processing è molto più veloce ed economico.
Imposta Timeout Appropriati
Per siti pesanti in JavaScript, usa il parametro wait_before_scraping (2000-5000ms è tipico). Questo assicura che il contenuto dinamico sia completamente caricato.
Usa Parser Specializzati
Per siti web popolari (Amazon, LinkedIn, Google), usa i nostri parser pre-costruiti per ottenere automaticamente dati strutturati.
Filtra gli URL in Modo Efficiente
Quando usi extract_urls o crawl_website, usa modelli glob per concentrarti sulle pagine rilevanti ed evitare elaborazioni non necessarie.
Gestisci i Limiti di Velocità
Implementa il backoff esponenziale per errori di limite di velocità. L’API gestisce automaticamente la maggior parte dei limiti di velocità internamente.