Навигиране в Model Context Protocol: Нова ера за AI интеграция в Azure и извън него
Настъпването на големи езикови модели (LLM) безспорно революционизира пейзажа на изкуствения интелект. Въпреки това, едно постоянно предизвикателство остава: ефективното интегриране на тези модели със собствени данни. Докато LLM са умели в обработката на огромни количества информация от интернет, истинският им потенциал се крие в това да служат като интерфейси за естествен език за нашите приложения и данни, което ни позволява да използваме техните предсказващи и генериращи възможности в контролирана среда.
За да се гарантира надеждността и уместността на LLM резултатите, се появиха различни стратегии, всяка от които е предназначена да преодолее пропастта между тези модели и специфични набори от данни. Тези стратегии варират от създаване на персонализирани вграждания и използване на техники за генериране с разширена извличане (RAG) - използване на графични бази данни за разкриване на сложни взаимоотношения в рамките на данните - до използване на LLM за дестилиране и представяне на данни, получени чрез OpenAPI повиквания, задействани от потребителски подкани. Освен това, моделът на приставките, популяризиран от ChatGPT на OpenAI, предлага друг път за интегриране на данни. Сред тези разнообразни подходи Model Context Protocol (MCP) се откроява като обещаващо решение за стандартизиране на връзката между LLM и външни източници на данни.
Разкриване на Model Context Protocol
Model Context Protocol, представен от Anthropic в края на 2024 г., представлява значителна стъпка към рационализиране на взаимодействието между LLM и специфични за потребителя данни. Този протокол подчертава критичната роля на контекста в AI приложенията, признавайки, че способността на AI да доставя кохерентни и смислени резултати зависи от наличието на подходяща контекстуална информация. Разчитането единствено на чат подкани за извличане на смислени отговори е, в най-добрия случай, упражнение по оптимизъм, а в най-лошия случай - рецепта за неточни или подвеждащи резултати. За да се изградят стабилни, полуавтономни агенти, способни да организират работни процеси около нашите данни, е от съществено значение надежден механизъм за предоставяне на тези данни на тези агенти.
Като инициатива с отворен код, MCP предоставя SDK реализации за широк набор от езици за програмиране, придружени от изчерпателна документация в рамките на своя GitHub хранилище. Тази документация дава възможност на разработчиците да внедряват или използват MCP сървъри ефективно. Описанието на MCP от проекта като ‘USB-C порт за AI приложения’ уместно улавя неговата същност, подчертавайки способността му да стандартизира връзките към разнообразни източници на данни. Изграден върху стандартизирана основа, MCP лесно се интегрира със съществуващи проекти, безпроблемно взаимодействайки с различни LLM и доставчици на изводи.
Архитектурата на MCP следва добре установен модел клиент/сървър, където брокер поема отговорността за преобразуване на MCP заявки в локални или отдалечени заявки. Този дизайн отразява функционалността на езиците за дефиниране на интерфейси като CORBA, трансформирайки MCP в универсален слой за оперативна съвместимост, който улеснява безпроблемното превключване между източници на информация и LLM приложения. Използвайки JSON RPC връзка, MCP позволява фин контрол на индивидуално потребителско ниво чрез инструменти като Azure API Management.
MCP насърчава разработването на общи интерфейси за управляван от AI код, което се доказва от нарастващото му приемане в AI платформите за разработка на Microsoft. От интегрирането му в инструмента за оркестрация на Semantic Kernel до разполагането му като MCP сървъри, съвместими с Azure OpenAI и Azure AI Foundry, MCP бързо набира популярност. Microsoft също така подобрява Azure API Management с функции за контрол на достъпа до данни въз основа на потребителски идентификационни данни, като допълнително затвърждава ролята на MCP в сигурни и управлявани AI разполагания.
Azure MCP Server: Ранна реализация
Azure MCP Server с отворен код, наскоро пуснат в публичен преглед, е пример за ранна реализация на MCP на платформата на Microsoft. Този сървър служи като общ брокер за AI достъп до ключови услуги на Azure, придържайки се към принципите на отворен код, възприети от много скорошни проекти на Azure. Неговият код е лесно достъпен в GitHub. Azure MCP Server осигурява достъп до значителна част от платформата Azure, включително бази данни, решения за съхранение и услуги като Azure CLI.
Включването на поддръжка за Azure CLI (и Developer CLI) е особено забележително, тъй като дава възможност на управлявани от MCP агенти да взаимодействат директно с Azure, третирайки MCP повикванията като оператори. Тази възможност проправя пътя за изграждане на агенти, които предлагат естествен език интерфейс за самообслужване към Azure. Например, агент може да вземе описание на инфраструктура и автоматично да генерира ARM шаблоните, необходими за нейното разполагане. Разширявайки тази концепция по-нататък, човек може да си представи мултимодален агент, който анализира скица на бяла дъска, извлича описание на необходимите ресурси и след това разполага инфраструктурата, позволявайки незабавно разработване на код. Допълнителни услуги за системно администриране, достъпни чрез Azure MCP Server, обхващат изброяване на текущи групи ресурси и използване на KQL за заявки към Azure Monitoring логове.
Интегриране на Azure MCP Server с GitHub Copilot Chat
Тъй като се придържа към MCP стандарта, Azure MCP Server безпроблемно се интегрира с всеки AI инструмент, който поддържа MCP, като например GitHub Copilot Agent Mode. Просто като добавите сървъра към вашия клиент, можете да започнете да задавате въпроси чрез Copilot, директно или чрез интеграцията на Visual Studio Code. Тази последна опция предоставя ефективно средство за обучение как да използвате MCP и да конструирате подкани за вашите собствени AI приложения, базирани на MCP.
Понастоящем Microsoft все още не е пуснал специализиран MCP инструмент за своите езици за програмиране, което налага използването на официални SDK за разработване на персонализиран код. С поддръжка за TypeScript, C# и Python, разработчиците имат достъп до необходимите инструменти за създаване на свои собствени Azure MCP агенти. Експериментирането може да се извърши в рамките на Visual Studio Code, използвайки съществуващи Azure идентификационни данни.
Сървърът работи на вашия компютър за разработка и изисква Node.js. Инсталирането се извършва директно от GitHub хранилището на проекта в VS Code. След като бъде инсталиран, се уверете, че и разширенията GitHub Copilot и GitHub Copilot Chat са конфигурирани да използват експерименталния режим на агента (достъпен чрез инструмента за настройки на VS Code). Впоследствие отворете панела за чат на GitHub Copilot и превключете в режим на агента. Уверете се, че Azure MCP Server е инсталиран в падащото меню с инструменти. Вече можете да изпращате заявки, като например ‘Избройте моите Azure абонаменти’.
Полученият инструмент се оказва безценен за всеки, който работи с Azure и се простира отвъд интеграцията на Copilot. Azure MCP Server може да бъде инсталиран навсякъде, където се поддържа Node.js, което позволява интегрирането му в персонализирани агенти.
Ролята на MCP в Azure AI Foundry
Microsoft бързо разширява портфолиото си от MCP инструменти, излагайки съществуващи функционалности чрез MCP или позволявайки тяхното консумиране в рамките на агентни приложения. Това бързо разгръщане включва инструменти за разработка на агенти без код на Copilot Studio, обявени по време на писането на тази статия.
Azure AI Foundry, основната платформа за разработка на Microsoft за мащабна разработка на AI приложения, също активно разработва MCP Server, за да допълни услугата AI Agent на Azure. Тази интеграция има за цел да свърже агенти, работещи в рамките на Azure AI Foundry, с клиенти, работещи като част от други AI приложения.
Тази услуга ви позволява бързо да пренасочите съществуващ AI код и услуги и да ги свържете с нови приложения. Услуги като Fabric излагат своите агентни функции като крайни точки на AI Agent Service, което позволява на AI приложенията безпроблемно да се свързват с основни бизнес данни, осигурявайки съществено заземяване за смекчаване на рисковете от халюцинации и грешки.
След инсталирането, сървърът предоставя набор от MCP действия за свързване към агенти и изпращане на заявки към тях. Той може също така да изброи наличните агенти или да използва агент по подразбиране за конкретни задачи. Включена е поддръжка за нишки за разговори, предоставяйки на агентите основна семантична памет за контекстни разговори. Ще ви трябват идентификаторите на агентите на Azure AI Agent Service, за да ги извикате с помощта на MCP.
Сървърът е реализиран в Python и може да бъде инсталиран с помощта на Azure CLI чрез pip
. Алтернативно, TypeScript версия е налична за тези, които я предпочитат. Подобно на Azure MCP Server, този сървър работи извън AI Foundry средата, което му позволява да бъде инсталиран на компютър за разработка или като част от хоствано в облака приложение в рамките на собствен контейнер или VM, с поддръжка за Windows, macOS и Linux.
Използване на MCP сървъри от Semantic Kernel AI приложения
Като отворен стандарт, MCP позволява съвместимост на сървъра с всеки клиент. GitHub хранилището предоставя инструкции за това как да се установи връзка с помощта на Claude Desktop на Anthropic, но истинската стойност се крие в изграждането на персонализирани агентни работни процеси в рамките на Semantic Kernel.
Microsoft предоставя примерен код, демонстриращ как да се интегрира MCP поддръжка в Semantic Kernel оркестрация, третирайки я като приставка на ядрото, която се интегрира с познати повиквания на функции. Тези интеграции могат да бъдат опаковани като агенти и да бъдат достъпвани при необходимост. Въпреки че MCP интеграцията в рамките на Semantic Kernel все още е в процес на разработка, тя безпроблемно се интегрира със съществуващия си набор от функции, изисквайки минимален допълнителен код за излагане на MCP инструменти от сървър към AI приложения.
Инструменти като MCP са критични компоненти на модерен AI стек, осигуряващи стандартизиран подход за изграждане на откриваеми интерфейси както за локални, така и за отдалечени приложения. Веднъж дефинирани, MCP инструментите се извикват лесно, като сървър предоставя списък с налични инструменти, а MCP предоставя на LLM стандартизирано средство за извикване на тези инструменти и използване на техните резултати. Този подход значително допринася за предоставяне на универсален инструмент за заземяване за AI приложения, работещи със стандартни API, заявки към бази данни и AI агенти.