Módulos
Armazenamento: conhecimento e dados
Contextos de conhecimento com busca híbrida e contextos de dados com tabelas tipadas e SQL somente leitura.
Nesta página
O módulo Armazenamento guarda o que a plataforma usa para responder e automatizar: documentos indexados para busca e tabelas estruturadas para consulta. Tudo fica nos bancos e no armazenamento da sua instalação.
Tipos de contexto
| Tipo | O que guarda |
|---|---|
| Conhecimento | Documentos lidos, divididos em trechos, vetorizados e indexados para busca e chat. |
| Dados | Tabelas definidas por você, preenchidas por arquivo ou manualmente e consultadas por SQL. Os arquivos guardados nele não são indexados. |
| Pessoal | A área fixa de cada pessoa, com os arquivos anexados nas próprias conversas. Só ela a vê. |
Os contextos são organizados por workspace e têm um dono, que pode compartilhá-los com outras pessoas e transferir a propriedade.
Contextos de conhecimento
Envio de arquivos
Envie arquivos ou pastas inteiras, de até 100 MB por arquivo; cada arquivo mantém o caminho relativo da pasta. Os arquivos podem ser movidos ou renomeados, e o original pode ser baixado a qualquer momento.
Formatos lidos
- Texto: txt, md, csv, tsv, json, xml, html e log.
- Documentos: PDF digital, docx, xlsx e pptx.
- Imagens: descritas por um modelo de visão local, para que se tornem pesquisáveis.
- Áudio e vídeo: transcritos por um modelo de transcrição local.
PDFs digitalizados sem camada de texto e os formatos legados do Office (.doc, .xls, .ppt) não têm o texto extraído.
Ingestão
A ingestão roda em segundo plano, no serviço worker:
envio
-> original no armazenamento de objetos (MinIO ou S3)
-> tarefa na fila do PostgreSQL
-> extração do texto
-> divisão em trechos pela estrutura do documento
-> embeddings com o modelo do contexto
-> índice lexical no PostgreSQL e vetores no Milvus
-> categoria e tags sugeridas pelo modelo de chat
-> documento indexadoO status de indexação de cada documento é indexed (busca semântica e textual), lexical_only (apenas busca textual) ou index_failed.
Busca híbrida
A busca combina vetores no Milvus e busca textual no PostgreSQL, funde os dois resultados por Reciprocal Rank Fusion e reordena os melhores candidatos com um modelo de rerank. Os trechos recuperados aparecem com pontuação no chat e no rastro dos fluxos.
Modelo de embeddings
Cada contexto fixa o próprio modelo de embeddings. Trocar o modelo gera de novo os embeddings e reindexa todos os documentos do contexto. Os embeddings e o rerank usam modelos servidos localmente, com API compatível com OpenAI.
Inspetor de vetores
O inspetor executa a busca híbrida em todos os contextos, em um contexto ou em um arquivo e mostra, para cada trecho, o texto, os termos lexicais, as dimensões e a norma do vetor.
Classificação
Cada documento pode receber uma classificação: public, internal, confidential ou restricted. A classificação é um rótulo de organização; o controle de acesso é feito por workspace, por compartilhamento e por módulo.
Contextos de dados
Tabelas tipadas
As tabelas têm colunas dos tipos texto, inteiro, decimal, booleano, data, data e hora e JSON, com chave primária, colunas pesquisáveis e um rótulo de sensibilidade por coluna (public, internal, confidential ou personal).
Carga de dados
- Arquivos CSV, TSV ou XLSX de até 100 MB, em modo de acréscimo ou de substituição. Na substituição, a carga é feita em uma tabela temporária e o conteúdo só é trocado ao final, sem deixar a tabela vazia se a carga falhar.
- Inclusão manual de linhas, até 5.000 por operação.
- Cada carga mostra as linhas rejeitadas e o motivo de cada uma. As rejeições também entram no registro de irregularidades da governança.
Consultas SQL
O SQL dos usuários roda em um papel de banco separado, somente leitura, isolado do banco da aplicação: uma instrução SELECT por vez, com tempo máximo de execução e até 1.000 linhas por resultado.
O SQL livre vem desligado em cada contexto de dados e é ativado pela opção Permitir SQL livre. Com a opção desligada, nem a consulta manual nem o chat consultam o contexto. Os blocos de fluxo funcionam com ela desligada, porque o SQL deles é validado na publicação do fluxo.
Uso nos fluxos
- Consulta de dados: lê linhas com SQL de uma tabela.
- Gravar dados: grava linhas, por exemplo a saída estruturada de um bloco de IA.
- Carregar arquivos: carrega planilhas ou CSVs de uma pasta do Armazenamento em uma tabela.
Veja Fluxos e agendamentos.
Boas práticas
- Separe contextos por finalidade e por público: o compartilhamento é feito por contexto.
- Mantenha o mesmo modelo de embeddings enquanto o contexto estiver em uso; a troca reindexa tudo.
- Mantenha o SQL livre desligado, como vem por padrão, nos contextos de dados que devem ser acessados apenas por fluxos publicados.
