Recipes

Knowledge Base RAG

Costruisci un vector store da un sito di documentazione usando il batch distill

Trasforma qualsiasi sito di documentazione in una knowledge base RAG ricercabile. Invia gli URL in batch, fai polling fino al completamento (o usa i Webhook), poi indicizza il Markdown risultante nel tuo vector store.

Flusso

  1. Scopri gli URL da ingerire (sitemap, crawl o lista curata)
  2. Inviali in un singolo job /batch/distill
  3. Attendi il completamento (polling o Webhook)
  4. Embedda il markdown di ogni risultato nel tuo vector store

Implementazione

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"])

Suggerimenti

  • Usa include: ["metadata"] così ogni risultato porta con sé title / description per gli header dei chunk
  • Per oltre 100 URL, preferisci i Webhook al polling — vedi Webhooks
  • Rieseguire sugli stessi URL va bene; bypassa la cache con forceRefresh: true se il contenuto cambia spesso

Correlati

Questa ricetta è in fase di espansione con il wiring dei vector store (Pinecone / Weaviate / pgvector) — torna presto.