Recipes

Docs zu llm.txt

Verwandle jede Dokumentations-Site in eine einzige LLM-fertige Markdown-Datei

Destilliere eine ganze Docs-Site in eine llm.txt, die du in jeden LLM-Kontext, jede RAG-Pipeline oder ein lokales Modell einfügen kannst. Praktisch für unbekannte Bibliotheken, interne Wikis und Produktdokumentation.

Ablauf

  1. Indexseite mit include: ["links"] distillieren, um alle verlinkten URLs zu finden
  2. Linkliste nach URL-Muster filtern (z. B. /docs/, /guide/)
  3. Gefilterte URLs an /batch/distill übergeben
  4. Resultierendes Markdown in einer einzigen Datei zusammenführen

Implementierung

import httpx, re

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

# 1. Pull the index page + outbound links
index = httpx.post(f"{API}/distill",
                   headers=H,
                   json={"url": "https://docs.example.com",
                         "include": ["links"]}).json()["data"]

# 2. Filter to docs paths
doc_urls = [u for u in index["links"] if re.search(r"/docs/", u)]

# 3. Batch distill
job = httpx.post(f"{API}/batch/distill",
                 headers=H,
                 json={"urls": doc_urls}).json()["data"]

# 4. Poll, concatenate
# (poll loop omitted; see RAG Knowledge Base recipe)

with open("llm.txt", "w") as f:
    for r in job["results"]:
        if r["status"] == "SUCCEEDED":
            f.write(f"# {r['url']}\n\n{r['markdown']}\n\n---\n\n")

Tipps

  • Größenlimit setzen — llm.txt über ~1 MB sprengt Token-Budgets
  • Nach URL oder Sektion sortieren für stabile Diffs zwischen Läufen
  • Mit einem CI-Job kombinieren, damit llm.txt aktuell bleibt, wenn sich die Quell-Docs ändern

Verwandt

Dieses Rezept wird um Chunking- und Deduplizierungsstrategien erweitert — bald wieder vorbeischauen.