Recipes

Herramienta Read-URL para agentes

Herramienta "lee esta URL" lista para usar en un loop de agente LLM

Dale a tu agente una única herramienta que convierta cualquier URL en Markdown limpio. El agente la llama cuando necesita investigar una página — Thunderbit se encarga de JS, anti-bot y limpieza de contenido, así el contexto del agente se mantiene denso en señal.

Definición de la herramienta (Python)

import httpx

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

def read_url(url: str) -> str:
    """Fetch a URL and return clean Markdown.

    Use for any web research task: docs, articles, search results, product pages.
    Returns the page as Markdown with metadata stripped.
    """
    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"]

Ejemplo con function-calling de OpenAI

tools = [{
    "type": "function",
    "function": {
        "name": "read_url",
        "description": "Fetch a URL and return clean Markdown for the agent to read.",
        "parameters": {
            "type": "object",
            "properties": {
                "url": {"type": "string", "description": "The URL to fetch"}
            },
            "required": ["url"],
        },
    },
}]

Cuando el modelo llame a read_url, despacha a la función de arriba y devuelve el resultado como un mensaje de tool.

Consejos

  • Mantén renderMode en basic para el agente — es un buen valor por defecto en costo / cobertura
  • Limita la longitud del Markdown devuelto (p. ej. 8k tokens) antes de pasarlo al modelo
  • Para investigación masiva, prefiere /batch/distill — ver Base de conocimiento RAG

Relacionado

Esta receta se está ampliando con variantes de LangChain / LlamaIndex / CrewAI — vuelve pronto.