Contenido del curso
Chat Models y Prompt templates
- 5

Flujo de conversación con trim_message en LangChain
09:35 min - 6

Conexión y uso de modelos de chat con LangChain y OpenAI
07:51 min - 7

Uso de Modelos de Google AI Gemini en LangChain
03:39 min - 8

Creación de Plantillas de Prompts en LangChain
08:45 min - 9

Técnicas de Few-Shot Prompting en Modelos de Lenguaje
12:18 min
Cadenas en LangChain
- 10

Creación de Cadenas en LangChain con String Output Parser
04:53 min - 11

Gestión de Historial de Chat con LangChain
07:52 min - 12

Integración de Herramientas Claves en LangChain: Runnable, OutputParser, Streaming
14:08 min - 13

Creación de Chatbots Inteligentes con Memoria Conversacional
13:55 min - 14

Cadena de Procesos para Memoria Conversacional con GPT-3.5 Turbo
07:37 min
Carga de documentos en LangChain
Retrieval-augmented generation (RAG)
- 18

Gestión de Vectores de Texto con Chroma y LangChain
05:46 min - 19

Embeddings y su aplicación en modelos de lenguaje y RAG
08:19 min - 20

Pinecone como vector store con LangChain
14:16 min - 21

Creación de Chatbot RAG con LangChain y ChromaDB
12:52 min - 22

Construcción de un Asistente Conversacional con LangChain y RAG
13:44 min
Agentes en LangChain
Ecosistema de LangChain
Carga de PDF y CSV con LangChain
Resumen
Cargar archivos externos a un flujo de IA es uno de los pasos clave para construir aplicaciones útiles. Con los document loaders de LangChain puedes traer información desde PDF, CSV, HTML, JSON o Markdown y dejarla lista para búsquedas semánticas, agentes o bases vectoriales. Aquí te muestro cómo hacerlo paso a paso con PyPDF y CSVLoader, pensado para quienes están empezando a construir pipelines de RAG.
¿Qué son los document loaders de LangChain y para qué sirven?
Los document loaders son utilidades que leen un archivo y lo convierten en un objeto Document con dos partes: el contenido textual y la metadata (página, fila, fuente). Cada formato tiene su loader específico, así que eliges el que coincide con tu archivo.
Entre los formatos disponibles encontrarás:
- CSV mediante
CSVLoader. - PDF mediante
PyPDFLoadery otros integradores. - Carpetas completas con archivos mixtos como HTML, JSON o Markdown.
- APIs de terceros integradas en
langchain_community.
¿Qué es un document loader? Es una clase de LangChain que lee un archivo y devuelve documentos con texto y metadata listos para consultas o vectorización.
¿Cómo cargar un PDF con PyPDFLoader paso a paso?
El flujo arranca instalando el paquete y apuntando al archivo. Necesitas dos piezas: pypdf para procesar el PDF y langchain_community para acceder a integraciones de terceros.
Los pasos son directos:
- Instala las dependencias con
pip install pypdfypip install langchain_community. - Importa
PyPDFLoaderdesdelangchain_community.document_loaders. - Pasa la ruta del PDF al loader y ejecuta
.load(). - Accede al contenido y a la metadata de cada página.
Cuando ejecutas el loader, recibes un objeto que incluye el texto extraído y datos como el número de página. Eso te permite, por ejemplo, pedir solo los primeros 300 caracteres de una página específica o iterar por todas las páginas para procesarlas.
¿Por qué necesitas langchain_community?
Si intentas correr el loader sin instalarlo, verás un error de módulo no encontrado. langchain_community agrupa todas las integraciones con paquetes externos, como PyPDF, FAISS o conectores de bases de datos. Recuerda usar guion bajo en el nombre al instalarlo.
¿Cómo hacer búsqueda semántica sobre un PDF cargado?
Una vez que tienes las páginas cargadas, puedes transformarlas en vectores y consultar por similitud. Aquí entran dos piezas nuevas: los embeddings y un vector store.
El flujo conceptual es este:
- Tomas los documentos cargados con PyPDFLoader.
- Generas embeddings con
OpenAIEmbeddings, que convierten el texto a vectores numéricos. - Almacenas esos vectores en FAISS, una librería open source para búsqueda vectorial.
- Lanzas una consulta y pides los vecinos más cercanos al texto buscado.
En el ejemplo de la clase, el PDF contiene texto Lorem Ipsum en una sola página. Al consultar por Lorem Ipsum y pedir los dos vecinos más cercanos, FAISS devuelve los fragmentos del documento más parecidos semánticamente, junto con la metadata de la página cero.
¿Qué hace FAISS en este flujo? Almacena vectores y encuentra los más cercanos a una consulta. Así recuperas pasajes relevantes aunque las palabras exactas no coincidan.
¿Cómo cargar un CSV en LangChain con CSVLoader?
Con CSV el comportamiento cambia un poco: cada fila se convierte en un documento independiente. Eso significa que si tu archivo tiene 1.000 filas, tendrás 1.000 documentos accesibles desde el loader.
El ejemplo usa un extracto de la tabla Online Retail. Al cargarlo:
- Cada documento expone el contenido de la página con el formato
nombre_columna: valor. - La metadata indica la fuente y el número de fila.
- Puedes recorrer los documentos uno a uno para procesarlos o vectorizarlos.
Del mismo modo que con PDF, puedes aplicar embeddings y hacer búsqueda semántica sobre filas específicas. Y aquí aparece algo más potente: los agentes, que permiten convertir una pregunta en lenguaje natural en una consulta sobre el CSV. Ese tema se trabaja más adelante en el curso.
¿Qué metadata puedes extraer de cada documento?
La metadata varía según el loader:
- En PDF obtienes la página, por ejemplo
page: 0para la primera página. - En CSV obtienes la fila y el archivo fuente.
- En ambos casos puedes combinar metadata con filtros antes o después de una búsqueda vectorial.
Esto es útil para citar fuentes, mostrar referencias al usuario o limitar consultas a secciones concretas de un documento extenso.
Reto práctico para dominar los loaders
Para afianzar lo aprendido, prueba con archivos más complejos:
- Carga un PDF de varias páginas y revisa cómo cambia la metadata por página.
- Usa un CSV con más columnas y observa cómo se construye el contenido de cada documento.
- Compara los resultados de búsqueda semántica al variar la consulta o el número de vecinos.
Entender los loaders es la base para el siguiente paso: trabajar con bases vectoriales completas y montar un sistema RAG sólido. Si te encuentras con algún error al cargar tus archivos, deja tu duda en los comentarios y revisamos juntos el flujo.