Semantic Kernel Nedir? Microsoft'un Yapay Zeka Orkestrasyonu SDK'sı

Semantic Kernel Nedir? Microsoft'un C#, Python ve Java dillerinde yapay zekayı yönetmek için geliştirdiği, çekirdek, eklentiler ve OpenAPI'den eklenti içe aktarımı özelliklerine sahip açık kaynaklı SDK'sı.

Ashley Goolam

Ashley Goolam

26 June 2026

Semantic Kernel Nedir? Microsoft'un Yapay Zeka Orkestrasyonu SDK'sı

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Microsoft ekosisteminde yazılım geliştiriyor ve yanına bir Python hizmeti eklemeden yapay zeka katmak istiyorsanız, Semantic Kernel Microsoft'un sizin için geliştirdiği bir SDK'dır. Mevcut kodunuzu ve API'lerinizi büyük dil modellerine bağlayan açık kaynaklı bir kittir ve C#, Python ve Java'da çalışır. Bu rehber, ne olduğunu, kernel ve eklentilerin nasıl bir araya geldiğini ve OpenAPI belirtim desteğinin herhangi bir REST API'sini bir modelin çağırabileceği bir şeye nasıl dönüştürdüğünü açıklar.

düğme

Semantic Kernel aslında nedir

Semantic Kernel (SK) , yapay zeka ajanları oluşturmak ve modelleri kod tabanınıza entegre etmek için Microsoft'tan hafif, açık kaynaklı bir geliştirme kitidir. Microsoft bunu bir ara katman yazılımı olarak tanımlar: uygulamanız ile model arasında yer alır, modelin isteklerini gerçek fonksiyon çağrılarına çevirir, bunları çalıştırır ve sonuçları geri gönderir. Siz normal kod yazarsınız. Model ne zaman çağrı yapacağına karar verir.

Üç şey SK'yi ajan kütüphaneleri kalabalığından ayırır.

İlk olarak, gerçekten çok dilli. SK, C#/.NET, Python ve Java için resmi SDK'lar sunar ve üçü için de 1.0+ sürüm kararlılık taahhütleri bulunur. Çoğu ajan çerçevesi önce Python'a odaklanır ve diğer dilleri ikinci plana atar. Eğer arka ucunuz .NET ise, SK yerel hissettiren birkaç olgun seçenekten biridir.

İkinci olarak, modelden bağımsızdır. SK, bir dizi bağlayıcı aracılığıyla OpenAI, Azure OpenAI ve diğer sağlayıcılara bağlanır. Modelleri değiştirmek istediğinizde, tüm uygulamanızı değil, yapılandırmayı değiştirirsiniz.

Üçüncü olarak, kurumsal kaygılar göz önünde bulundurularak inşa edilmiştir. Telemetri, kancalar ve filtreler birinci sınıftır, böylece yapay zekanın ne yaptığını loglayabilir, denetleyebilir ve müdahale edebilirsiniz. Bu odak noktası, Microsoft ve çok sayıda Fortune 500 ekibinin onu benimsemesinin nedenidir.

Kernel, eklentiler ve fonksiyonlar

Temel nesne kernel'dir. Bunu yapay zeka için bir bağımlılık enjeksiyon kapsayıcısı olarak düşünebilirsiniz. Model bağlayıcılarınızı ve eklentilerinizi kernel'e kaydedersiniz, ardından çalıştırmasını istersiniz. Kernel orkestrasyonu halleder: istem, model çağrısı, fonksiyon çağrısı, sonuç, tekrar.

Eklenti, modele açtığınız adlandırılmış bir fonksiyon grubudur. Fonksiyon, modelin çağırabileceği tek bir yetenektir. Fonksiyonlar iki çeşittir:

C#'daki şekli şöyledir. Bir kernel oluşturur, bir sohbet modeli kaydeder, bir eklenti eklersiniz ve modelin ihtiyaç duyduğunda fonksiyonları çağırmasına izin verirsiniz.

var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion("gpt-4o", apiKey);
builder.Plugins.AddFromType<LightsPlugin>("Lights");
Kernel kernel = builder.Build();

// Model artık bir sohbet sırasında LightsPlugin fonksiyonlarını çağırabilir
var result = await kernel.InvokePromptAsync("Turn the kitchen light blue");

Model geri döndüğünde ve kernel `change_light_state`'i çağırmak istediğini gördüğünde, kernel kodunuzu çalıştırır, sonucu yakalar ve modele geri besler. Bu döngü SK'nin kalbidir.

