در این مقاله به بررسی عمیق افزونهها در Semantic Kernel پرداخته شده است. افزونهها راهی برای گسترش قابلیتهای هوش مصنوعی فراتر از تولید متن هستند و به LLM اجازه میدهند تا به پایگاههای داده دسترسی پیدا کند، APIها را فراخوانی کند، فایلها را دستکاری کند و با دنیای واقعی تعامل داشته باشد.
افزونهها در Semantic Kernel مجموعهای نامگذاری شده از توابع هستند که هر کدام میتوانند Native (کد C#)، Prompt-based (قالبهایی که LLM را فراخوانی میکنند) یا External (وارد شده از مشخصات OpenAPI یا سرورهای MCP) باشند. LLM تمام توابع ثبت شده را از طریق schemaهای آنها مشاهده میکند و میتواند بر اساس متن مکالمه تصمیم بگیرد کدام یک را فراخوانی کند.
توابع Native رایجترین و انعطافپذیرترین نوع افزونه هستند. برای طراحی توابع مؤثر، توضیحات دقیق و واضح برای امضاهای توابع ضروری است تا LLM بتواند عملکرد هر تابع را درک کند. استفاده از атрибуتها مانند KernelFunction و Description برای تعریف و مستندسازی توابع بسیار مهم است.
این مقاله همچنین به بررسی طراحی توابع مؤثر و استفاده از سرویسهای وابستگی (Dependency Injection) برای مدیریت وابستگیها در افزونهها میپردازد. با استفاده از این روشها، میتوان افزونههای با کیفیت بالا و قابل نگهداری برای Semantic Kernel ایجاد کرد.
در نهایت، این مقاله به بررسی پروتکل Model Context Protocol (MCP) میپردازد که یک روش جدید برای یکپارچهسازی افزونهها با Semantic Kernel است و امکان ایجاد افزونههای قدرتمندتر و انعطافپذیرتر را فراهم میکند.
مشاهده مطلب اصلی