---
layout: default
---

# Text Splitters

<v-clicks>

Los documentos largos deben dividirse en **chunks** antes de crear embeddings

### RecursiveCharacterTextSplitter (recomendado)

```typescript
import { RecursiveCharacterTextSplitter } from "@langchain/textsplitters";

const splitter = new RecursiveCharacterTextSplitter({
  chunkSize: 1000,     // máximo de caracteres por chunk
  chunkOverlap: 200,   // solapamiento entre chunks
});
const chunks = await splitter.splitDocuments(docs);
```

Intenta mantener unidades de texto lógicas (párrafos → frases → palabras)

### ¿Por qué dividir?

- Los embeddings funcionan mejor con textos cortos y cohesivos
- Enviamos solo contexto relevante al LLM (ahorramos tokens)
- Mejora la precisión de la búsqueda por similitud

</v-clicks>
