Skip to content

Plataforma de Dados

A plataforma de dados organiza o trabalho em 7 etapas sequenciais — da coleta ao DOI. Cada etapa tem ferramentas específicas e roda sobre a infraestrutura CPPS.

Princípio central: dados fluem em camadas (bronze → silver → gold). A GPU platform é consumida como serviço (API) — nenhum modelo roda dentro da data platform.

Jornada do dado

Ver jornada interativa → Catálogo visual


Etapa 1 — Coleta

De onde vêm os dados: web, RSS, APIs, PDFs com URL direta, upload manual.

FerramentaUsoQuando usar
ScrapyCrawlers para diários oficiais, portais governamentais, notíciasFonte com HTML previsível, paginação
PlaywrightCrawling de páginas com JS pesado, SPAs, loginsFonte que exige JavaScript para renderizar
feedparser + FreshRSSMonitoramento RSS incrementalJornais e portais com RSS — só baixa o novo
wget / curlAPIs REST com JSON/XML, PDFs com URL diretaFontes simples com URL estável
ArchiveBoxSnapshots WARC + PDF + screenshot por URLPreservação de evidências web

Combinação típica para bases de notícias: FreshRSS monitora feeds → feedparser extrai links → Scrapy coleta HTML → Playwright para fontes sem RSS → ArchiveBox preserva snapshots.

Infra: K3s workload. Airflow DAG agenda e orquestra as coletas.


Etapa 2 — Extração

Texto, estrutura e metadados extraídos do documento bruto.

FerramentaUsoObservação
DoclingOCR deep learning + parsing estruturado de PDFs e imagensPrimário — qualidade superior. Via GPU platform (API)
Apache TikaExtração de 1000+ formatos (DOCX, ODT, planilhas, HTML)Fallback para formatos exóticos
GrobidParser de artigos científicos — autores, afiliações, referênciasSó para artigos acadêmicos
CamelotExtração de tabelas de PDFs com camada de textoComplementa Docling para dados estruturados
Whisper + pyannoteTranscrição de áudio/vídeo com diarização de falantesVia GPU platform (API)

Infra: K3s. Docling e Whisper consumidos via API da GPU platform — não rodam na data platform.


Etapa 3 — Lakehouse

Bronze → Silver → Gold: dado versionado, consultável via SQL, com rastreabilidade.

FerramentaPapel
Apache AirflowOrquestração de todos os pipelines — DAGs de ingestão, enrichment, sync gold→InvenioRDM
Apache HudiFormato lakehouse com upsert, time-travel e compaction automática sobre S3
SeaweedFS (S3)Object storage S3-compatible — backend do Hudi e arquivos originais. Já deployado.
TrinoQuery engine federada — SQL sobre Hudi + PostgreSQL
PostgreSQLMetadados do InvenioRDM, Airflow, configurações. Já deployado.
DVCVersionamento de datasets de pesquisa no Git — rastreabilidade de análises

Camadas do lake:

CamadaConteúdo
BronzeDocumento original + metadados crus do crawler
SilverTexto extraído + NER + embeddings + resumo + keywords
GoldDados curados e validados → sync para InvenioRDM

Infra: K3s. LINSTOR para storage dos volumes PostgreSQL. SeaweedFS já em produção no cluster.


Etapa 4 — Enriquecimento

NER, embeddings semânticos, grafo de entidades, resumo automático.

Airflow DAG chama serviços da GPU platform via API:

Documento (silver)
├── vLLM → NER (pessoas, organizações, locais, datas, leis)
│ → entidades extraídas → Neo4j (knowledge graph)
├── vLLM → resumo, classificação temática, keywords
├── BGE-M3 → embeddings → Qdrant (busca semântica)
└── LightRAG → extrai entidades + relações → Neo4j
→ community detection → summaries hierárquicos
FerramentaPapel
vLLMMotor de NER, resumo, classificação — GPU platform via API
spaCyNER local complementar (entidades simples, baixa latência)
BGE-M3Embeddings densos+esparsos — GPU platform via API → Qdrant
QdrantBanco vetorial — armazena e serve embeddings para busca semântica
Neo4jKnowledge graph — pessoas, organizações, documentos e relações
LightRAGGraphRAG — extrai grafo via vLLM, detecta comunidades

Princípio: nenhum modelo roda dentro da data platform. Tudo via API da GPU platform.


Etapa 5 — Busca / Portal

Pesquisador descobre, navega e seleciona o corpus de interesse.

InvenioRDM aqui = portal de busca. Pesquisador encontra documentos por palavras-chave, filtros, ou similaridade semântica.

FerramentaTipo de buscaQuando usar
InvenioRDM + OpenSearchFull-text + facetadaPalavras exatas, filtros por tipo/data/autor
QdrantSemântica (embeddings)Busca por significado, sem as palavras exatas
Datashare (ICIJ)InvestigativaExplorar corpus grande, batch search por lista de nomes
Open WebUIConversacional (RAG)Perguntas em linguagem natural sobre o corpus

Etapa 6 — Análise

Pesquisador trabalha sobre o que encontrou.

FerramentaPara quemO que faz
QualCoderPesquisadores qualitativosCAQDAS desktop — codificação de texto, imagem, áudio, vídeo
Label StudioEquipes colaborativasAnotação web com pré-anotação via vLLM
CATMAHumanidades digitaisAnotação hermenêutica, TEI-XML, KWIC
JupyterHubPesquisadores que programamNotebooks Python/R com acesso a Trino, Qdrant, Neo4j
SupersetPesquisadores, gestoresBI — dashboards e queries visuais via Trino
MarimoAnálise mistaNotebooks reativos — SQL + Python, quali-quanti

Etapa 7 — Publicação

Dado curado do gold layer recebe DOI, metadados FAIR e acesso controlado.

InvenioRDM aqui = destino de publicação. Papel distinto da etapa 5: o mesmo sistema serve como portal de descoberta para pesquisadores e como repositório institucional de publicação.

FerramentaPapel
InvenioRDMRepositório FAIR — DOI, versionamento, comunidades, acesso controlado
ZoteroGestão bibliográfica — integração com QualCoder para literature review
OJSPublicação de periódicos científicos

Fases de implementação

Cada fase funciona independente das seguintes.

FaseFocoEstado
0FundaçãoSeaweedFS S3 ✅ · PostgreSQL ✅ · Airflow ✅ · Superset 🚧
1Ingestão básicaScrapy + Playwright · feedparser · ArchiveBox
2LakehouseApache Hudi · Trino
3RepositórioInvenioRDM + OpenSearch
4Busca semânticaQdrant + BGE-M3
5CAQDASQualCoder + Label Studio + CATMA
6ConhecimentoNeo4j + spaCy + LightRAG
7AplicaçõesJupyterHub · Datashare · Open WebUI · Zotero
8IA avançadaAgentic RAG completo