O SmartSplit recebe um texto longo e devolve blocos semanticamente coerentes rotulados por IA. Em vez de cortar por contagem de caracteres ou número fixo de linhas, o modelo lê o conteúdo e agrupa linhas que pertencem à mesma ideia, tópico ou capítulo. Cada bloco volta com um label curto descrevendo o que ele cobre.

No modo persistChunks: true, cada bloco também é gravado em public.chunks com embedding, pronto para ser consumido por buscas RAG.

O particionamento cobre pelo menos 90% do texto original. Nenhuma parte relevante é descartada.

O que faz

Entrada:

Chapter 1 introduces the protagonist.
She walks into a room...

Chapter 2 shifts to the antagonist.
He plans his next move...

Saída:

[
  { "text": "Chapter 1 introduces the protagonist.\nShe walks into a room...", "label": "Chapter 1 – Protagonist introduction" },
  { "text": "Chapter 2 shifts to the antagonist.\nHe plans his next move...", "label": "Chapter 2 – Antagonist plan" }
]

Quando usar

SituaçãoFerramenta
Manter só o trecho relevante de um textoSmartCut
Processar um documento inteiro em partesSmartSplit
Conteúdo longo demais para uma única chamada de IASmartSplit
Precisar que todo o conteúdo seja coberto, sem perdasSmartSplit
Transformar PDF ou imagem em texto antes de particionarSmartSplit convertToText

Endpoints

  • POST /smartSplit/partition — particiona em blocos rotulados e, opcionalmente, grava cada bloco como chunk pesquisável em um dataset (com criação automática do dataset quando necessário).
  • POST /smartSplit/split — versão enxuta do particionamento: devolve os blocos sem tocar em dataset ou chunks.
  • POST /smartSplit/convertToText — converte PDF ou imagem em texto bruto; serve como etapa 1 de um pipeline antes de partition/split.

Você pode testar todas as rotas em nossa documentação interativa.