Büyük Dil Modellerinin (LLM’ler) ortaya çıkışı, yapay zeka alanında şüphesiz bir devrim yaratmıştır. Ancak, bu modelleri özel verilerle etkili bir şekilde entegre etmek hala devam eden bir zorluktur. LLM’ler internetten gelen büyük miktarda bilgiyi işlemekte yetenekli olsa da, gerçek potansiyelleri uygulamalarımız ve verilerimiz için doğal dil arayüzleri olarak hizmet etmekte, öngörücü ve üretken yeteneklerinden kontrollü bir ortamda yararlanmamızı sağlamaktadır.
LLM çıktılarının güvenilirliğini ve alaka düzeyini sağlamak için, bu modeller ile belirli veri kümeleri arasındaki boşluğu kapatmak üzere tasarlanmış çeşitli stratejiler ortaya çıkmıştır. Bu stratejiler, özel gömme işlemleri oluşturmaktan ve alma takviyeli üretim (RAG) tekniklerini kullanmaktan (veriler içindeki karmaşık ilişkileri ortaya çıkarmak için grafik veritabanlarından yararlanmak) kullanıcı istemleri tarafından tetiklenen OpenAPI çağrıları aracılığıyla elde edilen verileri damıtmak ve sunmak için LLM’leri kullanmaya kadar değişmektedir. Ayrıca, OpenAI’nin ChatGPT’si tarafından popüler hale getirilen eklenti modeli, veri entegrasyonu için başka bir yol sunmaktadır. Bu çeşitli yaklaşımlar arasında, Model Bağlam Protokolü (MCP), LLM’ler ve harici veri kaynakları arasındaki bağlantıyı standartlaştırmak için umut verici bir çözüm olarak öne çıkmaktadır.
Model Bağlam Protokolünü Keşfetmek
Anthropic tarafından 2024’ün sonlarında tanıtılan Model Bağlam Protokolü, LLM’ler ve kullanıcıya özel veriler arasındaki etkileşimi kolaylaştırmaya yönelik önemli bir adımı temsil etmektedir. Bu protokol, yapay zeka uygulamalarında bağlamın kritik rolünün altını çizerek, yapay zekanın tutarlı ve anlamlı çıktılar sunma yeteneğinin, ilgili bağlamsal bilgilerin mevcudiyetine bağlı olduğunu kabul etmektedir. Mantıklı yanıtlar almak için yalnızca sohbet istemlerine güvenmek, en iyi ihtimalle iyimserlik alıştırması ve en kötü ihtimalle yanlış veya yanıltıcı sonuçlar için bir reçetedir. Verilerimiz etrafında iş akışlarını yönetebilen sağlam, yarı otonom ajanlar oluşturmak için, bu verileri bu ajanlara iletmek için güvenilir bir mekanizma gereklidir.
Açık kaynaklı bir girişim olarak MCP, GitHub deposu içinde kapsamlı belgelerle birlikte çok çeşitli programlama dilleri için SDK uygulamaları sunmaktadır. Bu belgeler, geliştiricilerin MCP sunucularını etkili bir şekilde uygulamalarını veya kullanmalarını sağlamaktadır. Projenin MCP’yi ‘Yapay zeka uygulamaları için bir USB-C bağlantı noktası’ olarak tanımlaması, özünü tam olarak yansıtmaktadır ve çeşitli veri kaynaklarına bağlantıları standartlaştırma yeteneğini vurgulamaktadır. Standartlaştırılmış bir temel üzerine inşa edilen MCP, mevcut projelerle kolayca entegre olur ve çeşitli LLM’ler ve çıkarım sağlayıcılarla sorunsuz bir şekilde arayüz oluşturur.
MCP’nin mimarisi, bir aracının MCP isteklerini yerel veya uzak isteklere çevirme sorumluluğunu üstlendiği köklü bir istemci/sunucu modelini izlemektedir. Bu tasarım, CORBA gibi arayüz tanım dillerinin işlevselliğini yansıtır ve MCP’yi bilgi kaynakları ve LLM uygulamaları arasında sorunsuz geçişi kolaylaştıran çok yönlü bir birlikte çalışabilirlik katmanına dönüştürür. Bir JSON RPC bağlantısından yararlanan MCP, Azure API Management gibi araçlar aracılığıyla bireysel kullanıcı düzeyinde ince taneli kontrol sağlar.
MCP, Microsoft’un yapay zeka geliştirme platformlarında artan bir şekilde benimsenmesiyle kanıtlandığı gibi, yapay zeka odaklı kod için genel arayüzlerin geliştirilmesini teşvik etmektedir. Semantic Kernel model orkestrasyon aracı içindeki entegrasyonundan Azure OpenAI ve Azure AI Foundry ile uyumlu MCP sunucuları olarak dağıtımına kadar, MCP hızla ilgi görmektedir. Microsoft ayrıca, kullanıcı kimlik bilgilerine dayalı olarak veri erişimini kontrol etmek için özelliklerle Azure API Management’ı geliştirerek, MCP’nin güvenli ve yönetilen yapay zeka dağıtımlarındaki rolünü daha da sağlamlaştırmaktadır.
Azure MCP Sunucusu: Erken Bir Uygulama
Yakın zamanda genel önizlemede yayınlanan açık kaynaklı Azure MCP Sunucusu, Microsoft’un platformundaki MCP’nin erken bir örneğini temsil etmektedir. Bu sunucu, birçok son Azure projesi tarafından benimsenen açık kaynak ilkelerine bağlı kalarak, temel Azure hizmetlerine yapay zeka erişimi için ortak bir aracı görevi görmektedir. Kodu GitHub’da kolayca erişilebilirdir. Azure MCP Sunucusu, veritabanları, depolama çözümleri ve Azure CLI gibi hizmetler de dahil olmak üzere Azure platformunun önemli bir bölümüne erişim sağlamaktadır.
Azure CLI (ve Geliştirici CLI) için desteğin dahil edilmesi özellikle dikkat çekicidir, çünkü MCP odaklı ajanların Azure ile doğrudan etkileşim kurmasını ve MCP çağrılarını operatörler olarak ele almasını sağlamaktadır. Bu özellik, Azure’a doğal dil kendi kendine hizmet arayüzü sunan ajanlar oluşturmanın önünü açmaktadır. Örneğin, bir aracı bir altyapının açıklamasını alabilir ve dağıtımı için gereken ARM şablonlarını otomatik olarak oluşturabilir. Bu kavramı daha da genişleterek, bir beyaz tahta çizimini analiz eden, gerekli kaynakların bir açıklamasını çıkaran ve ardından altyapıyı dağıtan, anında kod geliştirmeyi sağlayan çok modlu bir aracı öngörülebilir. Azure MCP Sunucusu aracılığıyla erişilebilen ek sistem yönetimi hizmetleri, mevcut kaynak gruplarını listelemeyi ve Azure İzleme günlüklerini sorgulamak için KQL’den yararlanmayı kapsamaktadır.
Azure MCP Sunucusunu GitHub Copilot Sohbeti ile Entegre Etme
MCP standardına uygun olduğu için, Azure MCP Sunucusu, GitHub Copilot Agent Mode gibi MCP’yi destekleyen herhangi bir yapay zeka aracıyla sorunsuz bir şekilde entegre olmaktadır. Sunucuyu kiracınıza ekleyerek, doğrudan veya Visual Studio Code entegrasyonu aracılığıyla Copilot aracılığıyla sorular sormaya başlayabilirsiniz. Bu son seçenek, MCP’den nasıl yararlanılacağını ve kendi MCP tabanlı yapay zeka uygulamalarınız için istemler oluşturmayı öğrenmek için etkili bir araç sağlamaktadır.
Şu anda Microsoft, programlama dilleri için özel bir MCP aracı yayınlamamıştır ve özel kod geliştirmek için resmi SDK’ların kullanılmasını gerektirmektedir. TypeScript, C# ve Python için destekle geliştiriciler, kendi Azure MCP aracılarını oluşturmak için gerekli araçlara erişebilirler. Deneyler, mevcut Azure kimlik bilgilerini kullanarak Visual Studio Code içinde yapılabilir.
Sunucu, geliştirme bilgisayarınızda çalışır ve Node.js gerektirir. Kurulum, doğrudan projenin GitHub deposundan VS Code’a gerçekleştirilir. Kurulduktan sonra, GitHub Copilot ve GitHub Copilot Sohbeti uzantılarının her ikisinin de deneysel aracı modunu kullanacak şekilde yapılandırıldığından emin olun (VS Code ayarlar aracı aracılığıyla erişilebilir). Daha sonra, GitHub Copilot sohbet bölmesini açın ve aracı moduna geçin. Azure MCP Sunucusunun araçlar açılır menüsüne yüklendiğini doğrulayın. Artık ‘Azure aboneliklerimi listele’ gibi sorgular gönderebilirsiniz.
Elde edilen araç, Azure ile çalışan herkes için paha biçilmez olduğunu kanıtlamaktadır ve Copilot entegrasyonunun ötesine geçmektedir. Azure MCP Sunucusu, Node.js’nin desteklendiği her yere kurulabilir ve özel aracılara entegre edilmesini sağlar.
MCP’nin Azure AI Foundry’deki Rolü
Microsoft, mevcut işlevleri MCP aracılığıyla kullanıma sunarak veya aracı uygulamalarında tüketimlerini sağlayarak MCP araçları portföyünü hızla genişletmektedir. Bu hızlı dağıtım, bu makalenin yazımı sırasında duyurulan Copilot Studio’nun kodsuz aracı geliştirme araçlarını içermektedir.
Microsoft’un büyük ölçekli yapay zeka uygulama geliştirmesi için birincil geliştirme platformu olan Azure AI Foundry, Azure’un AI Agent Service’ini tamamlamak için aktif olarak bir MCP Sunucusu geliştirmektedir. Bu entegrasyon, Azure AI Foundry içinde çalışan ajanları, diğer yapay zeka uygulamalarının bir parçası olarak çalışan istemcilerle bağlamayı amaçlamaktadır.
Bu hizmet, mevcut yapay zeka kodunu ve hizmetlerini hızla yeniden kullanmanıza ve bunları yeni uygulamalara bağlamanıza olanak tanır. Fabric gibi hizmetler, aracı özelliklerini AI Agent Service uç noktaları olarak kullanıma sunarak, yapay zeka uygulamalarının temel iş kolu verilerine sorunsuz bir şekilde bağlanmasını sağlayarak, halüsinasyon ve hata risklerini azaltmak için temel bir zemin sağlamaktadır.
Kurulum üzerine, sunucu ajanlara bağlanmak ve onlara sorgu göndermek için bir dizi MCP eylemi sağlamaktadır. Ayrıca, mevcut ajanları listeleyebilir veya belirli görevler için varsayılan bir ajan kullanabilir. Konuşma dizileri için destek dahildir ve ajanlara bağlamsal konuşmalar için temel bir anlamsal bellek sağlamaktadır. MCP kullanarak çağırmak için Azure AI Agent Service aracı kimliklerine ihtiyacınız olacaktır.
Sunucu Python’da uygulanmıştır ve Azure CLI aracılığıyla pip
kullanılarak kurulabilir. Alternatif olarak, tercih edenler için bir TypeScript sürümü mevcuttur. Azure MCP Sunucusuna benzer şekilde, bu sunucu AI Foundry ortamının dışında çalışır ve Windows, macOS ve Linux için destekle birlikte, kendi konteynerinde veya VM’sinde bir geliştirme bilgisayarına veya bulutta barındırılan bir uygulamanın parçası olarak kurulmasına izin verir.
Semantic Kernel AI Uygulamalarından MCP Sunucularından Yararlanma
Açık bir standart olarak MCP, herhangi bir istemciyle sunucu uyumluluğu sağlar. GitHub deposu, Anthropic’in Claude Desktop’unu kullanarak nasıl bağlantı kurulacağına dair talimatlar sunar, ancak gerçek değer, Semantic Kernel içinde özel aracı iş akışları oluşturmaktadır.
Microsoft, MCP desteğini Semantic Kernel orkestrasyonuna nasıl entegre edeceğinizi gösteren örnek kod sağlar ve bunu tanıdık fonksiyon çağrılarıyla entegre olan bir çekirdek eklentisi olarak ele alır. Bu entegrasyonlar ajanlar olarak sarılabilir ve gerektiğinde erişilebilir. Semantic Kernel içinde MCP entegrasyonu hala geliştirilme aşamasında olsa da, mevcut özellik setiyle sorunsuz bir şekilde entegre olur ve bir sunucudan yapay zeka uygulamalarına MCP araçlarını kullanıma sunmak için minimum ek kod gerektirir.
MCP gibi araçlar, hem yerel hem de uzak uygulamalar için keşfedilebilir arayüzler oluşturmaya yönelik standartlaştırılmış bir yaklaşım sağlayan modern bir yapay zeka yığınının kritik bileşenleridir. Tanımlandıktan sonra, MCP araçları kolayca çağrılır ve bir sunucu, mevcut araçların bir listesini sağlar ve MCP, LLM’lere bu araçları çağırmak ve çıktılarını kullanmak için standartlaştırılmış bir araç sağlar. Bu yaklaşım, standart API’ler, veritabanı sorguları ve yapay zeka ajanları ile birlikte çalışarak, yapay zeka uygulamaları için evrensel bir zemin aracı sağlamaya önemli ölçüde katkıda bulunur.