El Lenguaje de Expresión LangChain (LCEL por sus siglas) es un método declarativo de orquestación de flujos de trabajo de inteligencia artificial que permite combinar fácilmente múltiples pasos de procesamiento como eslabones en una cadena. Por lo tanto, los flujos de trabajo definidos por LCEL se denominan "Cadenas" en LangChain. Desde la cadena más simple "prompt + LLM" hasta las cadenas más complejas (por ejemplo, cadenas que consisten en cientos de pasos).
Las características del Lenguaje de Expresión LangChain son las siguientes:
-
Soporte de Procesamiento en Streaming: Al construir cadenas utilizando LCEL, para obtener rápidamente el contenido devuelto por el modelo LLM, LCEL también admite el procesamiento en streaming, logrando efectos similares a obtener contenido carácter por carácter, al igual que ChatGPT.
-
Soporte Asíncrono: Cualquier cadena construida utilizando LCEL puede utilizarse con API tanto síncronas como asíncronas. El propósito de utilizar APIs asíncronas es mejorar el rendimiento y admitir solicitudes concurrentes más altas.
-
Soporte para Ejecución Paralela: Cuando tu cadena LCEL tiene pasos que pueden ejecutarse en paralelo (por ejemplo, si estás recuperando documentos de múltiples fuentes), los ejecutamos automáticamente tanto para interfaces síncronas como asíncronas para lograr una latencia mínima.
-
Reintentos y Reversión: Configura reintentos y reversión para cualquier parte de la cadena LCEL.
-
Soporte para Acceder a Resultados Intermedios: Para cadenas de flujos de trabajo complejas, a menudo es deseable poder consultar resultados intermedios entre diferentes pasos de tareas durante la depuración.
-
Modos de Entrada y Salida: Los modos de entrada y salida se infieren en función de la estructura de la cadena, proporcionando esquemas Pydantic y JSONSchema para cada cadena LCEL. Esto se puede utilizar para la validación de entrada y salida y es parte de LangServe.
-
Soporte para Integración con el Servicio de Monitoreo LangSmith: A medida que las cadenas se vuelven cada vez más complejas, comprender con precisión lo que sucede en cada paso se vuelve más importante. Con LCEL, todos los pasos se registran automáticamente en LangSmith para lograr la máxima observabilidad y depuración.
-
Soporte para Implementación a través de LangServe: Cualquier cadena creada utilizando LCEL se puede implementar fácilmente utilizando LangServe.