Aracılığıyla paylaş


.NET AI ve Model Bağlam Protokolü ile çalışmaya başlama

Model Bağlam Protokolü (MCP), yapay zeka uygulamalarıyla dış araçlar ve veri kaynakları arasındaki tümleştirmeleri standartlaştırmak için tasarlanmış açık bir protokoldür. Geliştiriciler, MCP kullanarak yapay zeka modellerinin özelliklerini geliştirerek daha doğru, ilgili ve bağlama duyarlı yanıtlar üretmelerini sağlayabilir.

Örneğin, MCP kullanarak LLM'nizi aşağıdaki gibi kaynaklara bağlayabilirsiniz:

  • Belge veritabanları veya depolama hizmetleri.
  • İş verilerini veya mantığını kullanıma sunan Web API'leri.
  • Bir kullanıcının cihazında dosyaları yöneten veya yerel görevleri gerçekleştiren araçlar.

Aşağıdakiler dahil olmak üzere birçok Microsoft ürünü zaten MCP'yi destekler:

McP C# SDK'sını kullanarak kendi MCP tümleştirmelerinizi hızla oluşturabilir ve önemli kod değişiklikleri olmadan farklı yapay zeka modelleri arasında geçiş yapabilirsiniz.

MCP istemci-sunucu mimarisi

MCP, bir yapay zeka destekli uygulamanın (konak) MCP istemcileri aracılığıyla birden çok MCP sunucusuna bağlanmasına olanak tanıyan bir istemci-sunucu mimarisi kullanır:

  • MCP konakları: MCP aracılığıyla bağlamsal kaynakları kullanarak yapay zeka modellerini geliştiren yapay zeka araçları, kod düzenleyicileri veya diğer yazılımlar. Örneğin, Visual Studio Code'daki GitHub Copilot bir MCP konağı olarak görev yapabilir ve yeteneklerini genişletmek için MCP istemcilerini ve sunucularını kullanabilir.
  • MCP istemcileri: Bağlamsal verileri almak üzere MCP sunucularına bağlanmak için konak uygulama tarafından kullanılan istemciler.
  • MCP sunucuları: MCP aracılığıyla istemcilerin özelliklerini kullanıma sunan hizmetler. Örneğin, bir MCP sunucusu yapay zeka modeline iş verileri sağlamak için REST API veya yerel veri kaynağı üzerinden soyutlama sağlayabilir.

Aşağıdaki diyagramda bu mimari gösterilmektedir:

Konaklar, istemciler ve sunucular dahil olmak üzere MCP'nin mimari desenini gösteren diyagram.

MCP istemcisi ve sunucusu bir dizi standart ileti alışverişi yapabilir:

Mesaj Açıklama
InitializeRequest Bu istek istemci tarafından ilk bağlandığında sunucuya gönderilir ve başlatmaya başlamasını ister.
ListToolsRequest İstemci tarafından sunucunun sahip olduğu araçların listesini istemek için gönderilir.
CallToolRequest İstemci tarafından sunucu tarafından sağlanan bir aracı çağırmak için kullanılır.
ListResourcesRequest İstemci tarafından kullanılabilir sunucu kaynaklarının listesini istemek için gönderilir.
ReadResourceRequest İstemci tarafından belirli bir kaynak URI'sini okumak için sunucuya gönderilir.
ListPromptsRequest İstemci tarafından sunucudan kullanılabilir istemlerin ve istem şablonlarının listesini istemek için gönderilir.
GetPromptRequest İstemci tarafından sunucu tarafından sağlanan bir istem almak için kullanılır.
PingRequest Diğer tarafın hala hayatta olup olmadığını denetlemek için sunucu veya istemci tarafından verilen bir ping.
CreateMessageRequest Sunucu tarafından istemci aracılığıyla bir LLM örneği oluşturma isteği. Müşteri, hangi modeli seçeceği konusunda tam bir serbestiye sahiptir. Müşteri ayrıca örneklemeye başlamadan önce kullanıcıyı bilgilendirerek isteği inceleme ve onaylayıp onaylamama kararı verme konusunda insan müdahalesine izin vermelidir.
SetLevelRequest İstemcinin günlüğe kaydetmeyi etkinleştirme veya ayarlama isteği.

MCP C# SDK'sı ile geliştirme

.NET geliştiricisi olarak, uygulamalarınızı özel tümleştirmelerle geliştirmek için MCP istemcileri ve sunucuları oluşturarak MCP'yi kullanabilirsiniz. MCP, yapay zeka modelini çeşitli araçlara, hizmetlere ve veri kaynaklarına bağlamanın karmaşıklığını azaltır.

Resmi MCP C# SDK'sı NuGet aracılığıyla kullanılabilir ve .NET uygulamaları ve kitaplıkları için MCP istemcileri ve sunucuları oluşturmanıza olanak tanır. SDK, Microsoft, Antropik ve MCP açık protokol kuruluşu arasındaki işbirliğiyle korunur.

Başlamak için MCP C# SDK'sını projenize ekleyin:

dotnet add package ModelContextProtocol --prerelease

Her tümleştirme noktası için benzersiz bağlayıcılar oluşturmak yerine genellikle GitHub ve Docker gibi çeşitli sağlayıcılardan önceden oluşturulmuş tümleştirmelerden yararlanabilir veya bunlara başvurabilirsiniz:

Microsoft.Extensions.AI ile tümleştirme

MCP C# SDK'sı, çeşitli yapay zeka etkileşimlerini ve görevlerini işlemek için Microsoft.Extensions.AI kitaplıklarına bağlıdır. Bu uzantı kitaplıkları, yapay zeka hizmetleriyle çalışmaya yönelik temel türler ve soyutlamalar sağlar, böylece geliştiriciler belirli platformlar veya sağlayıcı uygulamaları yerine kavramsal yapay zeka özelliklerine karşı kodlamaya odaklanabilir.

NuGet paket sayfasındaki MCP C# SDK bağımlılıklarını görüntüleyin.

Diğer .NET MCP geliştirme kaynakları

MCP istemcileri ve sunucuları oluşturmanıza veya mevcut MCP sunucularıyla tümleştirmenize yardımcı olmak için .NET ve Azure ekosistemlerinde çeşitli araçlar, hizmetler ve öğrenme kaynakları mevcuttur.

Aşağıdaki geliştirme araçlarını kullanmaya başlayın:

  • Agent Framework , aracılarınızın dış araçlara ve hizmetlere erişmesine olanak tanıyarak MCP sunucularıyla tümleştirmeyi destekler. Agent Framework, aracıların MCP sunucularına bağlanmasına, kullanılabilir araçları almasına ve aracı özelliklerini dış veri kaynakları ve hizmetlerle genişletmek için işlev çağrısı aracılığıyla kullanmasına olanak tanımak için resmi MCP C# SDK'sıyla birlikte çalışır.
  • Azure İşlevleri uzak MCP sunucuları, MCP standartlarını Azure İşlevleri'nin esnek mimarisiyle birleştirir. Kod örnekleri için Uzak MCP işlevleri örnek deposunu ziyaret edin.
  • Azure MCP Server , yapay zeka aracılarını Azure Depolama, Cosmos DB ve daha fazlası gibi önemli Azure hizmetlerine sorunsuz bir şekilde bağlamak için MCP belirtimini uygular.

Ayrıca bakınız