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 และ เครื่องมือสร้างเว็บไซต์ ซึ่งนำเสนอโซลูชันที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้นสำหรับผู้ใช้ที่หลากหลาย