32 lines
795 B
Markdown
32 lines
795 B
Markdown
---
|
|
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>
|