OpenAPI'den eklentiye deseni

Bu, bilinmesi en değerli özelliktir ve mevcut hizmetlerinize en temiz köprüdür. SK, bir OpenAPI belirtimini içe aktarabilir ve her işlemi otomatik olarak çağrılabilir bir fonksiyona dönüştürebilir. Sarmalayıcı kod yazmazsınız. SK'ye bir belirtim gösterirsiniz ve her yol/işlem, modelin çağırabileceği bir fonksiyona dönüşür.

C#'da çağrı `ImportPluginFromOpenApiAsync`'tir. Python'da ise `add_plugin_from_openapi`'dir. Java'nın eşdeğer bir içe aktarıcısı vardır. İşte bir URL'den bir belirtim yükleyen C# sürümü:

await kernel.ImportPluginFromOpenApiAsync(
    pluginName: "lights",
    uri: new Uri("https://example.com/v1/swagger.json"),
    executionParameters: new OpenApiFunctionExecutionParameters()
    {
        EnablePayloadNamespacing = true
    }
);

SK, perde arkasında belirtimi ayrıştırır, her parametre için adı, açıklamayı, tipi ve şemayı çıkarır ve bu meta verileri modele iletir. Model, hangi işlemi çağıracağına ve hangi argümanları geçireceğine karar verir. SK daha sonra HTTP isteğini oluşturur, kimlik doğrulama geri aramanızı uygular, gönderir ve yanıtı okur. SK, OpenAPI 2.0 ve 3.0'ı destekler ve 3.1 belirtimlerini mümkün olduğunca 3.0'a düşürür.

Ancak, insanlar için yazılan belirtimler bir model için her zaman açık değildir. Microsoft'un kendi rehberliği, açıklayıcı işlem kimlikleri eklemek, yardımcı parametre açıklamaları yazmak, uç nokta sayısını düşük tutmak ve gevşek dizeler yerine enum'ları ve tipli parametreleri tercih etmektir. Belirtiminizin kalitesi, ajanın API'nizi ne kadar iyi çağıracağını doğrudan şekillendirir. Bu da belirtimin kendisini, sonradan düşünülmüş bir şey değil, dikkatle tasarlanması ve test edilmesi gereken bir şey yapar.

Ajanlar ve planlama

SK, bir hedefi adımlara ayıran açık planlayıcılarla başladı. Çerçeve o zamandan beri, modelin kendisinin hangi fonksiyonları ve hangi sırayla çağıracağına karar verdiği fonksiyon çağırmaya doğru kaydı, ki bu modern modellerle daha güvenilirdir. Bunun üzerine, SK, oturum tabanlı durum, ajans döngüleri ve harici araçları bağlamak için Model Bağlam Protokolü (MCP) desteği ile ajanlar ve çoklu ajan desenleri oluşturmak için bir Ajan Çerçevesi katmanı ekledi.

Yaklaşımları karşılaştırıyorsanız, SK'nin bu blogda ele alınan diğer ajan SDK'ları ile nasıl sıralandığı aşağıdadır.

Çerçeve Birincil diller Orkestrasyon modeli En uygun
Semantic Kernel C#/.NET, Python, Java Fonksiyon çağırma + ajanlar .NET ve kurumsal ekipler
LangGraph Python, JS Açık durum grafiği Karmaşık, dallanan ajan akışları
Google ADK Python Ajan + araç modeli Google Cloud ve Gemini yığınları
OpenAI Agents SDK Python, JS Ajanlar + devirler OpenAI merkezli uygulamalar

Bunların hiçbiri kesinlikle daha iyi değildir. Doğru seçim dilinize, model sağlayıcınıza ve yürütme üzerinde ne kadar açık kontrol istediğinize bağlıdır.

Semantic Kernel, Microsoft Agent Framework ile nereye oturur

Bu kısım hızla ilerliyor, bu yüzden gerçek durumu ele alalım. Microsoft, Microsoft Agent Framework'ü (MAF) tanıttı ve belgeler, onu hem Semantic Kernel hem de AutoGen'in doğrudan halefi olarak, aynı ekipler tarafından inşa edildiğini açıklıyor. MAF, AutoGen'in ajan soyutlamalarını SK'nin kurumsal özellikleriyle birleştirir ve çoklu ajan orkestrasyonu için grafik tabanlı iş akışları ekler.

Pratikte bunun anlamı şudur:

