Ir al contenido principal

Introducción a LangChain para ingeniería de datos y aplicaciones de datos

LangChain es un framework para incorporar IA de grandes modelos de lenguaje en canalizaciones de datos y aplicaciones. Este tutorial ofrece una visión general de lo que puedes hacer con LangChain, los problemas que resuelve y ejemplos de casos de uso con datos.
Actualizado 17 sept 2026  · 11 min leer

Explorar con IA

ChatGPTClaudePerplexity

Los grandes modelos de lenguaje (LLM) como OpenAI GPT, Google BERT y Meta LLaMA están revolucionando todos los sectores gracias a su capacidad para generar casi cualquier texto que puedas imaginar: desde copys de marketing hasta código de ciencia de datos o poesía. Aunque ChatGPT se ha llevado gran parte de la atención por su interfaz conversacional tan intuitiva, hay muchas más formas de aprovechar los LLM integrándolos en otros tipos de software.

Por ejemplo, DataLab incluye un Asistente de IA que te ayuda a escribir o mejorar el código y el texto de tus análisis, y los cursos interactivos de DataCamp incluyen una función de "explicar mi error" para ayudarte a entender dónde te has equivocado. Estas funciones se basan en GPT y se accede a ellas a través de la API de OpenAI.

LangChain ofrece un framework que se apoya en varias APIs para LLM. Está pensado para que desarrolladores de software e ingenieros de datos sean más productivos al incorporar IA basada en LLM en sus aplicaciones y sus canalizaciones de datos.

Este tutorial explica los problemas que resuelve LangChain y sus principales casos de uso para que sepas por qué y cuándo utilizarlo. Antes de seguir, conviene entender la idea básica de un LLM. El tutorial Cómo el PLN está cambiando el futuro de la ciencia de datos es un buen recordatorio.

¿Qué problemas resuelve LangChain?

Básicamente hay dos flujos de trabajo para interactuar con LLM.

  1. El "chat" consiste en escribir un prompt, enviárselo a la IA y recibir una respuesta en texto.
  2. El "embedding" consiste en escribir un prompt, enviárselo a la IA y recibir una matriz numérica como respuesta.

Tanto el chat como el embedding presentan algunos problemas que LangChain intenta solucionar.

Los prompts están llenos de texto repetitivo

Uno de los problemas en ambos casos es que preparar un buen prompt implica mucho más que definir la tarea a realizar. También hay que describir la personalidad y el estilo de escritura de la IA e incluir instrucciones que fomenten la precisión factual. Es decir, quizá quieras escribir un prompt sencillo que describa una tarea:

Write an outline for a 500-word blog post targeted at teenagers about the health benefits of doing yoga.

Sin embargo, para obtener una buena respuesta, necesitas algo más parecido a esto:

You are an expert sports scientist. Your writing style is casual but terse.

Write an outline for a 500-word blog post targeted at teenagers about the health benefits of doing yoga.

Only include factually correct information. Explain your reasoning.

Gran parte de ese texto repetitivo del prompt será el mismo de un prompt a otro. Lo ideal es escribirlo una vez y que se incluya automáticamente en los prompts que quieras.

LangChain resuelve el problema del texto repetitivo en los prompts con las plantillas de prompts. Combinan la parte útil del input (en este caso, el texto sobre escribir un post de yoga) con el texto genérico (el estilo de escritura y la petición de información veraz).

Las respuestas no tienen estructura

En los flujos de chat, la respuesta del modelo es solo texto. Pero cuando la IA se usa dentro de un software, a menudo interesa obtener una salida estructurada con la que puedas programar. Por ejemplo, si el objetivo es generar un conjunto de datos, querrás la respuesta en un formato concreto como CSV o JSON.

Suponiendo que consigas un prompt que haga que la IA devuelva siempre una respuesta con el formato adecuado, necesitas una forma de manejar esa salida. LangChain ofrece herramientas de parseo de salida precisamente para eso.

Cambiar de LLM es complicado

Aunque GPT ha sido un éxito rotundo, hay muchísimos otros LLM disponibles. Si programas directamente contra la API de una sola empresa, atas tu software a ese ecosistema. Es perfectamente plausible que, tras construir tus funciones de IA sobre GPT, te des cuenta de que tu producto necesita mejores capacidades multilingües. Quizá entonces quieras pasarte a Polyglot o, si vas a incluir la IA dentro del propio producto, necesites un modelo más compacto como StableLM de Stability AI.

LangChain proporciona una clase LLM, y esta abstracción facilita enormemente intercambiar un modelo por otro o incluso utilizar varios modelos dentro de tu software.

Los LLM tienen poca memoria

