GN⁺: ปัญหาของ LangChain
(minimaxir.com)- LangChain: ไลบรารี Python และ JavaScript ที่เชื่อมต่อกับ GPT API ของ OpenAI เพื่อสร้างข้อความด้วย AI
- เป็นอิมพลีเมนเทชันของงานวิจัย ReAct และเป็นที่รู้กันว่าช่วยยกระดับคุณภาพข้อความเอาต์พุตของ LLM
- เวิร์กโฟลว์ ReAct มีประสิทธิภาพเป็นพิเศษกับ InstructGPT/text-davinci-003 แต่มีค่าใช้จ่ายสูงและไม่ง่ายต่อการใช้ในโปรเจ็กต์ขนาดเล็ก
- เมื่อ LangChain ได้รับความนิยม ก็สามารถระดมทุนได้ค่อนข้างมาก แม้จะยังไม่มีรายได้หรือแผนสร้างรายได้ที่ชัดเจน
- ในความเป็นจริงเคยตั้งใจจะใช้มันเพื่อสร้างแชตบอตที่ BuzzFeed
- เพราะ LangChain เป็นเครื่องมือยอดนิยมสำหรับ RAG(Retrieval-Augemented Generation)
- แต่แม้จะลองศึกษาค้นคว้าอยู่นานก็ยังใช้งานได้ไม่ดี มีบั๊กมากและคุณภาพก็ไม่ดี
- พอกลับไปทำเองในระดับล่างก็ได้ผลลัพธ์ที่ดีกว่า LangChain มาก
- เมื่อเห็นบทความ "สร้าง LangChain ด้วยโค้ด 100 บรรทัด" และคอมเมนต์ใน Hacker News ที่วิจารณ์ LangChain ก็ทำให้รู้ว่าไม่ได้เป็นอยู่คนเดียว
- ปัญหาของ LangChain คือมันเพิ่มความซับซ้อนและอคติที่ไม่จำเป็นให้กับระบบนิเวศ AI
- มือใหม่ที่อยากเรียนรู้วิธีเชื่อมต่อกับ ChatGPT ไม่ควรเริ่มจาก LangChain เด็ดขาด
- ตัวอย่างและโค้ดซับซ้อนกว่าการใช้ไลบรารี Python อย่างเป็นทางการของ OpenAI
- prompt engineering ของ LangChain แทบจะเป็นแค่ f-strings ที่เพิ่มขั้นตอนเข้ามาอีกชั้น
- เวิร์กโฟลว์ Agent และฟังก์ชันจดจำบทสนทนามีเอกสารไม่ดีพอ จึงอาจทำให้สับสนเวลาใช้งาน
- ฟังก์ชัน system prompt ผสานรวมกับเวิร์กโฟลว์ Agent ได้ไม่ดีนัก
- เอกสารและตัวอย่างมีปัญหามากกว่าข้อดี ทำให้ใช้งานจริงได้ยาก
- เอเจนต์ของ LangChain ใช้วิธีเลือกเครื่องมือแบบเฉพาะผ่าน prompt engineering และเอาต์พุต JSON
- การเปลี่ยนแปลงโครงสร้างเอาต์พุตตามปกติอาจทำให้เอเจนต์ทำงานไม่ได้ และอาจต้องมีการจัดการข้อผิดพลาดในการ parse
- แชตบอตสามารถดึงและจัดรูปแบบสูตรอาหารได้อย่างถูกต้อง แต่เอาต์พุตก็น่าเบื่อ
- แม้จะมีฟังก์ชันสำหรับสร้างเอเจนต์และเชนแบบกำหนดเอง แต่สิ่งนี้ก็ทำให้กระบวนการซับซ้อนขึ้น
- LangChain มีฟังก์ชันยูทิลิตีอย่าง text splitter และ vector store แบบรวมศูนย์ แต่ก็จำกัดให้ใช้ได้กับโค้ดที่อิง LangChain เท่านั้น
- LangChain เพิ่ม overhead และความซับซ้อนในกรณีใช้งานยอดนิยมส่วนใหญ่
- ดูเหมือนจะยึดแนวคิดว่า “it’s complicated, so it must be better!”
- ผู้เขียนได้พัฒนาแพ็กเกจ Python ชื่อ simpleaichat ที่เรียบง่ายกว่ามากไว้เป็นทางเลือกแทน LangChain
- ไม่ได้ต้องการโฆษณา simpleaichat แต่กังวลว่ามือใหม่จะหันไปใช้ LangChain
4 ความคิดเห็น
ผมเองก็ลองวิเคราะห์ langchain ดูแล้วเหมือนกัน และรู้สึกอย่างมากว่ามันถูกออกแบบเกินความจำเป็น
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3
ดูเหมือนว่าควรจะมองความหมายของ
langchain은 llm echosystem을 어떻게 구성할 것인가?ว่าเป็นโอเพนซอร์สตัวแรกที่โยนประเด็นนี้ขึ้นมาถึงแม้การใช้งานของ langchain จะไม่ค่อยดีนัก แต่ปัญหาที่ langchain พยายามจะแก้ก็ยังคงอยู่ครับ
ตอนนี้มี GN+ รวมอยู่ใน RSS ด้วยแล้วสินะครับ ขอบคุณครับ @xguru จะติดตามอ่านนะครับ
LangChain ไม่มีสาระ
คิดว่านี่เป็นบทความต่อเนื่องจากข่าวนี้
Max Woolf ผู้เขียนบล็อกนี้เคยวิจารณ์ในคอมเมนต์ของข่าวข้างต้นว่า LangChain แทบไม่มีประโยชน์อะไรเลย แล้วก็ได้พัฒนาและเผยแพร่ simpleaichat ซึ่งเป็นทางเลือกแทน
คราวนี้ยังออกบทความที่สรุปปัญหาต่าง ๆ ไว้อีกด้วย
ความเห็นจาก Hacker News