LangChain คืออะไร

LangChain เป็นเฟรมเวิร์กโอเพนซอร์สสำหรับการสร้างแอปพลิเคชันตามโมเดลภาษาขนาดใหญ่ (LLM) LLM เป็นโมเดลดีปเลิร์นนิงขนาดใหญ่ที่ได้รับการฝึกมาล่วงหน้าเกี่ยวกับข้อมูลจำนวนมาก ซึ่งสามารถสร้างการตอบสนองต่อข้อสงสัยของผู้ใช้ได้ เช่น การตอบคำถามหรือการสร้างภาพจากพรอมต์ LangChain มีเครื่องมือและ Abstraction มากมายเพื่อปรับปรุงการปรับแต่ง ความแม่นยำ และความเกี่ยวข้องของข้อมูลที่โมเดลสร้างขึ้น ตัวอย่างเช่น นักพัฒนาสามารถใช้ส่วนประกอบของ LangChain เพื่อสร้าง Prompt Chain (เชนพรอมต์) ใหม่หรือปรับแต่งเทมเพลตที่มีอยู่ได้ นอกจากนี้ LangChain ยังมีส่วนประกอบที่อนุญาตให้ LLM เข้าถึงชุดข้อมูลใหม่โดยไม่ต้องฝึกซ้ำอีกด้วย

ทำไม LangChain ถึงมีความสำคัญ

LLM เชี่ยวชาญในการตอบสนองต่อคำแนะนำในบริบททั่วไป แต่ต้องประสบปัญหาในขอบเขตเฉพาะที่ไม่เคยได้รับการฝึกมาก่อน พร้อมท์คือคือการสืบค้นที่ผู้คนใช้เพื่อค้นหาคำตอบจาก LLM ตัวอย่างเช่น LLM สามารถให้คำตอบว่าคอมพิวเตอร์มีค่าใช้จ่ายเท่าใดโดยการประมาณการ อย่างไรก็ตาม LLM ไม่สามารถระบุราคาของคอมพิวเตอร์รุ่นใดรุ่นหนึ่งที่บริษัทของคุณขายได้ 

ในการทำเช่นนั้น วิศวกรแมชชีนเลิร์นนิงจะต้องรวม LLM เข้ากับแหล่งที่มาของข้อมูลภายในขององค์กร และใช้วิศวกรรมการโต้ตอบ ซึ่งเป็นแนวทางปฏิบัติที่นักวิทยาศาสตร์ด้านข้อมูลปรับแต่งอินพุตให้เป็นโมเดลเชิงกำเนิดที่มีโครงสร้างและบริบทเฉพาะ 

LangChain จะปรับปรุงขั้นตอนกลางให้มีประสิทธิภาพมากขึ้นเพื่อพัฒนาแอปพลิเคชันที่ตอบสนองต่อข้อมูลดังกล่าว ทำให้วิศวกรรมการโต้ตอบมีประสิทธิภาพมากขึ้น โดยได้รับการออกแบบมาเพื่อพัฒนาแอปพลิเคชันที่หลากหลายซึ่งขับเคลื่อนโดยโมเดลภาษาได้อย่างง่ายดายยิ่งขึ้น รวมถึงแชทบอท การตอบคำถาม การสร้างเนื้อหา การสรุป และอื่นๆ

ส่วนต่อไปนี้จะอธิบายถึงประโยชน์ของ LangChain

ปรับใช้โมเดลภาษาใหม่

ด้วย LangChain องค์กรต่างๆ สามารถนำ LLM ไปปรับใช้สำหรับแอปพลิเคชันเฉพาะโดเมนโดยไม่ต้องฝึกใหม่หรือปรับแต่งอย่างละเอียด ทีมพัฒนาสามารถสร้างแอปพลิเคชันที่ซับซ้อนโดยอ้างอิงข้อมูลที่เป็นกรรมสิทธิ์เพื่อเพิ่มการตอบสนองของโมเดล ตัวอย่างเช่น คุณสามารถใช้ LangChain เพื่อสร้างแอปพลิเคชันที่อ่านข้อมูลจากเอกสารภายในที่เก็บไว้และสรุปให้เป็นการตอบกลับการสนทนา คุณสามารถสร้างเวิร์กโฟลว์ Retrieval Augmented Generation (RAG) ที่แนะนำข้อมูลใหม่ให้กับโมเดลภาษาในระหว่างการพร้อมท์ การใช้เวิร์กโฟลว์การรับรู้บริบทเช่น RAG ช่วยลดผลลัพธ์เพี้ยนของโมเดลและปรับปรุงความแม่นยำในการตอบสนอง 

ลดความยุ่งยากในการพัฒนา AI

LangChain ทำให้การพัฒนาปัญญาประดิษฐ์ (AI) ง่ายขึ้นโดยการสรุปความซับซ้อนของการบูรณาการแหล่งที่มาของข้อมูลและการปรับปรุงอย่างรวดเร็ว นักพัฒนาสามารถปรับแต่งลำดับเพื่อสร้างแอปพลิเคชันที่ซับซ้อนได้อย่างรวดเร็ว แทนที่จะเขียนโปรแกรมตรรกะทางธุรกิจ ทีมซอฟต์แวร์สามารถปรับเปลี่ยนเทมเพลตและไลบรารีที่ LangChain จัดเตรียมไว้ให้เพื่อลดเวลาในการพัฒนา 

