Saltearse al contenido

Semantic Text Splitter

Semantic Text Splitter compara el significado de frases seguidas y corta donde cambia el tema. Así cada trozo trata de una sola cosa, aunque los trozos salgan de tamaños distintos. Necesita un componente de embeddings para comparar las frases.

Los documentos largos se cortan en trozos antes de guardarlos en una base vectorial: así cada búsqueda devuelve solo el fragmento que responde, y no el documento entero.

Cuándo usarlo

  • Tus documentos mezclan temas sin una estructura clara de apartados.
  • Quieres trozos que traten de un solo asunto.

Configuración

CampoQué hace
Data Inputs (obligatorio)Los textos que se cortan.
Embeddings (obligatorio)El componente de embeddings que compara las frases.
Breakpoint Threshold TypeCómo se decide dónde cortar: percentile (por defecto), standard_deviation o interquartile.
Breakpoint Threshold AmountCuánto debe cambiar el significado para cortar (con percentile, de 0 a 100, por ejemplo 95). Solo se usa cuando Number Of Chunks es 0. Por defecto, 0,5.
Number Of ChunksEn cuántos trozos se intenta dividir el texto. Ponlo a 0 para que Breakpoint Threshold Amount decida dónde cortar. Por defecto, 5.

Opciones avanzadas

CampoQué hace
Sentence Split RegexPatrón para separar frases, si tus textos lo necesitan. Opcional.
Buffer SizeCuántas frases vecinas se tienen en cuenta al comparar. Por defecto, 0.

Resultado

La salida Data trae los trozos, cada uno con los datos del documento del que sale. Conéctala a Ingest Data de una base vectorial, como Chroma DB.

Ejemplo

Una consultora tiene actas de reuniones donde se tratan varios asuntos seguidos.

  1. Conecta las actas a Data Inputs y un componente de embeddings a Embeddings.
  2. Conecta Data a una base vectorial para buscar por asunto.

Buenas prácticas

  • Cortar así hace una consulta al servicio de embeddings por frase: tiene coste en textos muy largos.

Componentes relacionados