Integrações

CrewAI

Dê aos Agents do CrewAI uma Tool de pesquisa web movida pela Thunderbit

Agents do CrewAI precisam de conteúdo web fresco e limpo como entrada. Envolva /distill como uma Tool do CrewAI para que qualquer Agent na crew possa ler URLs sob demanda.

Instalação

pip install crewai httpx

Tool customizada

from crewai.tools import BaseTool
import httpx

API = "https://openapi.thunderbit.com/openapi/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}

class ReadUrlTool(BaseTool):
    name: str = "read_url"
    description: str = (
        "Fetch a URL and return clean Markdown. Use for any web research task: "
        "docs, articles, product pages, search results."
    )

    def _run(self, url: str) -> str:
        resp = httpx.post(f"{API}/distill",
                          headers=H,
                          json={"url": url, "renderMode": "basic"},
                          timeout=60.0)
        resp.raise_for_status()
        return resp.json()["data"]["markdown"]

Conectar a uma Crew

from crewai import Agent, Task, Crew

researcher = Agent(
    role="Web Researcher",
    goal="Gather authoritative information from public web pages",
    backstory="Skilled at distilling long pages into key facts.",
    tools=[ReadUrlTool()],
)

task = Task(
    description="Research how vector databases compare in 2026.",
    expected_output="A concise comparison table.",
    agent=researcher,
)

Crew(agents=[researcher], tasks=[task]).kickoff()

Dicas

  • Para pesquisa multi-fonte, exponha /batch/distill como uma segunda Tool (read_urls) para que o Agent possa fazer fan-out
  • Limite o Markdown retornado a ~8k tokens antes de entregá-lo ao Agent — evite inflar o contexto

Relacionados

Esta integração está sendo expandida com templates de crew multi-agent — volte em breve.