16 points par xguru 2023-07-16 | 4 commentaires | Partager sur WhatsApp
  • LangChain : une bibliothèque Python et JavaScript qui s’interface avec l’API GPT d’OpenAI pour la génération de texte par IA
    • Une implémentation de l’article ReAct, connue pour améliorer la qualité du texte produit par les LLM
    • Le workflow ReAct était particulièrement efficace avec InstructGPT/text-davinci-003, mais il coûte cher et n’est pas facile à utiliser pour de petits projets
  • À mesure que LangChain a gagné en popularité, le projet a levé des fonds importants sans avoir de revenus distincts ni de plan de monétisation
  • Il a effectivement été envisagé de l’utiliser chez BuzzFeed pour créer un chatbot
    • Parce que LangChain était un outil populaire pour le RAG (Retrieval-Augmented Generation)
    • Mais même après de longues recherches, cela ne fonctionnait pas bien. Il y avait beaucoup de bugs et la qualité n’était pas bonne
    • En revenant à un niveau plus bas et en développant directement, on obtenait des résultats bien meilleurs qu’avec LangChain
    • En voyant l’article et les commentaires sur Hacker News, « Créer LangChain en 100 lignes de code », l’auteur a compris qu’il n’était pas le seul à critiquer LangChain
  • Le problème de LangChain est qu’il ajoute une complexité et des biais inutiles à l’écosystème de l’IA
    • Les débutants qui veulent apprendre à interfacer avec ChatGPT ne devraient jamais commencer par LangChain
    • Les exemples et le code sont plus complexes que d’utiliser la bibliothèque Python officielle d’OpenAI
    • Le prompt engineering de LangChain n’est en pratique guère plus que des f-strings avec des étapes supplémentaires
    • Les workflows d’agents et les fonctions de mémoire conversationnelle sont mal documentés, ce qui peut les rendre déroutants à utiliser
    • La fonction de prompt système n’est pas correctement intégrée aux workflows d’agents
    • La documentation et les exemples posent plus de problèmes qu’ils n’apportent d’avantages, ce qui complique l’usage réel
  • Les agents LangChain utilisent une méthode particulière de sélection d’outils via le prompt engineering et la sortie JSON
    • Des changements dans la structure normale de sortie peuvent empêcher les agents de fonctionner et nécessiter une gestion des erreurs de parsing
    • Le chatbot peut extraire et formater correctement des recettes, mais la sortie reste ennuyeuse
    • Il propose des fonctions d’agents et de chaînes personnalisés, mais cela complexifie le processus
    • Avec des utilitaires comme le découpeur de texte et le stockage vectoriel intégré, LangChain impose des limitations qui enferment l’utilisateur dans du code basé sur LangChain
  • LangChain augmente la surcharge et la complexité dans la plupart des cas d’usage populaires
    • Il semble incarner la philosophie : « c’est compliqué, donc ça doit être mieux ! »
  • L’auteur a développé un package Python bien plus simple, simpleaichat, comme alternative à LangChain
  • Il ne s’agit pas de faire la promotion de simpleaichat, mais d’une inquiétude à l’idée que les débutants se tournent vers LangChain

4 commentaires

 
sungwoo 2023-07-18

Après avoir moi aussi analysé LangChain, j’ai eu très souvent l’impression que c’était de l’over-engineering.
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3

Je pense qu’il faut trouver sa signification dans le fait que LangChain a été le premier projet open source à poser la question : comment structurer l’écosystème des LLM ?

Même si l’utilisabilité de LangChain laisse à désirer, le problème qu’il cherchait à résoudre, lui, reste toujours entier.

 
ohyecloudy 2023-07-17

GN+ est désormais aussi inclus dans le RSS. Merci. @xguru, je vais vous lire avec attention.

 
xguru 2023-07-16

LangChain est dénué de sens

Je pense que cet article s’inscrit dans la continuité de celui-ci.
L’auteur de ce blog, Max Woolf, avait déjà vivement critiqué dans les commentaires de l’article ci-dessus le fait que LangChain soit réellement inutile, puis il a développé et publié son alternative, simpleaichat.
Cette fois, il a même publié un article qui récapitule les problèmes.

 
GN⁺ 2023-07-16
Avis sur Hacker News
  • LangChain est considéré comme un logiciel médiocre, et il est prévu de le réécrire entièrement.
  • Une API de bibliothèque Python a été ajoutée à l’outil en ligne de commande LLM, ce qui permet des appels de modèle légers.
  • LangChain est critiqué comme une couche intermédiaire inutile qui n’améliore pas l’expérience de développement.
  • Malgré ses problèmes, de nombreux utilisateurs trouvent LangChain amusant et utile pour construire avec des LLM.
  • LangChain propose des outils intéressants et un sélecteur d’exemples, mais la qualité du code laisse à désirer.
  • Cet article est jugé trop critique et accusé de dénigrer le travail de l’auteur original.
  • LangChain est utile pour trouver des idées et prototyper, mais il est souvent plus simple de tout implémenter soi-même.
  • Prototyper avec LangChain aide à valider des idées avant d’y investir des ressources importantes.
  • Une approche alternative utilisant lambda over let over lambda est proposée pour implémenter des fonctionnalités similaires.