.NET + Средства экосистемы ИИ и пакеты SDK

Экосистема .NET предоставляет множество мощных средств, библиотек и служб для разработки приложений ИИ. .NET поддерживает подключения к облачной и локальной модели искусственного интеллекта, множество различных пакетов SDK для различных служб баз данных ИИ и векторов, а также другие средства, помогающие создавать интеллектуальные приложения с различной областью и сложностью.

Выбор используемого средства

В следующей таблице рекомендуется использовать технологию на основе различных целей.

Objective Технология для использования
Добавление поведения ИИ в приложение Используйте библиотеку Microsoft.Extensions.AI (MEAI). Добавьте оценки, как только у вас появится то, что стоит измерять.
Работа с собственными данными Используйте Microsoft. Extensions.DataIngestion (MEDI) для чтения, фрагмента или обогащения содержимого. Затем используйте Microsoft. Extensions.VectorData (MEVD) для хранения и извлечения векторов.
Предоставляйте общий доступ к возможностям или используйте их в разных ИИ-клиентах Используйте сервер MCP для публикации возможностей или клиента MCP для их использования.
Создание агентической системы Используйте Copilot SDK как готовую основу или Microsoft Agent Framework для многоэтапного достижения целей, маршрутизации или передачи управления.
Выбор модели размещения или выполнения Используйте Microsoft Foundry для управляемого облака, Foundry Local для локального или конфиденциального выполнения, а Aspire также для распределенных систем с несколькими службами.
Улучшение рабочего процесса разработчика Используйте набор средств Foundry.

Большинство рабочих приложений ИИ объединяют несколько компонентов:

  • Приложение чата или сводки: MEAI + Оценки
  • Приложение RAG: MEDI + MEVD + MEAI
  • Система с несколькими агентами: MEAI + MAF + Aspire
  • Взаимодействие с инструментами: MEAI + MCP Server + MCP Client
  • Корпоративное облачное приложение: MEAI + Microsoft Foundry +Aspire
  • Приложение с приоритетом локальной обработки: MEAI + Foundry Local + Foundry Toolkit (разработка)

Используйте эти практические правила для быстрого выбора:

  • Начните с Microsoft.Extensions.AI для большинства функций ИИ на уровне приложений.
  • Добавьте Microsoft.Extensions.DataIngestion и Microsoft.Extensions.VectorData при обосновании ответов собственными данными.
  • Используйте MCP, если возможности должны быть общими в пределах процесса или продукта.
  • Переходите на Agent Framework, когда одношаговые запросы становятся многошаговыми рабочими процессами.
  • Добавьте оценки после того, как поведение достаточно полезно для измерения и защиты от регрессий.

библиотеки Microsoft.Extensions.AI

Microsoft.Extensions.AI — это набор основных библиотек .NET, которые предоставляют единый слой абстракций C# для взаимодействия со службами ИИ, такими как небольшие и крупные языковые модели (SLMS и LLM), внедрения и ПО промежуточного слоя. Эти API были созданы в сотрудничестве с разработчиками в экосистеме .NET. Низкоуровневые API, такие как IChatClient и IEmbeddingGenerator<TInput,TEmbedding>, были извлечены из семантического ядра и перемещены в Microsoft.Extensions.AI пространство имен.

Microsoft.Extensions.AI предоставляет абстракции, которые могут быть реализованы различными службами, все они применяются к одной и той же основной концепции. Эта библиотека не предназначена для предоставления API, адаптированных к службам любого конкретного поставщика. Цель Microsoft.Extensions.AI состоит в том, чтобы выступать в качестве объединяющего слоя в экосистеме .NET, что позволяет разработчикам выбирать предпочитаемые платформы и библиотеки, обеспечивая непрерывную интеграцию и совместную работу в экосистеме.

MEAI предоставляет разработчикам .NET чистую абстракцию для взаимодействия с моделью. Он естественно вписывается в внедрение зависимостей, конфигурацию и существующие архитектуры приложений и является обычным первым слоем приложения с поддержкой ИИ .NET.

MEAI сам по себе не является фреймворком для агентов. Одноразовый вызов, функцию чата или цикл вызова инструментов можно создать с помощью MEAI, не превращая систему в "агентную". Если системе требуется ориентированная на достижение цели многошаговая оркестрация, используйте вместо этого MAF.

Дополнительные сведения см. в обзоре Microsoft.Extensions.AI.

Библиотеки оценки

Библиотека Microsoft.Extensions.AI.Evaluation library — это уровень оценки качества и регрессионного тестирования для функций ИИ, созданных на базе стека ИИ для .NET. Поведение искусственного интеллекта легко изменяется по мере развития запросов, моделей и инструментов. Библиотека оценки предоставляет командам повторяемый способ сравнения выходных данных и перехвата регрессий.

Дополнительные сведения см. в разделе библиотеки Microsoft.Extensions.AI.Evaluation.

Microsoft.Extensions.DataIngestion (MEDI)

Microsoft. Extensions.DataIngestion — это уровень приема и подготовки данных, готовых к использованию ИИ, в .NET.

