GN⁺: LangChain की समस्याएँ
(minimaxir.com)- LangChain: AI टेक्स्ट जनरेशन के लिए OpenAI के GPT API के साथ इंटरफ़ेस करने वाली Python और JavaScript लाइब्रेरी
- ReAct पेपर का implementation, जिसके बारे में कहा जाता है कि यह LLM के आउटपुट टेक्स्ट की गुणवत्ता बेहतर करता है
- ReAct workflow, InstructGPT/text-davinci-003 में खास तौर पर प्रभावी था, लेकिन यह महंगा था और छोटे प्रोजेक्ट्स में इस्तेमाल करना आसान नहीं था
- LangChain ने लोकप्रियता हासिल करते हुए, अलग से कोई revenue या monetization योजना न होने के बावजूद, काफ़ी funding जुटाई
- वास्तव में इसे BuzzFeed में chatbot बनाने के लिए इस्तेमाल करने की कोशिश की गई थी
- क्योंकि RAG(Retrieval-Augemented Generation) के लिए LangChain एक लोकप्रिय टूल था
- लेकिन, काफ़ी रिसर्च करने के बाद भी यह ठीक से काम नहीं किया। bugs भी बहुत थे और गुणवत्ता भी अच्छी नहीं थी
- फिर low-level पर वापस जाकर सीधे development करने पर, LangChain से कहीं बेहतर परिणाम मिले
- Hacker News पर "100 lines of code में LangChain बनाना" लेख और टिप्पणियों में LangChain की आलोचना देखकर पता चला कि ऐसा सिर्फ मेरे साथ नहीं था
- LangChain की समस्या यह है कि यह AI ecosystem में अनावश्यक complexity और bias जोड़ता है
- जो शुरुआती लोग ChatGPT के साथ इंटरफ़ेस करना सीखना चाहते हैं, उन्हें कभी भी LangChain से शुरुआत नहीं करनी चाहिए
- examples और code, OpenAI की आधिकारिक Python लाइब्रेरी इस्तेमाल करने की तुलना में अधिक जटिल हैं
- LangChain की prompt engineering, असल में अतिरिक्त steps जोड़ देने वाली f-strings भर है
- Agent workflow और conversation memory फीचर्स अच्छी तरह document नहीं किए गए हैं, इसलिए इन्हें इस्तेमाल करना भ्रमित कर सकता है
- system prompt फीचर, Agent workflow के साथ ठीक से integrate नहीं होता
- docs और examples में फायदों से ज़्यादा समस्याएँ हैं, इसलिए वास्तविक उपयोग में कठिनाई होती है
- LangChain agents, prompt engineering और JSON output के ज़रिए टूल चुनने का एक अलग तरीका इस्तेमाल करते हैं
- सामान्य output structure में बदलाव होने पर agents काम करना बंद कर सकते हैं और parsing errors को संभालना पड़ सकता है
- chatbot recipes को सही तरीके से extract और format कर सकता है, लेकिन output नीरस होता है
- इसमें custom agents और chain फीचर्स हैं, लेकिन ये process को और जटिल बनाते हैं
- text splitters और integrated vector stores जैसी utility सुविधाओं वाला LangChain, इस्तेमाल को इस सीमा में बाँध देता है कि आप केवल LangChain-आधारित code ही इस्तेमाल कर सकें
- LangChain अधिकांश लोकप्रिय use cases में overhead और complexity बढ़ाता है
- लगता है जैसे यह “it’s complicated, so it must be better!” दर्शन को लागू करता है
- लेखक ने LangChain के विकल्प के रूप में simpleaichat नाम का एक कहीं अधिक सरल Python package विकसित किया
- यह simpleaichat का प्रचार नहीं है, बल्कि चिंता इस बात की है कि कहीं शुरुआती लोग LangChain की तरफ़ न चले जाएँ
4 टिप्पणियां
मैंने भी langchain का विश्लेषण किया है, और नतीजे में मुझे काफी हद तक यह over-engineered लगा।
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3
मेरा मानना है कि इसका महत्व इस रूप में देखना चाहिए कि
langchain은 llm echosystem을 어떻게 구성할 것인가?जैसे सवाल को सबसे पहले उठाने वाला open source यही था।भले ही langchain की usability कम हो, लेकिन जिन समस्याओं को langchain हल करना चाहता था, वे अब भी बनी हुई हैं।
अब RSS में भी GN+ शामिल हो गया है। धन्यवाद। @xguru जी, मैं इसे ध्यान से पढ़ूंगा।
LangChain बेमानी है
मुझे लगता है कि यह उसी लेख की अगली कड़ी है।
इस ब्लॉग के लेखक Max Woolf ने ऊपर दिए गए लेख की टिप्पणियों में LangChain को सच में बेकार बताते हुए आलोचना की थी, और फिर उसका विकल्प simpleaichat विकसित करके सार्वजनिक किया था।
इस बार उन्होंने इसकी समस्याओं को समेटता हुआ एक लेख भी प्रकाशित किया है।
Hacker News राय
lambda over let over lambdaइस्तेमाल करने वाला एक वैकल्पिक approach सुझाया गया है।