16 คะแนน โดย xguru 2023-07-16 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 ความคิดเห็น

 
sungwoo 2023-07-18

ผมเองก็ลองวิเคราะห์ langchain ดูแล้วเหมือนกัน และรู้สึกอย่างมากว่ามันถูกออกแบบเกินความจำเป็น
http://swcho.github.io/blogs/2023-07-15-langchainjs-part-3

ดูเหมือนว่าควรจะมองความหมายของ langchain은 llm echosystem을 어떻게 구성할 것인가? ว่าเป็นโอเพนซอร์สตัวแรกที่โยนประเด็นนี้ขึ้นมา

ถึงแม้การใช้งานของ langchain จะไม่ค่อยดีนัก แต่ปัญหาที่ langchain พยายามจะแก้ก็ยังคงอยู่ครับ

 
ohyecloudy 2023-07-17

ตอนนี้มี GN+ รวมอยู่ใน RSS ด้วยแล้วสินะครับ ขอบคุณครับ @xguru จะติดตามอ่านนะครับ

 
xguru 2023-07-16

LangChain ไม่มีสาระ

คิดว่านี่เป็นบทความต่อเนื่องจากข่าวนี้
Max Woolf ผู้เขียนบล็อกนี้เคยวิจารณ์ในคอมเมนต์ของข่าวข้างต้นว่า LangChain แทบไม่มีประโยชน์อะไรเลย แล้วก็ได้พัฒนาและเผยแพร่ simpleaichat ซึ่งเป็นทางเลือกแทน
คราวนี้ยังออกบทความที่สรุปปัญหาต่าง ๆ ไว้อีกด้วย

 
GN⁺ 2023-07-16
ความเห็นจาก Hacker News
  • LangChain ถูกมองว่าเป็นซอฟต์แวร์ห่วย และมีแผนจะเขียนใหม่ทั้งหมด
  • มีการเพิ่ม Python library API ให้กับเครื่องมือ LLM CLI ทำให้สามารถเรียกใช้โมเดลแบบเบา ๆ ได้
  • LangChain ถูกวิจารณ์ว่าเป็นตัวกลางที่ไม่จำเป็นและไม่ได้ช่วยปรับปรุงประสบการณ์การเขียนโค้ด
  • แม้จะมีปัญหา ผู้ใช้จำนวนมากก็ยังใช้ LangChain อย่างสนุกและพบว่ามันมีประโยชน์สำหรับการสร้างสิ่งต่าง ๆ ด้วย LLM
  • LangChain มีเครื่องมือที่น่าสนใจและตัวเลือกตัวอย่างที่ดี แต่คุณภาพของโค้ดยังไม่ดีพอ
  • บทความนี้มีน้ำเสียงเชิงวิจารณ์ และถูกกล่าวหาว่าเป็นการโจมตีผลงานของผู้เขียนต้นฉบับ
  • LangChain มีประโยชน์สำหรับการหาไอเดียและทำต้นแบบ แต่บ่อยครั้งการลงมือทำทุกอย่างเองกลับง่ายกว่า
  • การทำต้นแบบด้วย LangChain ช่วยตรวจสอบไอเดียได้ก่อนจะลงทุนทรัพยากรสำคัญ
  • มีการเสนอแนวทางทางเลือกโดยใช้ lambda over let over lambda เพื่อทำฟังก์ชันที่คล้ายกัน