Cargadores, divisores y almacenes vectoriales
Use DocumentLoaders para PDF/HTML, TextSplitters para segmentar y VectorStores para recuperar información.
Cargadores, divisores y almacenes vectoriales es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Tres pilares de RAG en LangChain
- Cargadores de documentos — leen datos sin procesar en Documents
- Divisores de texto — dividen Documents en fragmentos
- Almacenes vectoriales — generan embeddings e indexan los fragmentos
Cargadores de documentos
LangChain tiene más de 100 cargadores. Algunos ejemplos:
from langchain_community.document_loaders import PyPDFLoader, WebBaseLoader, TextLoader
pdf_docs = PyPDFLoader('handbook.pdf').load()
web_docs = WebBaseLoader('https://example.com').load()
md_docs = TextLoader('README.md').load()El objeto Document
Cada cargador devuelve una lista de Documents:
doc = pdf_docs[0]
print(doc.page_content) # the text
print(doc.metadata) # {'source': 'handbook.pdf', 'page': 1}Cargadores comunes
- PyPDFLoader, UnstructuredFileLoader — PDF
- WebBaseLoader, SitemapLoader — páginas web
- NotionLoader, GoogleDriveLoader — SaaS
- GitLoader — repositorios de código
- SQLDatabaseLoader — filas de bases de datos
Divisores de texto
Convierta Documents en fragmentos más pequeños:
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)Divisores especializados
- MarkdownHeaderTextSplitter — divide por encabezados
- RecursiveCharacterTextSplitter — tiene en cuenta párrafos y oraciones
- HTMLHeaderTextSplitter — tiene en cuenta HTML
- Específicos del lenguaje (Python, Markdown, LaTeX)
División basada en tokens
Use el tokenizador del modelo para dividir con precisión a nivel de token:
splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
encoding_name='cl100k_base',
chunk_size=400,
chunk_overlap=50
)Almacenes vectoriales
Genere embeddings y almacene los fragmentos:
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
embeddings = OpenAIEmbeddings(model='text-embedding-3-small')
store = Chroma.from_documents(
documents=chunks,
embedding=embeddings,
persist_directory='./db'
)Retrieval
retriever = store.as_retriever(search_kwargs={'k': 4})
results = retriever.invoke('What is our return policy?')
for d in results:
print(d.page_content[:200])Persistencia
Chroma persiste en disco si le proporciona persist_directory. Para volver a cargarlo:
store = Chroma(persist_directory='./db', embedding_function=embeddings)Otros almacenes vectoriales
La misma interfaz, distinto backend:
from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate
store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')MultiVectorRetriever
Indexe fragmentos pequeños, pero recupere documentos padre grandes:
from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.Retrievers de auto-consulta
Permita que el LLM genere filtros de metadatos a partir del lenguaje natural:
from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}Salida del retriever
¿Qué devuelve un retriever de LangChain?
Repaso
Cargadores + divisores + almacenes vectoriales = una pila RAG completa. Siguiente: compóngalos con LCEL en una cadena completa.
Preguntas frecuentes
¿La lección «Cargadores, divisores y almacenes vectoriales» es gratis?
Sí — el texto completo de «Cargadores, divisores y almacenes vectoriales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.
¿Qué aprenderé en «Cargadores, divisores y almacenes vectoriales»?
Use DocumentLoaders para PDF/HTML, TextSplitters para segmentar y VectorStores para recuperar información. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Agents?
No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Cargadores, divisores y almacenes vectoriales»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Agents?
Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arquitectura de LangChain: modelos, prompts y cadenas
- Cargadores, divisores y almacenes vectoriales
- LCEL (LangChain Expression Language)
- Crear una cadena RAG de principio a fin