Многие ИИ-приложения терпят неудачу ещё до этапа извлечения данных, поскольку данные неочищенные, слишком объёмные или плохо структурированы. Качество загрузки данных сильно влияет на качество ответов на последующих этапах. MEDI подготавливает и структурирует данные, которые позднее запрашивает MEVD или другое хранилище.

Дополнительные сведения см. в разделе "Прием данных" для приложений искусственного интеллекта.

Microsoft. Extensions.VectorData (MEVD)

Microsoft. Extensions.VectorData — это хранилище векторных данных и уровень извлечения для семантического поиска, поиска сходства и приземления в приложениях ИИ .NET.

MEVD предоставляет .NET приложениям согласованный способ работы с векторными хранилищами и помогает отделять векторное хранилище и проблемы извлечения от проблем вызова модели.

Дополнительные сведения см. в разделе "Общие сведения о хранилищах векторов".

СЕРВЕР MCP

Сервер MCP предоставляет такие возможности, как инструменты, ресурсы и промпты, через Model Context Protocol, чтобы другие помощники, IDE и агенты могли находить и использовать их через стандартный протокол.

Сервер MCP преобразует возможности приложений в повторно используемые конечные точки для ИИ. Она снижает дубликатную интеграцию инструментов между помощниками и создает более чистую границу между поставщиками возможностей и потребителями возможностей.

Сервер MCP служит для публикации функциональных возможностей. Если возможность используется только в одном приложении, обычный вызов функции внутри процесса проще.

Клиент MCP

Клиент MCP — это клиентская сторона протокола: он подключается к серверам MCP и делает предоставляемые ими возможности доступными в приложении, помощнике или среде выполнения агента.

Клиент MCP предназначен для использования возможностей, а не публикации. Если все необходимые приложения являются локальными и внутрипроцессными, обычные функции или вызовы инструментов по-прежнему проще.

Дополнительные сведения см. в статье "Начало работы с MCP".

Microsoft Agent Framework (MAF)

Microsoft Agent Framework — это уровень оркестрации для систем, которые действительно работают как агенты: они преследуют цель в несколько этапов, принимают решения по ходу работы, используют инструменты и могут координировать работу нескольких агентов.

Не каждая функция ИИ нуждается в MAF. Если прямой вызов MEAI или простой цикл вызова инструментов решает проблему, используйте более простой подход. MAF важен, когда настоящая сложность заключается в оркестрации, а не только в доступе к модели.

Дополнительные сведения см. в обзоре Microsoft Agent Framework.

Набор средств Foundry

Foundry Toolkit — это пакет расширений VS Code для разработки ИИ, который ускоряет экспериментирование с моделями, запросами, агентами и оценками.

Foundry Toolkit не является основной архитектурой среды выполнения для рабочего приложения. Это дополняет MEAI, Evaluations и Foundry Local.

Дополнительные сведения см. в разделе "Набор средств Foundry" для Visual Studio Code.

пакет SDK Copilot

Copilot SDK — это готовая инфраструктура и среда выполнения для агента, которая из коробки предоставляет инструменты, контекст и автоматический вызов инструментов.

Copilot SDK предлагает больше готовых решений и имеет больше встроенных настроек, чем MEAI. Если ваша цель — это полностью настраиваемая архитектура приложения, прямая композиция MEAI или MAF может оказаться лучшей.

Дополнительные сведения см. в репозитории пакета SDK Copilot.

Microsoft Foundry

Microsoft Foundry — это управляемый уровень облачной платформы для корпоративных решений ИИ с двумя основными функциями: управление моделями и размещенными агентами.

Microsoft Foundry не является абстракцией программирования для приложений; MEAI по-прежнему играет такую роль в .NET коде. Microsoft Foundry становится оптимальным выбором, когда настоящий вопрос заключается в том, где работает модель и под каким контролем.

Дополнительные сведения см. в документации по Microsoft Foundry.

Местный литейный завод

Foundry Local — это локальный вариант разработки и локального развертывания для команд, которые должны держать рабочие нагрузки ИИ близко к компьютеру или среде.

Foundry Local относится к пути разработки и развертывания, а не самой архитектуре приложений более высокого уровня. Переход из локальной среды в облако не является прямым переносом один к одному, поэтому следует ожидать различий в возможностях, модели размещения и эксплуатационных процессах.

Дополнительные сведения см. в локальной документации Foundry.

Aspire

Aspire — это уровень оркестрации, проводки служб и наблюдаемости для распределенных .NET приложений, включая системы ИИ, охватывающие несколько служб.

Системы искусственного интеллекта часто перестают быть «просто одним приложением», когда в них задействуются системы поиска, инструменты, шлюзы и сервисы-воркеры. Aspire помогает командам сохранять эти части понятными и наблюдаемыми, а ее визуальные элементы упрощают трассировку потоков ИИ между службами.

Aspire не является конкретно средой выполнения ИИ; Это слой приложений с несколькими службами вокруг него. Он не заменяет MEAI, MAF или Microsoft Foundry.

Дополнительные сведения см. в Aspire документации.