การสนับสนุนนักพัฒนา

LangChain มอบเครื่องมือให้นักพัฒนา AI เพื่อเชื่อมต่อโมเดลภาษากับแหล่งที่มาของข้อมูลภายนอก โดยเป็นโอเพ่นซอร์สและได้รับการสนับสนุนจากชุมชนที่กระตือรือร้น องค์กรต่างๆ สามารถใช้ LangChain ได้ฟรีและได้รับการสนับสนุนจากนักพัฒนารายอื่นๆ ที่เชี่ยวชาญด้านเฟรมเวิร์ก

LangChain ทำงานอย่างไร

ด้วย LangChain นักพัฒนาสามารถปรับโมเดลภาษาได้อย่างยืดหยุ่นให้เข้ากับบริบททางธุรกิจที่เฉพาะเจาะจง โดยการกำหนดขั้นตอนที่จำเป็นเพื่อให้ได้ผลลัพธ์ที่ต้องการ 

เชน

เชน เป็นหลักการพื้นฐานที่เก็บองค์ประกอบ AI ต่างๆ ใน LangChain เพื่อให้การตอบสนองตามบริบท เชนคือชุดของการดำเนินการอัตโนมัติตั้งแต่คำค้นหาของผู้ใช้ไปจนถึงเอาต์พุตของโมเดล ตัวอย่างเช่น นักพัฒนาสามารถใช้เชนเพื่อ:

  • การเชื่อมต่อกับแหล่งที่มาของข้อมูลที่แตกต่างกัน
  • การสร้างเนื้อหาที่ไม่ซ้ำกัน
  • การแปลหลายภาษา
  • การตอบคำถามของผู้ใช้ 

ลิงก์

เชนทำจากลิงก์ การกระทำแต่ละรายการที่นักพัฒนาร้อยเข้าด้วยกันเพื่อสร้างลำดับที่เชื่อมโยงกันเรียกว่าลิงก์ ด้วยลิงก์ นักพัฒนาสามารถแบ่งงานที่ซับซ้อนออกเป็นงานเล็กๆ หลายงานได้ ตัวอย่างของลิงก์ ได้แก่:

  • การจัดรูปแบบอินพุตของผู้ใช้ 
  • การส่งการสืบค้นไปยัง LLM 
  • การดึงข้อมูลจากที่เก็บข้อมูลบนคลาวด์
  • การแปลจากภาษาหนึ่งไปยังอีกภาษาหนึ่ง

ในกรอบงาน LangChain ลิงก์จะยอมรับอินพุตจากผู้ใช้และส่งไปยังไลบรารี LangChain เพื่อประมวลผล LangChain ยังอนุญาตให้จัดเรียงลิงก์ใหม่เพื่อสร้างเวิร์กโฟลว์ AI ที่แตกต่างกันด้วย 

ภาพรวม

หากต้องการใช้ LangChain นักพัฒนาจะติดตั้งเฟรมเวิร์กใน Python ด้วยคำสั่งต่อไปนี้:

pip install langchain 

จากนั้นนักพัฒนาจึงใช้ chain building block หรือ LangChain Expression Language (LCEL) เพื่อเขียนเชนด้วยคำสั่งการเขียนโปรแกรมง่ายๆ ฟังก์ชัน chain() จะส่งอาร์กิวเมนต์ของลิงก์ไปยังไลบรารี คำสั่ง execute() จะดึงผลลัพธ์ นักพัฒนาสามารถส่งผลลัพธ์ของลิงก์ปัจจุบันไปยังลิงก์ต่อไปนี้หรือส่งคืนเป็นเอาต์พุตสุดท้ายได้ 

ด้านล่างนี้เป็นตัวอย่างฟังก์ชันเชนแชทบอทที่ส่งคืนรายละเอียดสินค้าในหลายภาษา

chain([

retrieve_data_from_product_database()

send_data_to_language_model()

   format_output_in_a_list()

  translate_output_in_target_language()

])

องค์ประกอบหลักของ LangChain คืออะไร

เมื่อใช้ LangChain ทีมซอฟต์แวร์สามารถสร้างระบบโมเดลภาษาแบบรับรู้บริบทด้วยโมดูลต่อไปนี้ 

อินเทอร์เฟซ LLM

LangChain นั้นมอบ API ที่นักพัฒนาสามารถเชื่อมต่อและสืบค้น LLM จากโค้ดได้ นักพัฒนาสามารถเชื่อมต่อกับโมเดลสาธารณะและที่เป็นกรรมสิทธิ์ เช่น GPT, Bard และ PaLM ด้วย LangChain โดยการเรียกใช้ API แบบง่ายๆ แทนที่จะต้องเขียนโค้ดที่ซับซ้อน

เทมเพลตพร้อมท์

