Recipes

Outil Agent Read-URL

Outil "lire cette URL" prêt à brancher dans une boucle d'agent LLM

Donne à ton agent un outil unique qui transforme n'importe quelle URL en Markdown propre. L'agent l'appelle dès qu'il a besoin de consulter une page — Thunderbit gère le JS, l'anti-bot et le nettoyage du contenu, pour garder le contexte de l'agent dense en signal.

Définition de l'outil (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"]

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

Quand le modèle appelle read_url, route vers la fonction ci-dessus et renvoie le résultat sous forme de tool message.

Astuces

  • Garde renderMode à basic pour l'agent — c'est un bon compromis coût / couverture par défaut
  • Plafonne la longueur du Markdown renvoyé (par exemple 8k tokens) avant de le passer au modèle
  • Pour la recherche en masse, préfère /batch/distill — voir Base de connaissances RAG

Liens

Cette recette est en cours d'extension avec des variantes LangChain / LlamaIndex / CrewAI — repasse bientôt.