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:

Texto
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 indexado

O 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.

Documentaçãov3.7