Recipes
RAG-kennisbank
Bouw een vector store vanuit een documentatiesite met behulp van batch distill
Verander elke documentatiesite in een doorzoekbare RAG-kennisbank. Dien URLs in batch in, poll tot het klaar is (of gebruik webhooks) en indexeer de resulterende Markdown vervolgens in je vector store.
Flow
- Ontdek URLs om te ingesten (sitemap, crawl of samengestelde lijst)
- Dien ze in een enkele
/batch/distill-taak in - Wacht op voltooiing (poll of Webhook)
- Embed de
markdownvan elk resultaat in je vector store
Implementatie
import httpx, time
API = "https://openapi.thunderbit.com/openapi/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}
urls = [f"https://docs.example.com/page-{i}" for i in range(50)]
job = httpx.post(f"{API}/batch/distill",
headers=H,
json={"urls": urls, "include": ["metadata"]}).json()
batch_id = job["data"]["id"]
while True:
status = httpx.get(f"{API}/batch/distill/{batch_id}", headers=H).json()["data"]
if status["status"] in ("COMPLETED", "FAILED", "CANCELLED"):
break
time.sleep(10)
for r in status["results"]:
if r["status"] == "SUCCEEDED":
embed_and_store(r["url"], r["markdown"])Tips
- Gebruik
include: ["metadata"]zodat elk resultaat title / description bij zich draagt voor chunk-headers - Voor 100+ URLs heeft Webhook de voorkeur boven polling — zie Webhooks
- Opnieuw uitvoeren op dezelfde URLs is prima; omzeil de cache met
forceRefresh: trueals de inhoud vaak verandert
Gerelateerd
Dit recept wordt uitgebreid met vector store-bedrading (Pinecone / Weaviate / pgvector) — kom binnenkort terug.