Recipes

Agent Read-URL Tool

Drop-in "URL lesen"-Tool für eine LLM-Agent-Schleife

Gib deinem Agent ein einziges Tool, das jede URL in sauberes Markdown verwandelt. Der Agent ruft es auf, sobald er eine Seite recherchieren muss — Thunderbit kümmert sich um JS, Anti-Bot und Content-Cleaning, sodass der Kontext des Agents signaldicht bleibt.

Tool-Definition (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"]

OpenAI Function-Calling-Beispiel

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"],
        },
    },
}]

Wenn das Modell read_url aufruft, leite an die obige Funktion weiter und reiche das Ergebnis als Tool-Message zurück.

Tipps

  • renderMode für den Agent auf basic lassen — guter Default für Kosten / Abdeckung
  • Länge des zurückgegebenen Markdown begrenzen (z. B. 8k Tokens), bevor es ans Modell geht
  • Für umfangreiche Recherche /batch/distill bevorzugen — siehe RAG-Wissensdatenbank

Verwandt

Dieses Rezept wird um LangChain- / LlamaIndex- / CrewAI-Varianten erweitert — bald wieder vorbeischauen.