La respuesta de un LLM se genera a partir de la conversación previa (tanto los prompts del usuario como sus propias respuestas). Sin embargo, los LLM tienen una memoria bastante limitada. Incluso el GPT-4 de última generación parte por defecto de una memoria de 8.000 tokens (aproximadamente 6.000 palabras).

En un flujo de chat, si la conversación supera esos límites de memoria, las respuestas de la IA pueden volverse inconsistentes (porque no recuerda el inicio de la conversación). Los chatbots son un ejemplo en el que esto puede ser un problema. Lo ideal es que el bot recuerde toda la conversación con la persona usuaria para no dar información contradictoria.

LangChain soluciona el problema de la memoria con herramientas de historial de mensajes. Permiten volver a pasarle mensajes anteriores al LLM para recordarle de qué estaba hablando.

Integrar LLM en pipelines no es trivial

Cuando se usan en canalizaciones de datos o en aplicaciones, la IA suele ser solo una parte de una funcionalidad mayor. Por ejemplo, puedes querer recuperar datos de una base de datos, pasarlos al LLM, procesar la respuesta y enviarla a otro sistema.

LangChain ofrece herramientas para flujos tipo pipeline mediante chains y agents. Las chains son objetos sencillos que encadenan varios componentes (para pipelines lineales). Los agents son más sofisticados y permiten aplicar lógica de negocio para decidir cómo deben interactuar los componentes. Por ejemplo, puedes querer añadir lógica condicional en función de la salida de un LLM para determinar el siguiente paso.

Pasar datos al LLM es delicado

La naturaleza basada en texto de los LLM hace que no siempre esté claro cómo pasarles datos. El problema tiene dos partes.

Primero, necesitas almacenar los datos en un formato que te permita controlar qué partes del conjunto de datos enviarás al LLM. (En conjuntos rectangulares como un DataFrame o una tabla SQL, normalmente querrás enviar los datos fila a fila).

Segundo, debes decidir cómo incluir esos datos en el prompt. La opción más simple es incluir el dataset directamente en el prompt ("prompt stuffing"), pero hay alternativas más sofisticadas.

LangChain resuelve la primera parte con índices. Ofrecen funciones para importar datos desde bases de datos, archivos JSON, DataFrames de pandas, archivos CSV y otros formatos, y almacenarlos de forma que puedan servirse fila a fila a un LLM.

LangChain proporciona chains relacionadas con índices para resolver la segunda parte del problema, y cuenta con clases para cuatro técnicas de paso de datos al LLM.

El prompt stuffing inserta el dataset completo en el prompt. Es muy simple, pero solo funciona con conjuntos de datos pequeños.

Map-reduce divide los datos en fragmentos, llama al LLM con un prompt inicial para cada fragmento (la parte de "map"), y después vuelve a llamar al LLM con otro prompt que incluye las respuestas de la primera ronda. Es adecuado siempre que pensarías en usar un "group by".

Refine es un enfoque iterativo de estilo bayesiano: ejecutas un prompt sobre el primer fragmento y, para cada fragmento adicional, utilizas un prompt que pide al LLM refinar el resultado con el nuevo conjunto de datos. Funciona bien cuando quieres que la respuesta converja hacia una salida concreta.

Map-rerank es una variante de map-reduce. La primera parte es igual: dividir en fragmentos y ejecutar un prompt en cada uno. La diferencia es que pides al LLM que devuelva una puntuación de confianza para su respuesta, de modo que puedas clasificar las salidas. Es muy útil para tareas de recomendación donde buscas una única "mejor" respuesta.

¿Qué lenguajes de programación admite LangChain?

LangChain puede usarse desde JavaScript mediante el paquete de Node langchain. Es ideal para incluir IA en aplicaciones web.

También puede usarse desde Python a través del paquete langchain (PyPI, conda). Es adecuado para incorporar IA en canalizaciones de datos o software basado en Python.

¿Cuáles son los principales casos de uso de LangChain?

LangChain puede usarse en cualquier situación en la que te plantees utilizar un LLM. Aquí veremos varios ejemplos relacionados con datos y qué funciones de LangChain son relevantes.

Consultas a datasets con lenguaje natural

Uno de los casos de uso más transformadores de los LLM para el análisis de datos es poder escribir consultas SQL (o el código equivalente en Python o R) usando lenguaje natural. Esto acerca el análisis exploratorio de datos a personas sin habilidades de programación.

Hay varias variantes del flujo. Con datasets pequeños, puedes hacer que el LLM genere los resultados directamente. Esto implica cargar los datos en un formato adecuado con los cargadores de documentos de LangChain, pasar los datos al LLM usando chains relacionadas con índices y parsear la respuesta con un parser de salida.