เทมเพลตพร้อมท์ เป็นโครงสร้างที่สร้างไว้ล่วงหน้าที่นักพัฒนาใช้เพื่อจัดรูปแบบการสืบค้นสำหรับโมเดล AI อย่างสม่ำเสมอและแม่นยำ นักพัฒนาสามารถสร้างเทมเพลตพร้อมท์สำหรับแอปพลิเคชันแชทบอท การเรียนรู้แบบไม่กี่ขั้นตอน หรือส่งคำแนะนำเฉพาะไปยังโมเดลภาษา นอกจากนี้ยังสามารถนำเทมเพลตกลับมาใช้ซ้ำกับแอปพลิเคชันและโมเดลภาษาต่างๆ ได้อีกด้วย 

เจ้าหน้าที่

นักพัฒนาใช้เครื่องมือและไลบรารีที่ LangChain จัดเตรียมไว้เพื่อเขียนและปรับแต่งเชนที่มีอยู่สำหรับแอปพลิเคชันที่ซับซ้อน เจ้าหน้าที่คือเชนพิเศษที่แจ้งให้โมเดลภาษาตัดสินใจลำดับที่ดีที่สุดเพื่อตอบสนองต่อการสืบค้น เมื่อใช้เจ้าหน้าที่ นักพัฒนาจะให้ข้อมูลของผู้ใช้ เครื่องมือที่มีอยู่ และขั้นตอนกลางที่เป็นไปได้เพื่อให้ได้ผลลัพธ์ตามที่ต้องการ จากนั้น โมเดลภาษาจะส่งกลับลำดับการดำเนินการที่แอปพลิเคชันสามารถทำได้  

โมดูลการดึงข้อมูล

LangChain ช่วยให้สามารถออกแบบสถาปัตยกรรมของระบบ RAG ด้วยเครื่องมือมากมายในการแปลง จัดเก็บ ค้นหา และเรียกค้นข้อมูลที่ปรับแต่งการตอบสนองของโมเดลภาษา นักพัฒนาสามารถสร้างการนำเสนอข้อมูลเชิงความหมายด้วยการฝังคำ และจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ภายในเครื่องหรือบนคลาวด์ 

หน่วยความจำ

แอปพลิเคชันโมเดลภาษาสนทนาบางแอปพลิเคชันจะปรับแต่งการตอบกลับด้วยข้อมูลที่เรียกคืนจากการโต้ตอบในอดีต LangChain ช่วยให้นักพัฒนาสามารถรวมความสามารถด้านหน่วยความจำในระบบของตนได้ โดยรองรับ:

  • ระบบหน่วยความจำแบบธรรมดาที่จำการสนทนาล่าสุดได้ 
  • โครงสร้างหน่วยความจำที่ซับซ้อนซึ่งวิเคราะห์ข้อความในอดีตเพื่อให้ได้ผลลัพธ์ที่เกี่ยวข้องมากที่สุด 

การเรียกกลับ

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

AWS จะช่วยเรื่องข้อกำหนด LangChain ของคุณได้อย่างไรบ้าง 

เมื่อใช้ Amazon Bedrock, Amazon Kendra, Amazon SageMaker JumpStart, LangChain และ LLM คุณจะสามารถสร้างแอปพลิเคชันปัญญาประดิษฐ์ช่วยสร้าง (AI ช่วยสร้าง) ที่มีความแม่นยำสูงบนข้อมูลองค์กรได้ LangChain เป็นอินเทอร์เฟซที่เชื่อมโยงส่วนประกอบเหล่านี้เข้าด้วยกัน:

  • Amazon Bedrock เป็นบริการที่ได้รับการจัดการซึ่งองค์กรต่าง ๆ สามารถสร้างและปรับใช้แอปพลิเคชัน AI ช่วยสร้างได้ คุณสามารถใช้ Amazon Bedrock เพื่อตั้งค่าโมเดลช่วยสร้างที่คุณสามารถเข้าถึงได้จาก LangChain 
  • Amazon Kendra เป็นบริการที่ขับเคลื่อนด้วยแมชชีนเลิร์นนิง (ML) ซึ่งช่วยให้องค์กรดำเนินการค้นหาภายในได้ คุณสามารถเชื่อมต่อ Amazon Kendra กับ LangChain ได้ ซึ่งจะใช้ข้อมูลจากฐานข้อมูลที่เป็นกรรมสิทธิ์ในการปรับแต่งเอาต์พุตโมเดลภาษา 
  • Amazon SageMaker Jumpstart เป็นฮับ ML ที่มีอัลกอริทึมที่สร้างไว้ล่วงหน้าและโมเดลพื้นฐานที่นักพัฒนาสามารถปรับใช้ได้อย่างรวดเร็ว คุณสามารถโฮสต์โมเดลพื้นฐานบน SageMaker Jumpstart และแจ้งเตือนจาก LangChain 

เริ่มต้นใช้งาน LangChain บน AWS ด้วยการสร้างบัญชีวันนี้

ขั้นตอนถัดไปบน AWS

ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที

ลงชื่อสมัครใช้งาน 
เริ่มต้นการสร้างในคอนโซล

เริ่มต้นสร้างในคอนโซลการจัดการของ AWS

ลงชื่อเข้าใช้