LangChain คืออะไร

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

อ่านเกี่ยวกับโมเดลภาษาขนาดใหญ่ (LLM)

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

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

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

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

ส่วนต่อไปนี้จะอธิบายถึงประโยชน์ของ 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

ดูแหล่งข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์
สร้างสรรค์นวัตกรรมได้เร็วขึ้นด้วยบริการ AI ช่วยสร้างของ AWS 
ลงชื่อสมัครใช้บัญชีฟรี

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

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

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

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