Bu nedenle SK'yi, hala bakımı yapılan sağlam, üretimde kanıtlanmış bir seçenek olarak kabul edin, ancak en yeni yatırımın MAF'a gittiğini bilin. Bugün karar veriyorsanız ve kodunuz zaten SK'deyse, acil bir durum söz konusu değildir. Yeni başlıyorsanız ve en son yönü istiyorsanız, bir taahhütte bulunmadan önce MAF belgelerini okuyun.

Semantic Kernel ne zaman kullanılır

SK'ye ne zaman başvurmalısınız:

Ekibiniz sadece Python kullanıyorsa ve en yeni çoklu ajan özelliklerini istiyorsanız başka yerlere bakın; bu durumda MAF veya grafik öncelikli bir kütüphane size daha uygun olabilir.

Semantic Kernel ajanınızın arkasındaki API'leri test etme

API araçlarının önemli olduğu ve Apidog'un kusursuzca uyduğu yer burasıdır. SK, API'lerinizi oluşturmaz veya değiştirmez. Onları çağırır. Bir SK ajanı iki tür uç noktaya bağlıdır: konuştuğu LLM uç noktası ve OpenAPI eklentileri olarak içe aktardığınız REST API'ler. Her ikisinin de doğru, iyi tanımlanmış ve güvenilir olması gerekir, aksi takdirde ajan yanlış çağrılar yapar.

Birkaç pratik iş:

Bu, ajanın yerine değil, ajan öncesinde ve çevresinde yapılan sıradan bir API işidir. Daha derinlemesine bir rehberlik isterseniz, Apidog ile bir ajanın araç çağrılarını test etme, test donanımını ayrıntılı olarak ele almaktadır.

Sıkça Sorulan Sorular

Semantic Kernel ücretsiz ve açık kaynak mı?

Evet. Semantic Kernel açık kaynaklıdır ve Microsoft tarafından GitHub'da hoşgörülü bir lisans altında, C#/.NET, Python ve Java için SDK'larla yayınlanmıştır. Model kullanımı için (OpenAI, Azure OpenAI vb.) ödeme yaparsınız, SK'nin kendisi için değil.

Semantic Kernel hangi dilleri destekler?

C#/.NET, Python ve Java, hepsi 1.0+ sürüm kararlılık taahhütleriyle. C# SDK'sı en olgun olanıdır, ancak Python ve Java SDK'ları çekirdek kernel, eklentiler ve OpenAPI içe aktarma özelliklerini kapsar.

Semantic Kernel, OpenAPI belirtimlerini nasıl kullanır?

Bir belirtimi `ImportPluginFromOpenApiAsync` (C#) veya `add_plugin_from_openapi` (Python) ile içe aktarırsınız. SK, belirtimi ayrıştırır, her işlemi parametre meta verileriyle çağrılabilir bir fonksiyona dönüştürür ve modelin bu işlemleri çağırmasına izin verir. Model açıklamalarınıza güvendiği için, önce belirtimi doğrulamak faydalı olur. Bunu ve canlı uç noktaları Apidog ile test edebilirsiniz.

Semantic Kernel mi yoksa Microsoft Agent Framework mü kullanmalıyım?

Halihazırda bir SK uygulamanız varsa, kullanmaya devam edin; desteklenir ve kararlıdır. Yeni projeler için Microsoft, Agent Framework'ü halefi olarak konumlandırır ve bir geçiş rehberi sağlar. Bu alan hızla değiştiği için yeni başlamadan önce mevcut MAF belgelerini kontrol edin. Her ikisinin de çağırdığı API'leri test etmek için, ChatGPT API'sini Apidog ile nasıl test edeceğinize bakın.

Özetle

Semantic Kernel, Microsoft ekosistemindeki ekiplere yapay zekayı organize etmek için temiz bir yol sunar: modelleri kodunuza bağlayan bir kernel, modelin çağırabileceği eklentiler ve fonksiyonlar ile mevcut REST API'lerinizi ajan araçları olarak gösteren bir OpenAPI içe aktarma yolu. Kararlı ve üretimde kanıtlanmıştır, Agent Framework şimdi en yeni yönü ileriye taşıyor. Hangisini seçerseniz seçin, alttaki API'lerin hala sağlam olması gerekir. Ajanınızın bağımlı olduğu belirtimleri ve uç noktaları tasarlamak, taklit etmek ve test etmek için, Apidog'u indirin ve ajan onu çağırmadan önce sözleşmeyi oluşturun.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin