LangChain ออกแพ็กเกจ langchain-typesafe 0.0.1a3 มาพร้อม TypeSafeClassifier, ModelRouterMiddleware และ AutoModeMiddleware
langchain-typesafe 0.0.1a3 คือแพ็กเกจใหม่ใน repo หลักของ LangChain ที่เพิ่งออกรุ่น alpha หน้า release มีแค่เจ็ดบรรทัด แต่อ่านให้เป็นก็รู้ว่าควรลองหรือควรรอ

LangChain เปิดตัวแพ็กเกจใหม่ชื่อ langchain-typesafe เวอร์ชัน 0.0.1a3 โดยอยู่ใน repo หลักของโปรเจกต์โดยตรง
หน้า Release Note บน GitHub มีข้อความสั้น ๆ เพียง 7 บรรทัดที่ปล่อยออกมาผ่าน GitHub Actions ตัวไฟล์แพ็กเกจมีขนาด 24.4 KB และมีคนกด reaction ไว้ 1 คน
แม้เนื้อหาจะสั้น แต่ก็เปิดตัวเครื่องมือใหม่ที่สำคัญ 3 ตัว ได้แก่ TypeSafeClassifier และ middleware ขั้นทดลองอีก 2 ตัว คือ ModelRouterMiddleware กับ AutoModeMiddleware
สรุปข้อมูลจาก Release Note 7 บรรทัดของ langchain-typesafe
หน้า Release Note ขึ้นหัวข้อว่า Initial release ตามด้วยรายการ commit ทั้ง 7 บรรทัด เรียงตามที่แสดงบนหน้าเว็บจริง ดังนี้:
release(typesafe): 0.0.1a3 (#40693)
feat(typesafe): make classifier questions invocation-scoped (#40659)
release(typesafe): bump to 0.0.1a2 (#40576)
feat(typesafe): experimental AutoModeMiddleware (#40545)
feat(typesafe): experimental ModelRouterMiddleware (#40543)
fix(typesafe): trace usage metadata (#40570)
feat(typesafe): TypeSafeClassifier (#40542)ชื่อ commit ทั้ง 7 บรรทัดนี้มีจุดสังเกตสำคัญ 3 ส่วน:
- คำนำหน้าบอกประเภทงาน:
featคือการเพิ่มฟีเจอร์ใหม่fixคือการแก้บั๊ก ส่วนreleaseคือการปรับเลขเวอร์ชัน - คำในวงเล็บ
(typesafe): ปรากฏอยู่ในทุกบรรทัด และสั้นกว่าชื่อแพ็กเกจจริง ชื่อเต็มตามไฟล์ที่แนบมาคือlangchain-typesafe - หมายเลข Pull Request ท้ายบรรทัด: แต่ละรายการคือ PR ที่ไล่ตั้งแต่ #40542 ถึง #40693 การเปลี่ยนแปลงทั้งหมดนี้เกิดขึ้นห่างกันเพียงประมาณ 150 PR ใน repo หลักของ LangChain ที่มียอดดาวกว่า 147,000 ดาว
นอกจากนี้ แม้หัวข้อจะระบุว่าเป็น Initial release แต่ในรายการมี commit bump to 0.0.1a2 รวมอยู่ด้วย แสดงว่าหน้านี้รวมประวัติการพัฒนาของเวอร์ชันก่อนหน้าตั้งแต่เริ่มต้นแพ็กเกจไว้ด้วยกัน ไม่ได้มีเฉพาะสิ่งที่เพิ่มเข้ามาใหม่ใน a3 เท่านั้น
ความหมายของเวอร์ชัน 0.0.1a3 และสถานะ experimental ที่ต้องระวัง

ตามรูปแบบการกำหนดเวอร์ชันของแพ็กเกจในภาษา Python เลข 0.0.1a3 บ่งบอกสถานะการพัฒนาได้ชัดเจน:
- เลข 0.0.1: แสดงว่าแพ็กเกจยังอยู่ในช่วงเริ่มต้นพัฒนา ยังไม่ถึงเวอร์ชัน 0.1 ด้วยซ้ำ
- รหัส a3: ตัว
aย่อมาจาก Alpha เพื่อเตือนว่า API หรือรูปแบบคำสั่งใช้งานยังเปลี่ยนแปลงได้ตลอดเวลา ส่วนเลข3หมายถึง Alpha รอบที่ 3
นอกจากตัวแพ็กเกจจะอยู่ในสถานะ Alpha แล้ว ชื่อ commit ของ middleware ทั้ง 2 ตัวยังมีคำว่า experimental กำกับไว้ เพื่อระบุว่าอยู่ในขั้นทดลอง
สองคำนี้ความหมายต่างกัน โดย Alpha เป็นสถานะของแพ็กเกจทั้งก้อน ส่วนคำว่า experimental เป็นการระบุเฉพาะฟีเจอร์ ซึ่ง TypeSafeClassifier ไม่มีคำนี้ แต่ทั้ง ModelRouterMiddleware กับ AutoModeMiddleware มีกำกับไว้ทั้งคู่
ดังนั้น ถ้าใครนำแพ็กเกจนี้ไปใช้ในโปรเจกต์จริง จะต้องพร้อมรับมือกับการเปลี่ยนแปลงระดับ breaking changes ที่กระทบโค้ดเดิม เพราะเมื่อเวอร์ชันถัดไปออกมา ทั้งชื่อคลาสและรูปแบบการเรียกใช้งานอาจเปลี่ยนไปได้ทันที
ควรลองติดตั้งเลย หรือรอก่อนดี?

ตัดสินใจได้ 2 ทาง ขึ้นอยู่กับลักษณะการนำไปใช้งาน:
ทางเลือกแรก: ลองเลย เหมาะสำหรับคนที่ใช้ LangChain อยู่แล้ว และอยากเห็นว่าทั้งสามตัวหน้าตาเป็นอย่างไร วิธีที่ปลอดภัยคือลองในโปรเจกต์ทดสอบที่แยกออกจากงานจริง
ไฟล์ที่ต้องใช้มีแนบไว้ท้ายหน้า Release Note ทั้งหมด ได้แก่ ไฟล์ .whl สำหรับติดตั้งขนาด 24.4 KB และไฟล์ tar.gz ที่เป็น source code บีบอัดขนาด 196 KB
ทางเลือกที่สอง: รอก่อน เหมาะสำหรับคนที่นำ LangChain ไปใช้งานในระบบจริง แนะนำว่าควรรอให้พ้นสถานะ Alpha จนตัว a หายไปจากเลขเวอร์ชัน หรืออย่างน้อยรอจนถอดคำว่า experimental ออกจาก middleware ทั้งสองตัว เพื่อให้มั่นใจว่า API นิ่งพอและไม่เสี่ยงทำระบบพัง
ของที่ LangChain เองยังเรียกแค่ 0.0.1a3 เราก็ยังไม่ควรเรียกว่าของที่วางใจได้
ที่มา: โปรเจกต์ langchain-typesafe บน GitHub
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
ChatGPT Work ฉบับเข้าใจง่าย มอบงานให้ AI ทำจนจบ ตั้งแต่งานแรกจนถึงงานอัตโนมัติ พร้อม workflow ใช้ได้จริง 8 แบบ
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
สร้าง AI Automation Pipeline ทุกแบบ ด้วย Agents และ Skills

ปูจากพื้นฐาน prompt, context และ cost ไปจนปั้น Skill สั่ง Agent กับ Sub-agent แล้วต่อทุกอย่างเป็น pipeline อัตโนมัติที่ออกแบบเองได้ ดูฟรี 7 บทก่อนตัดสินใจ


