تقدم Microsoft Semantic Kernel SDK ، مما يجعل دمج نماذج اللغات الكبيرة (LLMs) مثل GPT-4 في التعليمات البرمجية أسهل بكثير. يتم تبسيط تعقيدات إدارة المطالبات والمدخلات والمخرجات المركزة باستخدام SDK هذا ، مما يسد الفجوة بين نماذج اللغة والمطورين.
يمكن أن تكون عملية دمج نموذج AI في التعليمات البرمجية الخاصة بك صعبة للغاية ، حيث إنها تنطوي على عبور الحدود بين طريقتين مختلفتين للحوسبة. طرق البرمجة التقليدية ليست كافية للتفاعل مع LLMs. ما هو مطلوب هو تجريد عالي المستوى يترجم بين المجالات المختلفة ، مما يوفر طريقة لإدارة السياق والحفاظ على المخرجات على أساس بيانات المصدر.
قبل بضعة أسابيع ، أصدرت Microsoft أول برنامج تضمين لـ LLM يسمى Prompt Engine . بناءً على ذلك ، كشفت شركة البرمجيات العملاقة الآن عن أداة C # الأكثر قوة ، Semantic Kernel ، للعمل مع Azure OpenAI و OpenAI's APIs. هذه الأداة مفتوحة المصدر متاحة على GitHub ، إلى جانب العديد من نماذج التطبيقات.
يشير اختيار الاسم إلى فهم الغرض الأساسي لـ LLM. يركز Semantic Kernel على مدخلات ومخرجات اللغة الطبيعية من خلال توجيه النموذج باستخدام طلب المستخدم الأولي (السؤال) لتنسيق يمر عبر الموارد المرتبطة ، وتلبية الطلب وإرجاع استجابة (الحصول).
يعمل Semantic Kernel مثل نظام التشغيل لـ LLM APIs ، حيث يأخذ المدخلات ومعالجتها من خلال العمل مع نموذج اللغة ، وإرجاع المخرجات. يعد دور تنسيق kernel ضروريًا ليس فقط في إدارة المطالبات والرموز المرتبطة بها ولكن أيضًا الذكريات والموصلات بخدمات المعلومات الأخرى والمهارات المحددة مسبقًا التي تمزج بين المطالبات والتعليمات البرمجية التقليدية.
يدير Semantic Kernel السياق من خلال مفهوم الذكريات ، والعمل مع الملفات وتخزين قيمة المفتاح. خيار ثالث ، الذاكرة الدلالية ، يتعامل مع المحتوى على أنه نواقل أو حفلات زفاف ، وهي مصفوفات من الأرقام تستخدمها LLM لتمثيل معاني النصوص. تساعد هذه النواقل المضمنة النموذج الأساسي في الحفاظ على الملاءمة والتماسك وتقليل احتمالية توليد مخرجات عشوائية.
باستخدام عمليات التضمين ، يمكن للمطورين تقسيم المطالبات الكبيرة إلى كتل نصية لإنشاء مطالبات أكثر تركيزًا دون استنفاد الرموز المميزة المتاحة للطلب (على سبيل المثال ، يبلغ حد GPT-4 8192 رمزًا مميزًا لكل إدخال).
تلعب الموصلات دورًا مهمًا في Semantic Kernel ، مما يسمح بتكامل واجهات برمجة التطبيقات الحالية مع LLMs. على سبيل المثال ، يمكن لموصل Microsoft Graph إرسال ناتج طلب في رسالة بريد إلكتروني أو إنشاء وصف للعلاقات في المخطط الهيكلي. توفر الموصلات أيضًا شكلاً من أشكال التحكم في الوصول المستند إلى الدور لضمان أن النواتج مصممة خصيصًا للمستخدم ، بناءً على بياناتهم.
المكون الرئيسي الثالث لـ Semantic Kernel هو المهارات ، وهي عبارة عن حاويات من الوظائف التي تمزج مطالبات LLM والتعليمات البرمجية التقليدية ، على غرار وظائف Azure. يمكن استخدامها لربط المطالبات المتخصصة معًا وإنشاء تطبيقات تعمل بنظام LLM.
يمكن ربط مخرجات إحدى الوظائف بأخرى ، مما يسمح ببناء خط أنابيب من الوظائف التي تجمع بين المعالجة الأصلية وعمليات LLM. بهذه الطريقة ، يمكن للمطورين بناء مهارات مرنة يمكن اختيارها واستخدامها حسب الحاجة.
على الرغم من أن Semantic Kernel أداة قوية ، إلا أنها تتطلب تفكيرًا وتخطيطًا دقيقين لإنشاء تطبيقات فعالة. باستخدام SDK استراتيجيًا جنبًا إلى جنب مع الكود الأصلي ، يمكن للمطورين تسخير إمكانات LLM ، مما يجعل عملية التطوير أكثر كفاءة وإنتاجية. للمساعدة في البدء ، توفر Microsoft قائمة بأفضل إرشادات الممارسات المستفادة من إنشاء تطبيقات LLM داخل أعمالها الخاصة.
في سياق تطوير البرمجيات الحديثة ، تضع Microsoft Semantic Kernel SDK نفسها كمحفز رئيسي لدمج نماذج اللغة الكبيرة في التطبيقات المختلفة. يمكن أن يفيد تطبيقه بشكل كبير أدوات مثل منصة AppMaster no-code ومنشئي مواقع الويب ، مما يوفر حلولاً أكثر مرونة وكفاءة لمجموعة واسعة من المستخدمين.