Skip to content

AI Search — Ponto Neural do Hub CSV

Ponto Neural

O Hub CSV agora possui uma API de busca semântica que indexa automaticamente todo o conteúdo do repositório. Qualquer agente, automação ou SaaS pode consultar o arsenal completo do Hub em linguagem natural.

Escopo desta busca

AI Search indexa conteúdo estático do repositório do Hub. Não é o catálogo privado da Central de Documentos, não substitui seu RBAC/ACL e não deve receber originais do R2 csv-documents-private. Em 16/09/2026, a pesquisa do Panta v2 documental foi validada em produção pela Central/Extensio nos cinco tenants, com isolamento e políticas preservados. Esta versão do Hub habilita o campo de busca após essa validação; a sessão humana no navegador permanece não aferida. A busca textual documental não altera o escopo deste AI Search.

Para uso cotidiano, consulte o manual da Central e o manual do Panta v2. Eles explicam o papel de cada aplicação sem confundir pesquisa de páginas com acesso a documentos privados.

O que é

O Cloudflare AI Search transforma o conteúdo estático do Hub CSV (markdown, HTML, JSON, CSV, PDF) em uma base de conhecimento vetorial consultável via API REST. A cada push no repositório, o conteúdo é sincronizado automaticamente para o bucket R2 e re-indexado.

Não é uma interface de chat. É uma API robusta projetada para ser o ponto de conexão entre o Hub e o restante do ecossistema digital: agentes, automações, SaaS e, em especial, o Extensio.

Arquitetura

Hub CSV (GitHub) → GitHub Actions → R2 (hub-csv-knowledge) → AI Search (hub-csv) → API REST

                                                              Extensio / LLMs / Make / Agentes
ComponenteRecursoDetalhes
RepositórioGitHub grupocsv/hubFonte primária de todo o conteúdo
ArmazenamentoR2 hub-csv-knowledgeFonte externa sincronizada; contagens atuais devem ser consultadas em GET /stats
Instância AI Searchhub-csvO gate de publicação exige zero erro e zero item desatualizado após cada job
Embeddingqwen3-embedding-0.6b2048 tokens por chunk, 10% overlap
AI GatewaydefaultValor retornado pela API da instância em 1º de setembro de 2026
Índice vetorialGerenciado pelo AI Search1.024 dimensões, conforme GET /stats

Endpoints

A API AutoRAG anterior não é mais recomendada pela Cloudflare. Os consumidores novos devem usar a API ai-search/instances com mensagens no formato compatível com a API da OpenAI.

Retorna os trechos mais relevantes, sem geração de texto. É o endpoint preferencial para agentes que fazem a própria síntese.

http
POST /client/v4/accounts/da0c29123f448f3c3892f784cd9f7cac/ai-search/instances/hub-csv/search
Host: api.cloudflare.com
Authorization: Bearer SEU_AI_SEARCH_TOKEN
Content-Type: application/json

Body:

json
{
  "messages": [
    {
      "role": "user",
      "content": "Qual o mandato da AxiaCare®?"
    }
  ]
}

Resposta: JSON com os trechos recuperados, scores e metadados dos itens de origem.

Endpoint 2 — Chat completions

Recupera o contexto e gera uma resposta em uma única chamada.

http
POST /client/v4/accounts/da0c29123f448f3c3892f784cd9f7cac/ai-search/instances/hub-csv/chat/completions
Host: api.cloudflare.com
Authorization: Bearer SEU_AI_SEARCH_TOKEN
Content-Type: application/json

Body:

json
{
  "messages": [
    {
      "role": "system",
      "content": "Responda em Português do Brasil e cite as fontes recuperadas."
    },
    {
      "role": "user",
      "content": "O que é o Signal™?"
    }
  ]
}

Parâmetros principais

ParâmetroTipoDescrição
messagesarrayMensagens de sistema e usuário em formato compatível com a API da OpenAI
streambooleanStreaming da resposta por SSE no endpoint de chat
ai_search_optionsobjectOpções específicas de recuperação quando suportadas pelo endpoint

System Prompt Recomendado

Ao usar chat/completions, inclua este texto como mensagem de sistema para contextualizar as respostas:

text
Você é o assistente do Hub CSV, a base de conhecimento pessoal
de Guilherme Thomé, médico executivo e fundador do Grupo CSV.
O Hub contém: mandatos institucionais (AxiaCare, Thera, MedValor, ICDS),
boletins estratégicos (Signal, Compass), dashboards operacionais
(Unimed GV, Unihealth), calculadoras clínicas, identidade visual
e documentação técnica. Responda sempre em português do Brasil,
com precisão e citando as fontes quando disponíveis.

Sincronização Automática

O fluxo de atualização é totalmente automatizado:

Push em main → deploy.yml → GitHub Pages → sync-r2-ai-search.yml → R2 → POST /jobs → polling do job → GET /stats

O workflow sync-r2-ai-search.yml roda automaticamente após cada deploy bem-sucedido. Também pode ser disparado manualmente via workflow_dispatch. Depois do rclone sync, o workflow cria um job real com POST /ai-search/instances/hub-csv/jobs, consulta GET /jobs/{JOB_ID} até ended_at e, como a finalização dos arquivos pode continuar após o encerramento formal do job, consulta GET /stats até queued=0 e running=0. O gate falha diante de end_reason, timeout, erro HTTP, error>0 ou outdated>0.

Arquivos sincronizados: .md, .html, .json, .csv, .txt, .pdf (até 4 MB cada).

Excluídos: .git/, node_modules/, cache do VitePress, package-lock.json.

Pontos de Conexão

O AI Search foi projetado para ser consumido por múltiplos canais:

CanalComo conectar
LLMs (Manus, Claude, ChatGPT)Chamar a API REST diretamente como tool/function
Make (automações)Módulo HTTP com POST para o endpoint
AgentesFunction calling apontando para /ai-search
SaaS diversosWebhook ou integração HTTP
Extensio (segundo cérebro)Ponto neural dedicado — lê Hub via API
MCP (Model Context Protocol)Endpoint /mcp quando disponível

Extensio

O Extensio é o segundo cérebro digital que concentra diversos pontos neurais. O AI Search do Hub CSV é um desses pontos. O Extensio já lê e-mails, WhatsApp, Notion e GitHub. Com o AI Search, ele passa a ter acesso semântico a todo o conteúdo do Hub: mandatos, boletins, dashboards, identidade visual e documentação técnica.

Exemplo de Integração (Python)

python
import requests

ACCOUNT_ID = "da0c29123f448f3c3892f784cd9f7cac"
TOKEN = "SEU_AI_SEARCH_TOKEN"

def search_hub(query: str) -> dict:
    url = (
        "https://api.cloudflare.com/client/v4/accounts/"
        f"{ACCOUNT_ID}/ai-search/instances/hub-csv/search"
    )
    headers = {
        "Authorization": f"Bearer {TOKEN}",
        "Content-Type": "application/json",
    }
    body = {"messages": [{"role": "user", "content": query}]}
    response = requests.post(url, json=body, headers=headers, timeout=30)
    response.raise_for_status()
    return response.json()

resultado = search_hub("Quais são os portais do Hub CSV?")
print(resultado)

Exemplo de Integração (cURL)

bash
curl --request POST \
  "https://api.cloudflare.com/client/v4/accounts/da0c29123f448f3c3892f784cd9f7cac/ai-search/instances/hub-csv/search" \
  --header "Authorization: Bearer SEU_AI_SEARCH_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"messages":[{"role":"user","content":"O que é o Signal™?"}]}'

Exemplo de Integração (Make)

Para conectar no Make, use o módulo HTTP > Make a request:

  • URL: https://api.cloudflare.com/client/v4/accounts/da0c29123f448f3c3892f784cd9f7cac/ai-search/instances/hub-csv/search
  • Method: POST
  • Headers: Authorization: Bearer SEU_TOKEN e Content-Type: application/json
  • Body type: Raw (JSON)
  • Body: {"messages":[{"role":"user","content":"SUA_PERGUNTA"}]}

Infraestrutura e Credenciais

RecursoValor
Account IDda0c29123f448f3c3892f784cd9f7cac
Instânciahub-csv
Bucket R2hub-csv-knowledge
AI Gatewaydefault
Token APIArmazenado no Arsenal Técnico e em GitHub Secrets
Endpoint basehttps://api.cloudflare.com/client/v4/accounts/.../ai-search/instances/hub-csv/

Testes Realizados

QueryQualidadeObservação
Marcos temporais T0, Tp, T1, Td, T2, T3 e T4 no processo de altaExcelenteRecuperou a edição 008 e o PDF v2 após o job de 1º de setembro de 2026
Fototerapia neonatal, idade gestacional e via de partoExcelenteRecuperou a edição histórica 003 e seus artefatos atuais
Metas quantitativas, ACO e orçamento globalExcelenteRecuperou a edição histórica 001 e seus artefatos atuais
NeurodesenvolvimentoRuimTermo ambíguo, sem contexto suficiente

Ciclo Virtuoso

O design do sistema cria um ciclo de retroalimentação positiva:

  1. Quanto mais conteúdo é adicionado ao Hub, mais rica fica a base vetorial.
  2. Quanto mais rica a base, mais útil é a API para os agentes e automações.
  3. Quanto mais útil a API, maior o incentivo para alimentar o Hub.

O Hub deixa de ser apenas um repositório de páginas e se torna o núcleo de conhecimento operacional do Grupo CSV.