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
- Scopri gli URL da ingerire (sitemap, crawl o lista curata)
- Inviali in un singolo job
/batch/distill - Attendi il completamento (polling o Webhook)
- Embedda il
markdowndi 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: truese il contenuto cambia spesso
Correlati
Questa ricetta è in fase di espansione con il wiring dei vector store (Pinecone / Weaviate / pgvector) — torna presto.