16 เม.ย. 2566·อ่าน 1 นาที

Microsoft Semantic Kernel SDK เชื่อมช่องว่างระหว่าง LLM และโค้ด

Semantic Kernel SDK ของ Microsoft ทำให้กระบวนการผสานรวมโมเดลภาษาขนาดใหญ่ (LLM) เช่น GPT เข้ากับโค้ดได้ง่ายขึ้น มีลักษณะการทำงานเหมือนระบบปฏิบัติการสำหรับ LLM APIs จัดการข้อความแจ้งที่ซับซ้อน ประสานการดำเนินการ และรับประกันผลลัพธ์ที่โฟกัส

Microsoft Semantic Kernel SDK เชื่อมช่องว่างระหว่าง LLM และโค้ด

Microsoft แนะนำ Semantic Kernel SDK ทำให้การรวมโมเดลภาษาขนาดใหญ่ (LLM) เช่น GPT-4 ลงในโค้ดง่ายขึ้นมาก ความซับซ้อนของการจัดการพรอมต์ อินพุต และเอาต์พุตที่โฟกัสจะง่ายขึ้นด้วย SDK นี้ ซึ่งเชื่อมช่องว่างระหว่างโมเดลภาษาและนักพัฒนา

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

ไม่กี่สัปดาห์ก่อน Microsoft เปิดตัว LLM wrapper ตัวแรกชื่อ Prompt Engine จากจุดนั้น ยักษ์ใหญ่ด้านซอฟต์แวร์ได้เปิดตัวเครื่องมือ C# ที่มีประสิทธิภาพยิ่งขึ้น นั่นคือ Semantic Kernel สำหรับการทำงานร่วมกับ Azure OpenAI และ OpenAI's API เครื่องมือโอเพ่นซอร์สนี้มีอยู่ใน GitHub พร้อมกับแอปพลิเคชันตัวอย่างหลายตัว

การเลือกชื่อหมายถึงความเข้าใจในวัตถุประสงค์หลักของ LLM Semantic Kernel มุ่งเน้นไปที่อินพุตและเอาต์พุตภาษาธรรมชาติโดยสั่งโมเดลโดยใช้คำขอเริ่มต้นของผู้ใช้ (การถาม) เพื่อจัดการการส่งผ่านทรัพยากรที่เกี่ยวข้อง ทำตามคำขอและส่งคืนการตอบกลับ (รับ)

Semantic Kernel ทำหน้าที่เหมือนระบบปฏิบัติการสำหรับ LLM API รับอินพุต ประมวลผลโดยทำงานกับโมเดลภาษา และส่งคืนเอาต์พุต บทบาทการประสานของเคอร์เนลมีความสำคัญต่อการจัดการ ไม่เพียงแต่พร้อมต์และโทเค็นที่เกี่ยวข้องเท่านั้น แต่ยังรวมถึงความทรงจำ ตัวเชื่อมต่อไปยังบริการข้อมูลอื่น ๆ และทักษะที่กำหนดไว้ล่วงหน้าที่ผสมพร้อมต์และรหัสทั่วไป

Semantic Kernel จัดการบริบทผ่านแนวคิดของความทรงจำ ทำงานกับไฟล์และที่จัดเก็บคีย์-ค่า ตัวเลือกที่สาม หน่วยความจำความหมาย ปฏิบัติต่อเนื้อหาเป็นเวกเตอร์หรือการฝัง ซึ่งเป็นอาร์เรย์ของตัวเลขที่ LLM ใช้เพื่อแสดงความหมายของข้อความ เวกเตอร์ที่ฝังตัวเหล่านี้ช่วยให้โมเดลต้นแบบรักษาความเกี่ยวข้อง การเชื่อมโยงกัน และลดโอกาสในการสร้างเอาต์พุตแบบสุ่ม

เมื่อใช้การฝัง นักพัฒนาสามารถแบ่งพรอมต์ขนาดใหญ่ออกเป็นบล็อกข้อความเพื่อสร้างข้อความแจ้งที่โฟกัสมากขึ้นโดยไม่ต้องใช้โทเค็นที่มีอยู่จนหมดสำหรับคำขอ (เช่น GPT-4 มีขีดจำกัด 8,192 โทเค็นต่อการป้อนข้อมูล)

ตัวเชื่อมต่อ มีบทบาทสำคัญใน Semantic Kernel ทำให้สามารถรวม API ที่มีอยู่กับ LLM ได้ ตัวอย่างเช่น ตัวเชื่อมต่อ Microsoft Graph สามารถส่งผลลัพธ์ของคำขอในอีเมลหรือสร้างคำอธิบายความสัมพันธ์ในแผนผังองค์กร ตัวเชื่อมต่อยังมีรูปแบบของการควบคุมการเข้าถึงตามบทบาทเพื่อให้แน่ใจว่าเอาต์พุตได้รับการปรับแต่งให้เหมาะกับผู้ใช้ตามข้อมูลของผู้ใช้

องค์ประกอบหลักประการที่สามของ Semantic Kernel คือ ทักษะ ซึ่งเป็นคอนเทนเนอร์ของฟังก์ชันที่ผสมพรอมต์ LLM และโค้ดทั่วไป ซึ่งคล้ายกับฟังก์ชัน Azure สามารถใช้เชื่อมโยงข้อความแจ้งพิเศษเข้าด้วยกันและสร้างแอปพลิเคชันที่ขับเคลื่อนด้วย LLM

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

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

ในบริบทของการพัฒนาซอฟต์แวร์สมัยใหม่ Semantic Kernel SDK ของ Microsoft วางตำแหน่งตัวเองเป็นตัวเปิดใช้งานหลักสำหรับการรวมโมเดลภาษาขนาดใหญ่ในแอปพลิเคชันต่างๆ การนำไปใช้สามารถสร้างประโยชน์อย่างมากต่อเครื่องมือต่างๆ เช่น แพลตฟอร์ม no-code ของ AppMaster และ เครื่องมือสร้างเว็บไซต์ ซึ่งนำเสนอโซลูชันที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้นสำหรับผู้ใช้ที่หลากหลาย

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started