Recipes

Base de Conhecimento RAG

Construa um vector store a partir de um site de documentação usando batch distill

Transforme qualquer site de documentação em uma base de conhecimento RAG pesquisável. Envie URLs em lote, faça polling até concluir (ou use Webhooks), depois indexe o Markdown resultante no seu vector store.

Fluxo

  1. Descubra URLs para ingerir (sitemap, crawl ou lista curada)
  2. Envie todas em uma única tarefa /batch/distill
  3. Aguarde a conclusão (polling ou webhook)
  4. Faça embedding do markdown de cada resultado no seu vector store

Implementação

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

Dicas

  • Use include: ["metadata"] para que cada resultado traga title / description nos cabeçalhos dos chunks
  • Para mais de 100 URLs, prefira Webhooks ao polling — veja Webhooks
  • Reexecutar nas mesmas URLs é tranquilo; ignore o cache com forceRefresh: true se o conteúdo mudar com frequência

Relacionados

Esta receita está sendo expandida com integração de vector stores (Pinecone / Weaviate / pgvector) — volte em breve.