ภาษาสำหรับการแสดงของ LangChain (LCEL) เป็นวิธีการจัดการ ด้วยการประกาศบอกคำของขั้นตอนกำลังประมวลผลปัจจุบันซึ่งอนุญาตให้การทำงานแบบหลายขั้นตอนถูกผสมกันได้อย่างง่ายเหมือนเชื่อมโยงเข้าด้วยกันเป็นลูกโซ่ ดังนั้น การทำงานที่ถูกนิยามโดย LCEL นับเป็น "ลูกโซ่" ใน LangChain จากลูกโซ่ที่ง่ายที่สุด "prompt + LLM" ไปจนถึงลูกโซ่ที่ซับซ้อนที่สุด (เช่น ลูกโซ่ที่ประกอบด้วยขั้นตอนหลายร้อยขั้นตอน)

คุณสมบัติของภาษาสำหรับการแสดงของ LangChain มีดังนี้:

  • รองรับการประมวลผลแบบสตรีม: เมื่อสร้างลูกโซ่โดยใช้ LCEL เพื่อให้ได้เนื้อหาที่ส่งกลับโดยโมเดล LLM อย่างรวดเร็ว LCEL ยังรองรับการประมวลผลแบบสตรีมเพื่อให้ได้ผลลัพธ์ที่คล้ายกับการดึงเนื้อหาตัวอักษรตัวอักษรเหมือนกับ ChatGPT

  • รองรับการใช้งานแบบไม่ซิงโครนัส: ทุกลูกโซ่ที่สร้างขึ้นโดยใช้ LCEL สามารถใช้งานกับ API แบบทั้งซิงโครนัสและแบบไม่ซิงโครนัส วัตถุประการของการใช้งาน API แบบไม่ซิงโครนัสคือเพื่อปรับปรุงประสิทธิภาพและรองรับคำขอที่ซ้อนกันมากขึ้น

  • รองรับการประมวลผลแบบครึ่งพร้อม: เมื่อลูกโซ่ของคุณที่ใช้ LCEL มีขั้นตอนที่สามารถทำงานครึ่งพร้อม (ตัวอย่างเช่น หากคุณกำลังดึงเอกสารจากแหล่งข้อมูลหลายแหล่ง) เราจะดำเนินการทำงานในครึ่งพร้อมอัตโนมัติทั้งสำหรับอินเทอร์เฟซทั้งแบบซิงโครนัสและแบบไม่ซิงโครนัสเพื่อให้ได้ค่าลาต้อยสุดต่ำ

  • การกลับมาและย้อนไป: กำหนดการกลับมาและย้อนไปสำหรับส่วนใดของลูกโซ่ที่ใช้ LCEL

  • รองรับการเข้าถึงผลลัพธ์ชั่วคราว: สำหรับลูกโซ่การทำงานที่ซับซ้อน เป็นครั้งที่ต้องการจะสามารถดูผลลัพธ์ชั่วคราวระหว่างขั้นตอนงานที่แตกต่างกันในระหว่างการแก้ปัญหา

  • โหมดอินพุตและเอาท์พุต: โหมดอินพุตและเอาท์พุตถูกสรุปตามโครงสร้างของลูกโซ่เพื่อให้ศัพท์ Pydantic และ JSONSchema สำหรับแต่ลูกโซ่ให้ไว้เช็คข้อมูลเข้าและข้อมูลออก และเป็นส่วนหนึ่งของ LangServe

  • รองรับการเชื่อมต่อกับบริการตรวจสอบ LangSmith: หากลูกโซ่กำลังกลายเป็นซับซ้อนขึ้น การเข้าใจโอกาสแต่ละขั้นตอนที่แม่นยำถูกยิ่งสำคัญมากขึ้น ด้วย LCEL ขั้นตอนทั้งหมดจะถูกบันทึกโดยอัตโนมัติไปยัง LangSmith เพื่อทำให้เกิดความสามารถในการสังเกตการณ์และการแก้ปัญหาสูงสุด

  • รองรับการประยุกต์ใช้ LangServe: ลูกโซ่ใดที่สร้างขึ้นโดยใช้ LCEL สามารถถูกประยุกต์ใช้งานได้อย่างง่ายดายโดยใช้ LangServe