GN⁺: Los problemas de LangChain
(minimaxir.com)- LangChain: una biblioteca de Python y JavaScript que interactúa con la API de GPT de OpenAI para generar texto con IA
- Una implementación del paper ReAct, conocida por mejorar la calidad del texto generado por los LLM
- El flujo de trabajo de ReAct era especialmente efectivo en InstructGPT/text-davinci-003, pero resultaba costoso y no era fácil de usar en proyectos pequeños
- A medida que LangChain ganó popularidad, recaudó bastante financiamiento a pesar de no tener ingresos propios ni un plan claro de monetización
- De hecho, se intentó usar para crear un chatbot en BuzzFeed
- Porque LangChain era una herramienta popular para RAG (Retrieval-Augmented Generation)
- Pero incluso después de investigarlo a fondo, no funcionó bien. Tenía muchos bugs y la calidad tampoco era buena
- Al volver a un nivel más bajo y desarrollar directamente, se obtuvieron resultados mucho mejores que con LangChain
- Al ver el post y los comentarios en Hacker News sobre "Construir LangChain en 100 líneas de código", quedó claro que no era el único en criticar LangChain
- El problema de LangChain es que añade complejidad y sesgos innecesarios al ecosistema de IA
- Los principiantes que quieran aprender a interactuar con ChatGPT no deberían empezar jamás con LangChain
- Los ejemplos y el código son más complejos que usar la biblioteca oficial de Python de OpenAI
- La ingeniería de prompts de LangChain, en la práctica, no es más que
f-stringscon pasos adicionales - Los flujos de trabajo con agentes y la memoria conversacional no están bien documentados, por lo que pueden resultar confusos
- La función de system prompt no se integra correctamente con los flujos de trabajo de agentes
- La documentación y los ejemplos presentan más problemas que ventajas, lo que complica su uso real
- Los agentes de LangChain usan un método peculiar de selección de herramientas mediante ingeniería de prompts y salida en JSON
- Si cambia la estructura normal de salida, el agente deja de funcionar y puede requerir manejo de errores de parsing
- El chatbot puede extraer y dar formato correcto a recetas, pero la salida resulta aburrida
- Tiene funciones para agentes y cadenas personalizadas, pero esto hace el proceso más complejo
- Con utilidades como separadores de texto y almacenes vectoriales integrados, LangChain termina imponiendo la restricción de usar solo código basado en LangChain
- LangChain aumenta la sobrecarga y la complejidad en la mayoría de los casos de uso populares
- Parece encarnar la filosofía de “¡si es complicado, debe ser mejor!”
- El autor desarrolló un paquete de Python mucho más simple llamado simpleaichat como alternativa a LangChain
- No se trata de promocionar simpleaichat, sino de la preocupación de que los principiantes terminen yéndose por LangChain
4 comentarios
Yo también he analizado LangChain y me dio mucho la impresión de que estaba sobreingenierizado.
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3
Creo que hay que encontrar su significado como el primer proyecto open source que puso sobre la mesa la pregunta de
¿cómo se debe construir el ecosistema de LLM?.Aunque la usabilidad de LangChain sea baja, el problema que LangChain intentó resolver sigue ahí.
Ahora GN+ también está incluido en el RSS. Gracias. @xguru, lo leeré con gusto.
LangChain no tiene sentido
Creo que este es un artículo que continúa esa nota.
El autor de ese blog, Max Woolf, criticó en los comentarios del artículo de arriba que LangChain realmente no sirve para nada, y luego desarrolló y publicó la alternativa
simpleaichat.Ahora incluso publicó un texto en el que organiza sus problemas.
Opinión de Hacker News