6 pontos por xguru 2023-07-09 | 3 comentários | Compartilhar no WhatsApp
  • Está cheio de códigos wrapper inúteis
    • Embeddings são apenas um wrapper do SentenceTransformer que não faz nada
    • Chroma também é um wrapper simples do ChromaDB
    • Está cheio de funções "helper" que apenas chamam funções Python comuns
  • A documentação também é quase inútil
  • Parece apenas um projeto de iniciante surfando a onda do momento

Conteúdo resumido pelo GN⁺

  • LangChain: tecnologia que permite trocar facilmente modelos de linguagem, armazenamentos vetoriais e divisores de texto em um programa
  • O objetivo é abstrair componentes para economizar tempo e tornar o código mais flexível
  • Alguns usuários consideram que o LangChain tem um design ruim e é confuso
  • A documentação é fraca e o codebase contém muitas funções desnecessárias
  • Usuários têm dificuldade para trocar componentes e às vezes precisam reescrever prompts e código
  • Alguns usuários encontraram soluções alternativas, como Griptape ou construir suas próprias funções
  • Mesmo com defeitos, o LangChain ganhou popularidade por causa da interoperabilidade e da capacidade de lidar com vários modelos e armazenamentos vetoriais
  • Pessoas com conhecimento técnico podem se interessar por este artigo para entender os prós e contras de projetos que usam LangChain
  • É uma boa ferramenta para iniciantes começarem e também pode ser usada em projetos mais avançados
  • A documentação do LangChain é insuficiente, e muitos recursos não estão bem documentados
  • São necessários tutoriais e exemplos mais avançados para usuários que querem ir além do LangChain
  • A comunidade de programação tem opiniões divididas sobre o LangChain: alguns o consideram útil, enquanto outros o criticam por ser limitado
  • O desenvolvimento de ferramentas semelhantes ao LangChain faz parte da revolução de IA que avança rapidamente
  • Os usuários são incentivados a contribuir para projetos open source como o LangChain para melhorá-los
  • Para crescer e aprender, é importante que programadores sejam humildes e aceitem críticas
  • LangChain é um projeto open source popular na comunidade de IA
  • Alguns desenvolvedores acham que o LangChain não vale a pena porque não oferece novos recursos e é limitado
  • Em vez disso, podem ser usadas bibliotecas alternativas como SentenceTransformers, ChromaDB e requests
  • O LangChain é considerado um projeto de iniciantes por causa do grande número de estrelas no GitHub
  • Alguns desenvolvedores sugerem SymbolicAI ou Haystack como alternativas melhores ao LangChain
  • Há preocupações sobre a abstração em cadeia e a composicionalidade do LangChain, e alguns desenvolvedores acreditam que outras abstrações, como DAGs ou máquinas de estado, seriam mais eficazes
  • EdgeChains é outra biblioteca que oferece engenharia de prompts de IA generativa como gerenciamento de configuração
  • Alguns desenvolvedores expressam frustração com a documentação e o comportamento inconsistente do LangChain
  • No geral, o LangChain pode ser útil para fins de aprendizado, mas talvez não seja adequado para sistemas em nível de produto

3 comentários

 
xguru 2023-07-10

Também há várias opiniões no Hacker News.
LangChain já recebeu cerca de US$ 30 milhões em financiamento da Benchmark e da Sequoia, mas há muita discussão sobre se isso realmente se justifica.

Avaliação do desenvolvedor do simpleaichat, uma alternativa simples ao LangChain

  • LangChain não ajuda muito e ainda acaba gerando lock-in
  • O workflow/ReAct prompt engineering está ultrapassado
  • Depurar é quase impossível (mesmo com verbose=true)
  • Se você quiser fazer algo fora dos workflows mostrados na documentação, é realmente muito difícil fazer hacks, mesmo usando Custom Agents
  • Apesar disso, a atenção que o LangChain recebe acaba, na prática, sendo ruim para o ecossistema de IA
 
GN⁺ 2023-07-09
Opinião no Hacker News
  • Uma tentativa de resolver problemas sobre uma base técnica que não sustenta as limitações tecnológicas do LangChain
  • A geração atual de LLMs tem pouca reutilização
  • Para construir funcionalidades com cadeias de LLM, são necessários prompts personalizados escritos manualmente e formatos de dados específicos
  • O LangChain tenta criar abstrações para reutilização, mas no fim resulta em um framework intermediário de DAG com saídas ruins
  • O LangChain incentiva a dependência de ferramentas sem oferecer benefícios aos desenvolvedores
  • As implementações atuais de fluxos ReAct e de engenharia de prompts estão ultrapassadas
  • Depurar erros no LangChain é difícil, e manipular fluxos de trabalho é desafiador
  • Faltam detalhes necessários na documentação, obrigando o usuário a mergulhar diretamente no codebase
  • A popularidade do LangChain distorce o ecossistema de IA e prejudica o desenvolvimento e a legibilidade do código
  • O LiteChain, alternativa ao LangChain, oferece de fato mônadas componíveis e uma base de código mais simples
  • O LangChain está reinventando o ETL, onde já existem tecnologias robustas
  • As abstrações do LangChain quase não agregam valor e podem ser feitas facilmente sem o framework
  • O LangChain levantou um volume significativo de investimento, mas tem qualidade questionável
  • Em comparação com outras soluções, o desempenho do LangChain é fraco
  • O LangChain é visto como uma abstração equivocada que introduz sua própria API e complexidade
  • É sugerido descontinuar o uso de prompt jobs no LangChain
  • Desenvolvedores experientes de ML consideram o LangChain inútil para desenvolvimento de produto, embora ele ainda possa ser útil para outras pessoas