GN⁺: Os problemas do LangChain
(minimaxir.com)- LangChain: biblioteca em Python e JavaScript que faz interface com a API GPT da OpenAI para geração de texto por IA
- Uma implementação do artigo ReAct, conhecida por melhorar a qualidade do texto gerado pelos LLMs
- O workflow ReAct era especialmente eficaz no InstructGPT/text-davinci-003, mas era caro e não era fácil de usar em projetos pequenos
- À medida que o LangChain ganhou popularidade, levantou bastante capital mesmo sem receita própria nem um plano claro de monetização
- Na prática, tentaram usá-lo para criar um chatbot no BuzzFeed
- Porque o LangChain era uma ferramenta popular para RAG (Retrieval-Augmented Generation)
- Mas, mesmo após muita pesquisa, não funcionava bem. Havia muitos bugs e a qualidade também não era boa
- Ao voltar para um nível mais baixo e desenvolver diretamente, os resultados foram muito melhores do que com o LangChain
- Ao ver as críticas ao LangChain no Hacker News, incluindo o post "Construindo o LangChain em 100 linhas de código" e seus comentários, percebeu que não era o único a pensar assim
- O problema do LangChain é que ele adiciona complexidade e viés desnecessários ao ecossistema de IA
- Iniciantes que querem aprender a fazer interface com o ChatGPT jamais deveriam começar pelo LangChain
- Os exemplos e o código são mais complexos do que usar a biblioteca oficial em Python da OpenAI
- A engenharia de prompt do LangChain, na prática, não passa de
f-stringscom etapas extras - Os workflows de agentes e os recursos de memória de conversa não são bem documentados, o que pode tornar seu uso confuso
- O recurso de prompt de sistema não se integra corretamente aos workflows de agentes
- A documentação e os exemplos trazem mais problemas do que vantagens, o que dificulta o uso real
- Os agentes do LangChain usam um método peculiar de seleção de ferramentas por meio de engenharia de prompt e saída em JSON
- Mudanças na estrutura normal da saída podem fazer o agente parar de funcionar, exigindo tratamento de erros de parsing
- O chatbot consegue extrair e formatar receitas corretamente, mas a saída é sem graça
- Há recursos para agentes e chains personalizados, mas isso torna o processo mais complexo
- Com utilitários como separadores de texto e armazenamento vetorial integrado, o LangChain impõe a limitação de usar apenas código baseado em LangChain
- O LangChain aumenta a sobrecarga e a complexidade na maioria dos casos de uso populares
- Parece incorporar a filosofia de “it’s complicated, so it must be better!”
- O autor desenvolveu, como alternativa ao LangChain, um pacote Python muito mais simples chamado simpleaichat
- Não se trata de promover o simpleaichat, mas de uma preocupação de que iniciantes acabem indo para o LangChain
4 comentários
Eu também, ao analisar o LangChain, tive bastante a impressão de que ele foi excessivamente engenheirado.
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3
Acho que o significado do
langchain은 llm echosystem을 어떻게 구성할 것인가?deve ser buscado no fato de ter sido o primeiro open source a levantar essa questão.Mesmo que a usabilidade do LangChain seja baixa, o problema que o LangChain tentou resolver continua existindo.
Agora o GN+ também está incluído no RSS. Obrigado. @xguru, vou acompanhar bem.
LangChain não faz sentido
Acho que este é um texto que dá continuidade à matéria acima.
O autor deste blog, Max Woolf, criticou nos comentários da matéria acima dizendo que o LangChain realmente não serve para muita coisa, e então desenvolveu e lançou a alternativa
simpleaichat.Desta vez, ele até publicou um texto organizando os problemas.
Opiniões no Hacker News