แนะนำ
LangChain คือเฟรมเวิร์คการพัฒนาแอปพลิเคชัน AI ที่เปิดเป็นโค้ดซอร์สของ Python ซึ่งมีโมดูลและเครื่องมือสำหรับการสร้างแอปพลิเคชัน AI โดยใช้โมเดลขนาดใหญ่ เน้นที่การประยุกต์ใช้ Large Language Models (LLMs) เพื่อสร้างโมเดลที่สามารถสร้างข้อความ ตอบคำถาม แปลภาษา และสนทนาได้อย่างง่ายดาย LangChain ช่วยลดความยากในการพัฒนาแอปพลิเคชัน AI ทำให้ทุกคนสามารถสร้างแอปพลิเคชันสร้างสรรค์ขึ้นมาเองตามกำลังความคิด โดยใช้ LLM
คุณสมบัติของ LangChain:
- LLM และ Prompt: LangChain สะท้อนทุก API ของโมเดลขนาดใหญ่ LLM และมีกลไกการจัดการแบบรูปแบบ Prompt
- Chain: LangChain ซ้อนห่วงวงการสร้าง Module พร้อมใช้ที่สามารถปรับใช้งานได้ง่าย เช่น ระบบตอบคำถามโดยใช้ประวัติ การสร้างภาษาธรรมชาติของคำถาม SQL เป็นต้น ชื่อ "Chain" เพราะกระบวนการของการปฏิบัติงานเหมือนกับงานที่ต้องปฏิบัติตามขั้นตอน
- LCEL: LangChain Expression Language (LCEL) เป็นคุณสมบัติหลักของ LangChain เวอร์ชันใหม่ ใช้ในการแก้ปัญหาการวางงานแบบกระบวนการได้ ผ่านการใช้ออกมาให้เหมือนการปรับใช้งานไปยังการประมวลผลงาน AI ได้อย่างยืดหยุ่น ยกตัวเช่นการปรับใช้งานไปใน "Chain" ได้อย่างยืดหยุ่น
- Retrieval Augmented Generation (RAG): ด้วยที่ LLM ไม่เข้าใจข้อมูลใหม่และไม่สามารถตอบคำถามใหม่ได้ เราสามารถนำข้อมูลใหม่เข้าไปใน LLM เพื่อเพิ่มคุณภาพของเนื้อหาที่สร้างขึ้น โหมดนี้เรียกว่า RAG mode (Retrieval Augmented Generation)
- Agents: รูปแบบการออกแบบที่ใช้ LLM อินเทย์รายความเข้าใจภาษาธรรมชาติและความสามารถในการเห็นเหตุและเหตุในการดำเนินงานโดยอัตโนมัติ การประยุกต์ใช้ LLM ในฐานะสมอง เพื่อเรียกไปที่ระบบและอุปกรณ์ภายนอกมารวมกับกัน เพื่อสร้างงานตามความต้องการของผู้ใช้ เช่น ถ้าผู้ใช้ป้อน "วันพักผ่อนตั้งแต่วันพรุ่งนี้" โมเดลภาษาใหญ่ จะเรียกระบบลาและเริ่มการขออนุญาตการลา
- Model Memory: ให้โมเดลภาษาใหญ่ จำเนื้อหาการสนทนาก่อนหน้า คุณสมบัติที่เรียกว่า Model Memory
ส่วนประกอบของกรอบการทำงาน LangChain
กรอบการทำงาน LangChain ประกอบด้วยส่วนประกอบหลายตัว เช่น:
- ตัวห้องสมุด LangChain: Python และ JavaScript และตัวห้องสมุดเป็นฐานรันไทม์สำหรับอินเตอร์เฟซและการใช้งานส่วนประกอบต่างๆ อีกทั้งการปรับใช้งาน Module ด้านต่างๆ และตัวแทน
- แม่แบบของ LangChain: แม่แบบงาน AI ทางการทางที่อยู่ภายใต้ LangChain
- LangServe: อิงจาก FastAPI , ความสามารถของมันคือการทำนายงานของ LangChain โดยกำหนด REST APIs
- LangSmith: แพลตฟอร์มการพัฒนาคือบริการคลาวด์ที่รองรับการแก้ปัญหาและการติดตามงานของ LangChain
ห้องสมุด LangChain (ห้องห้องสมุด)
ห้องห้องสมุดของ LangChain ประกอบด้วยหมดคลังต่างๆ
-
langchain-core
: หลักการขั้นตอนพื้นฐานและภาษาแสดง LCEL ของ LangChain -
langchain-community
: การทำงานของภายนอก บวกกับบริการในภายใต้ LangChain -
langchain
: ในภายใต้ LangChain โดยองรับงานต่างๆ เช่น งานเห็นตาแปร, ห้องชุล
กระบวนการประมวลผลงานของ LangChain
จากรูปภาพ ด้านบน LangChain แสดงแนวทางในการจัดการกับคำถาม และส่งคำถามไปพร้อมกับโมเดลใหญ่ เมื่อคำถามมาถึงคำถามที่โดยอยากย่อย เป็น
:::code
LLLm และ .Chat Model
:::
ข้อมูลทั้งหมดจะถูกส่งกลับมาทางคำถามข้อใด จากคำถามของคุณโดยการประมวลผลโดยอัตโนมัตและทำการคำว่าจากโมเดล
กรอบการทำงานของ LangChain กล่าวไว้ว่ามีมาโรยีที่สำคัญ 2 อย่าง คือ LLM เเละ Chat Model
- LLM - โมดูลการตอบคำถาม ทำหน้าที่ในการพื้นพางข้อความและคืนค่าคำถามออกเป็นมาโรยเดียว
- Chat Model - โมดูลการสนทนาทำระบบได้รับสติของคำถามและคืนค่าของข้อความได้ในการสนทนา
คอนเซ็ปต์หลัก
1. LLM
โมเดลโดยพื้นฐานที่ถูกลับรวมถ่้า LangChain ที่รับข้อความเข้าและนำข้อความกลับออกมาเป็นมาโรยเดียว
2. Chat Models
โมเดลสนทนา (หรือโมเดลการสนทนา) จัดการสำหรับทางการสนทนา เป็นการออกแบบสำหรับสถานการณ์สนทนา ไม่เหมือนกับ LLMs โมเดลเหล่านี้สามารถรับคำถามเซ็ตของข้อความที่ในการสนทนาและคืนค่าของข้อความเป็นสัดส่วนของการสนทนา
3. ข้อความ
ใช้กล่าวถึงเนื้อหาขอข้อความของโมเดลการสนทนา ประเภทของข้อความ มีฮัมาน คำถามเลี่ยน AIMEssage ข้อความระบบ. ฟังก์ขอความ และข้อความเครื่อง ร่วมกับท่าทีอื่นๆ ด้วย
4. Prompt
LangChain ซ้อนทไอตุลเฮุนรของเครื่องมือหัวหื้นที่ใช้ในการจัดการ กเบภายขของข้อความที่เราทำกให้ดายวิ่งตะทวตวิกากวาบบ่า
5. Output Parsers
ด้วยที่กล่าวไว้ในรุปภาพข้างบนหลังของทำนา ทัม จุญ การ่ กรดบความสามารถการจัดรายของการความเนอ หม่างทั้รปง มีแก่การาด ้วยหน้ตงง ArgumentError DivElementณ จงแ่ ต์ ้าร์ ค่ เปาย่า์ สา นงผท หาัตง า ใจ่ามา่า ์ ทาาากยบมยบ็I ้า ต่า ี่ าใท()})
5. Retrievers
เพื่อให้ง่ายต่อการนำเข้าข้อมูลส่วนตัวเข้าสู่โมเดลขนาดใหญ่ (LLM) และปรับปรุงคุณภาพของการตอบโต้ของโมเดล LangChain ได้กลุ่มสิ่งที่เรียกว่า Retrievers ซึ่งช่วยในการโหลด แบ่งส่วน จัดเก็บ และค้นหาข้อมูลเอกสาร
6. Vector Stores
เพื่อสนับสนุนการค้นหาความคล้ายคลึงในข้อมูลส่วนตัว LangChain สนับสนุนฐานข้อมูลเวกเตอร์ต่าง ๆ
7. Agents
Agents ซึ่งมักจะหมายถึงแอปพลิเคชั่นที่ออกแบบขึ้นด้วยโมเดลขนาดใหญ่ (LLM) เป็นเครื่องจักรในการตัดสินใจ โดยโดยอัตโนมัติเรียกใช้ระบบภายนอกและอุปกรณ์ฮาร์ดแวร์เพื่อสำเร็จงานของผู้ใช้ตามข้อมูลที่ผู้ใช้กรอกเข้ามา มันเป็นแพทเทิร์นการออกแบบที่มีโมเดลขนาดใหญ่ (LLM) เป็นใจกลาง
ลักษณะการใช้งาน
- Chatbots: สร้างผู้ช่วยสนทนาอัจฉริยะ, แชทบอทบริการลูกค้า, และแชทบอทสนทนา
- ฐานความรู้ Q&A: ให้บริการตอบคำถามของประเด็นที่เปิด โดยรวมความรู้เข้ากับกราฟความรู้
- การเขียนอัจฉริยะ: เช่นการเขียนบทความ, การเขียนสร้างสรรค์, และการสรุปข้อความ