Lo más habitual es pasarle al LLM detalles de la estructura de los datos (nombres de tablas, columnas y tipos, y detalles como qué columnas tienen valores ausentes) y pedirle código SQL/Python/R. Después ejecutarías ese código. Este flujo es más simple porque no requiere pasar datos, aunque LangChain sigue siendo útil para modularizar los pasos.

Otra variante sería incluir una segunda llamada al LLM para que interprete los resultados. Este tipo de flujo, con múltiples llamadas al LLM, es donde LangChain realmente brilla. En este caso, puedes usar las herramientas de historial de mensajes para garantizar que la interpretación de los resultados sea coherente con la estructura de datos que proporcionaste antes.

Interacción con APIs

En casos de uso de datos como la creación de una canalización, la IA de un LLM suele ser parte de un flujo más largo que incluye otras llamadas a APIs. Por ejemplo, quizá quieras usar una API para recuperar datos bursátiles o para interactuar con una plataforma en la nube.

Las funciones de chains y agents de LangChain, que te permiten conectar estos pasos en secuencia (y aplicar lógica adicional para ramificar el pipeline), son ideales para este caso.

Creación de un chatbot

Los chatbots son uno de los usos más populares de la IA, y la IA generativa ofrece un gran potencial para bots con un comportamiento más realista. Sin embargo, puede resultar laborioso controlar la personalidad del bot y lograr que recuerde el contexto de la conversación.

Las plantillas de prompts de LangChain te dan control tanto sobre la personalidad del chatbot (su tono y estilo de comunicación) como sobre las respuestas que ofrece.

Además, las herramientas de historial de mensajes son útiles para dotar al chatbot de una memoria más larga que las pocas centenas o miles de palabras que los LLM proporcionan por defecto, lo que permite una mayor coherencia dentro de una conversación o incluso entre conversaciones.

Otros usos

Este tutorial solo roza la superficie de lo posible. Hay muchos más casos de uso de LLM para profesionales de datos. Ya sea que quieras crear un asistente personal, resumir informes o responder preguntas sobre documentación de soporte o una base de conocimiento, LangChain ofrece un framework para incluir IA en cualquier canalización o aplicación de datos que se te ocurra.

Llévalo al siguiente nivel

Muy pronto habrá contenido de LangChain en DataCamp. Mientras tanto, puedes profundizar en uno de los casos de uso que hemos comentado con el curso Building Chatbots in Python.

Temas
Ingeniería de datos
Inteligencia Artificial
Relacionado

Tutorial

Tutorial sobre cómo crear aplicaciones LLM con LangChain

Explore el potencial sin explotar de los grandes modelos lingüísticos con LangChain, un marco Python de código abierto para crear aplicaciones avanzadas de IA.
Moez Ali's photo

Moez Ali

12 min

Tutorial

Construir agentes LangChain para automatizar tareas en Python

Un tutorial completo sobre la construcción de agentes LangChain multiherramienta para automatizar tareas en Python utilizando LLMs y modelos de chat utilizando OpenAI.

Tutorial

RAG Con Llama 3.1 8B, Ollama y Langchain: Tutorial

Aprende a crear una aplicación RAG con Llama 3.1 8B utilizando Ollama y Langchain, configurando el entorno, procesando documentos, creando incrustaciones e integrando un recuperador.
Ryan Ong's photo

Ryan Ong

12 min

Tutorial

Guía introductoria para el ajuste preciso de los LLM

El ajuste preciso de los grandes modelos lingüísticos (LLM) ha revolucionado el procesamiento del lenguaje natural (PLN) y ofrece capacidades sin precedentes en tareas como la traducción lingüística, el análisis del sentimiento y la generación de textos. Este enfoque transformador aprovecha modelos preentrenados como el GPT-2 y mejora su rendimiento en dominios específicos mediante el proceso de ajuste preciso.
Josep Ferrer's photo

Josep Ferrer

11 min

Tutorial

Cómo formar a un LLM con PyTorch

Domine el proceso de entrenamiento de grandes modelos lingüísticos con PyTorch, desde la configuración inicial hasta la implementación final.
Zoumana Keita 's photo

Zoumana Keita

8 min

Tutorial

Guía para principiantes de LlaMA-Factory WebUI: Ajuste de los LLM

Aprende a afinar los LLM en conjuntos de datos personalizados, evaluar el rendimiento y exportar y servir modelos sin problemas utilizando el marco de trabajo de bajo/ningún código de LLaMA-Factory.
Abid Ali Awan's photo

Abid Ali Awan

12 min

Ver MásVer Más