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
- Indexseite mit
include: ["links"]distillieren, um alle verlinkten URLs zu finden - Linkliste nach URL-Muster filtern (z. B.
/docs/,/guide/) - Gefilterte URLs an
/batch/distillübergeben - 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.txtaktuell bleibt, wenn sich die Quell-Docs ändern
Verwandt
- RAG-Wissensdatenbank — gleiche Daten, Vector Store statt Flat File
- Distill vs Extract
Dieses Rezept wird um Chunking- und Deduplizierungsstrategien erweitert — bald wieder vorbeischauen.