LangChain
Descubra cómo LangChain simplifica el desarrollo de aplicaciones LLM. Descubra cómo conectar modelos de IA con datos en tiempo real e integrar Ultralytics para tareas de visión.
LangChain es un marco de código abierto diseñado para simplificar el desarrollo de aplicaciones impulsadas por
grandes modelos de lenguaje (LLM). Aunque los LLM
como GPT-4 son potentes por sí mismos, a menudo funcionan de forma
aislada, sin tener en cuenta los datos en tiempo real ni el contexto empresarial específico. LangChain actúa como un puente, permitiendo a
los desarrolladores encadenar varios componentes, como indicaciones, modelos y fuentes de datos externas, para crear
aplicaciones sofisticadas y sensibles al contexto. Al gestionar la complejidad de estas interacciones, LangChain permite a
los sistemas de inteligencia artificial (IA)
razonar sobre los problemas y tomar medidas basadas en entradas dinámicas.
Componentes principales de LangChain
El marco se basa en varios conceptos modulares que funcionan conjuntamente para mejorar
los flujos de trabajo del procesamiento del lenguaje natural (NLP)
.
-
Cadenas: El componente básico fundamental, una cadena es una secuencia de llamadas a un LLM u otras
utilidades. Por ejemplo, una cadena simple podría tomar la entrada de un usuario, formatearla utilizando una
plantilla de ingeniería de prompts y pasarla a un
modelo para generar una respuesta. Las cadenas más complejas pueden secuenciar múltiples llamadas, donde la salida de un paso se convierte en
la entrada para el siguiente.
-
Agentes: a diferencia de las cadenas, que siguen una secuencia codificada, un
agente de IA utiliza un LLM como motor de razonamiento para determinar
qué acciones realizar y en qué orden. Los agentes pueden consultar API, buscar en la web o acceder a bases de datos para responder a
preguntas que requieren conocimientos actualizados.
-
Recuperación: Para basar las respuestas del modelo en datos reales, LangChain facilita la
generación aumentada por recuperación (RAG). Esto implica obtener documentos relevantes de una
base de datos vectorial basándose en las consultas de los usuarios e introducirlos
en la ventana de contexto del modelo.
-
Memoria: Los LLM estándar no tienen estado, lo que significa que olvidan las interacciones anteriores. LangChain proporciona
componentes de memoria que permiten a los chatbots mantener el contexto a lo largo de una conversación, imitando la continuidad de un diálogo humano
.
Aplicaciones en el mundo real
LangChain es fundamental para trasladar la IA generativa de los cuadernos experimentales a entornos de producción en
diversas industrias.
-
Chat con tus datos (RAG): Una de las aplicaciones más comunes es la búsqueda empresarial. Las empresas utilizan
LangChain para incorporar documentación interna, archivos PDF o manuales técnicos a un índice de búsqueda. Cuando un empleado
formula una pregunta, el sistema recupera el párrafo relevante y lo envía al LLM, lo que garantiza que la respuesta sea
precisa y se base en los datos de la empresa, en lugar de ser una alucinación. Esto mejora significativamente la
destilación de conocimientos dentro de las
organizaciones.
-
Análisis multimodal: LangChain puede organizar flujos de trabajo que combinan texto con otras modalidades,
como la visión artificial (CV). Por ejemplo, un
sistema de seguridad podría utilizar la detección de objetos para
identificar al personal no autorizado y, a continuación, activar un agente de LangChain para que redacte un informe del incidente y lo envíe por correo electrónico a un
supervisor.
Integración con la visión por ordenador
La sinergia entre los datos visuales estructurados y el razonamiento lingüístico es un potente ámbito de desarrollo. Los desarrolladores pueden
utilizar modelos de alto rendimiento como Ultralytics para
extraer información detallada de las imágenes, como recuentos de objetos, clases o ubicaciones, y pasar estos datos estructurados
a un flujo de trabajo de LangChain para su posterior análisis o descripción en lenguaje natural.
Lo siguiente Python muestra cómo extraer nombres de clases detectadas
utilizando un Ultralytics , creando un contexto basado en texto que se puede introducir en una cadena de lenguaje descendente.
from ultralytics import YOLO
# Load the YOLO26 model to generate structured data for a chain
model = YOLO("yolo26n.pt")
# Run inference on an image URL
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detection class names to feed into a LangChain prompt
detections = [model.names[int(c)] for c in results[0].boxes.cls]
# Format the output as a context string for an LLM
chain_input = f"The image contains the following objects: {', '.join(detections)}."
print(chain_input)
Términos clave distintivos
Es importante diferenciar LangChain de las tecnologías que coordina:
-
LangChain frente a los LLM: El
LLM (por ejemplo, el GPT-4 de OpenAI o el Claude Anthropic) es el «cerebro» que procesa y genera texto.
LangChain es el «andamiaje» o la infraestructura que conecta ese cerebro con
los procesos de preprocesamiento de datos, las API y las interfaces de usuario
.
-
LangChain frente a ingeniería de prompts:
La ingeniería de prompts se centra en crear la entrada de texto óptima para obtener el mejor resultado de un modelo. LangChain
automatiza la gestión de estos prompts, lo que permite crear
plantillas de prompts dinámicas que se
rellenan con datos de forma programática antes de enviarlas al modelo.
Para los desarrolladores que deseen crear sistemas de IA robustos, la
documentación oficial de LangChain ofrece información técnica detallada
, mientras que la Ultralytics proporciona las herramientas necesarias
para integrar capacidades de visión de última generación en estos flujos de trabajo inteligentes. Además, los usuarios pueden
aprovechar la Ultralytics para gestionar los conjuntos de datos y los procesos de formación
que alimentan estos sistemas multimodales avanzados.