<!-- Canonical: https://lucioduran.com/es/projects/chunking-ablation-suite
Language: es
Content-SHA256: 00ec7a67c0ebd6d58a9cd1171170ad05585d4e4a0c31dd5b881bd067a02ccdb5
-->

[Proyectos](<https://lucioduran.com/es/projects>) / Chunking Ablation Suite

# Chunking Ablation Suite

Ablaciones de fragmentación fija, estructural y semántica con el mismo MiniLM. Mide evidencia completa recuperada y costo de indexación en código, tablas y referencias cruzadas.

Autor: [Lucio Durán](<https://lucioduran.com/es>) · Python 3.11.13 · Licencia: [MIT](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/LICENSE>)

Ficha publicada: 2026-10-21 · Ficha actualizada: 2026-10-21

[Repositorio](<https://github.com/lucioduran/chunking-ablation-suite>) · [Evidencia original](<https://raw.githubusercontent.com/lucioduran/chunking-ablation-suite/12193ba09bb1081a05d3ea7a043748089aa2330b/results/eval/report.json>) · [Release v0.1.0](<https://github.com/lucioduran/chunking-ablation-suite/releases/tag/v0.1.0>)

## Problema y utilidad para agentes

Encontrar el documento correcto sirve de poco si el fragmento pierde una condición, una celda o el destino de una referencia. Esta suite mide si el texto recuperado conserva toda la evidencia necesaria.

Permite elegir segmentación sobre un corpus concreto y revisar sus fallos. Las decisiones quedan respaldadas por offsets, fragmentos, vectores y rankings guardados.

## Arquitectura

1. **Corpus con evidencia localizada.** Dieciocho documentos originales de ficción incluyen código, tablas y referencias cruzadas. Las consultas declaran los spans requeridos y separan documentos de desarrollo y evaluación.
2. **Ocho configuraciones congeladas.** Compara ventanas fijas, bloques por estructura y límites semánticos de MiniLM. Varía método, presupuesto de palabras, overlap o umbral manteniendo el embedding y el retrieval top-3.
3. **Replay de la recuperación.** Reconstruye límites con embeddings de bloques guardados, rankings con vectores de fragmentos y consultas, cobertura de evidencia y costos de los índices.

- [Diseño y metodología](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/design.md>)
- [Contrato de datos](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/contract.md>)

## Qué demuestra

- Diseño de ablaciones con una variable por contraste y resultados por tipo de documento.
- Separación entre recuperar un documento y recuperar evidencia completa.
- Publicación de resultados nulos y fallos de segmentación con datos inspeccionables.

## Resultados publicados

Medición local con MiniLM en Intel Xeon W-3223 y dos hilos de CPU. Hay 18 consultas de desarrollo y 36 de evaluación; todos los índices contienen los mismos 18 documentos.

Complete@3 exige que la unión de los tres primeros fragmentos cubra todos los spans requeridos. No mide respuestas generadas. Los tamaños 64 y 96 son presupuestos de palabras, no tokens del modelo.

### Evidencia completa en evaluación

| Configuración | Complete@3 | Fragmentos del índice |
| --- | --- | --- |
| fixed-64 | 21 / 36 | 78 |
| fixed-96 | 31 / 36 | 54 |
| structure-64 | 12 / 36 | 96 |
| structure-96 | 33 / 36 | 84 |
| semantic-64 | 12 / 36 | 96 |
| semantic-96 | 12 / 36 | 68 |
| fixed-64-overlap16 | 32 / 36 | 90 |
| semantic-64-threshold07 | 12 / 36 | 96 |

Structure-96 recuperó evidencia completa en 33 de 36 consultas. Las configuraciones semánticas lo hicieron en 12. A 64 palabras, cambiar el umbral no cambia ningún límite porque ningún par de bloques cabe en el presupuesto; esa ablación no informa sensibilidad al umbral.

El análisis desglosa recall de spans, completitud, bytes de texto, payload vectorial y tiempo de construcción por código, tablas y referencias cruzadas. Los tiempos son observaciones secuenciales de un único equipo. [Resultados y análisis](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/results.md>).

## Reproducir

El replay funciona con Python 3.11 y biblioteca estándar. Repetir la inferencia requiere el modelo MiniLM fijado y los paquetes del entorno publicado.

Los comandos usan shell POSIX. Reemplazá MODEL\_PATH por la ruta que imprime download y elegí directorios nuevos. Ejecutá desarrollo antes de evaluación y evitá otras tareas intensivas durante la medición.

### Revisar la evidencia guardada

```
git clone https://github.com/lucioduran/chunking-ablation-suite.git
cd chunking-ablation-suite
git checkout 12193ba09bb1081a05d3ea7a043748089aa2330b
python -m chunking_suite verify --report results/dev/report.json
python -m chunking_suite verify --report results/eval/report.json
```

### Repetir la medición local

```
python -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-local.lock
python -m chunking_suite download
# Replace MODEL_PATH with the snapshot path printed by download.
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 OMP_NUM_THREADS=2 MKL_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 python -m chunking_suite run --model-path MODEL_PATH --split dev --output build/reproduced-dev
HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 OMP_NUM_THREADS=2 MKL_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 python -m chunking_suite run --model-path MODEL_PATH --split eval --output build/reproduced-eval
python -m chunking_suite verify --report build/reproduced-eval/report.json
```

## Alcance y límites

- Corpus sintético conocido por el autor, con plantillas compartidas entre particiones y sin revisión humana independiente.
- La preservación de bloques atómicos difiere entre métodos. Compararlos no aísla por sí solo el efecto causal de los embeddings semánticos.
- No genera respuestas, sigue enlaces ni evalúa preguntas sin respuesta. El payload no representa memoria total de una base vectorial.

- [Arquitectura RAG: fragmentación y evaluación](<https://lucioduran.com/es/blog/rag-pipeline-architecture-chunking-reranking-evaluation>)

## Fuentes y revisión

Los valores de esta ficha provienen del informe enlazado. No son una medición en vivo. El informe conserva la revisión ejecutada; la revisión consultada incluye la publicación posterior de ese informe.

- Revisión consultada: [` 12193ba09bb1081a05d3ea7a043748089aa2330b `](<https://github.com/lucioduran/chunking-ablation-suite/commit/12193ba09bb1081a05d3ea7a043748089aa2330b>)
- Revisión registrada por el experimento: [` 5e1f27c2aba7624f181e4b1a172873b5180b8f53 `](<https://github.com/lucioduran/chunking-ablation-suite/commit/5e1f27c2aba7624f181e4b1a172873b5180b8f53>)
- Fecha del informe (UTC): 2026-10-21T21:57:38.943953+00:00
- Release publicada: [v0.1.0](<https://github.com/lucioduran/chunking-ablation-suite/releases/tag/v0.1.0>) · 2026-10-21T22:01:14Z

- [README y uso](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/README.md>)
- [Evidencia original](<https://raw.githubusercontent.com/lucioduran/chunking-ablation-suite/12193ba09bb1081a05d3ea7a043748089aa2330b/results/eval/report.json>)
- [Evidencia de desarrollo](<https://raw.githubusercontent.com/lucioduran/chunking-ablation-suite/12193ba09bb1081a05d3ea7a043748089aa2330b/results/dev/report.json>)
- [Resumen de evaluación JSON](<https://raw.githubusercontent.com/lucioduran/chunking-ablation-suite/12193ba09bb1081a05d3ea7a043748089aa2330b/results/eval/summary.json>)
- [Resultados y análisis](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/results.md>)
- [Diseño y metodología](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/design.md>)
- [Contrato de datos](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/contract.md>)
- [Modelos, revisiones y licencias](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/docs/model-notices.md>)
- [Dependencias del entorno medido](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/requirements-local.lock>)
- [Licencia MIT](<https://github.com/lucioduran/chunking-ablation-suite/blob/12193ba09bb1081a05d3ea7a043748089aa2330b/LICENSE>)
