Integraciones

CrewAI

Dale a los agentes de CrewAI una herramienta de investigación web impulsada por Thunderbit

Los agentes de CrewAI necesitan contenido web fresco y limpio como entrada. Envuelve /distill como un Tool de CrewAI para que cualquier Agent del crew pueda leer URLs bajo demanda.

Instalación

pip install crewai httpx

Tool personalizada

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 un 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()

Consejos

  • Para investigación multi-fuente, expón /batch/distill como una segunda Tool (read_urls) para que el Agent pueda paralelizar
  • Limita el Markdown devuelto a ~8k tokens antes de pasárselo al Agent — evita el bloat de contexto

Relacionado

Esta integración se está ampliando con plantillas multi-agente para crews — vuelve pronto.