Обзор экосистемы .NET + AI
Экосистема .NET предоставляет множество мощных средств, библиотек и служб для разработки приложений ИИ. .NET поддерживает подключения к облачной и локальной модели искусственного интеллекта, множество различных пакетов SDK для различных служб баз данных ИИ и векторов, а также другие средства, помогающие создавать интеллектуальные приложения с различной областью и сложностью.
Внимание
Не все пакеты SDK и службы, представленные в этой документации, поддерживаются корпорацией Майкрософт. При рассмотрении пакета SDK обязательно оцените качество, лицензирование, поддержку и совместимость, чтобы обеспечить соответствие вашим требованиям.
библиотека Microsoft.Extensions.AI для .NET
Microsoft.Extensions.AI
— это набор основных библиотек .NET, созданных в сотрудничестве с разработчиками в экосистеме .NET, включая семантические ядра. Эти библиотеки предоставляют единый уровень абстракций C# для взаимодействия со службами ИИ, такими как небольшие и крупные языковые модели (SLMS и LLM), внедрения и по промежуточному слоям.
Microsoft.Extensions.AI
предоставляет абстракции, которые могут быть реализованы различными службами, все они применяются к одной и той же основной концепции. Эта библиотека не предназначена для предоставления API, адаптированных к службам любого конкретного поставщика. Цель Microsoft.Extensions.AI
состоит в том, чтобы выступать в качестве объединяющего слоя в экосистеме .NET, что позволяет разработчикам выбирать предпочитаемые платформы и библиотеки, обеспечивая непрерывную интеграцию и совместную работу в экосистеме.
Семантическое ядро для .NET
Семантический ядро — это пакет SDK с открытым исходным кодом, который обеспечивает возможности интеграции и оркестрации ИИ в приложениях .NET. Этот пакет SDK обычно является рекомендуемой инструментом оркестрации ИИ для приложений .NET, которые используют одну или несколько служб ИИ в сочетании с другими API или веб-службами, хранилищами данных и пользовательским кодом. Семантический ядро обеспечивает преимущества корпоративных разработчиков следующими способами:
- Оптимизирует интеграцию возможностей искусственного интеллекта с существующими приложениями, чтобы обеспечить согласованное решение для корпоративных продуктов.
- Сводит к минимуму кривую обучения для работы с различными моделями или службами ИИ, предоставляя абстракции, которые снижают сложность.
- Повышает надежность, уменьшая непредсказуемое поведение запросов и ответов из моделей ИИ. Вы можете точно настроить запросы и планировать задачи для создания управляемого и прогнозируемого взаимодействия с пользователем.
Дополнительные сведения см. в документации по семантике ядра.
Пакеты SDK для .NET для создания приложений ИИ
Многие различные пакеты SDK доступны для .NET для создания приложений с возможностями искусственного интеллекта в зависимости от целевой платформы или модели ИИ. Модели OpenAI предлагают мощные возможности создания искусственного интеллекта, а другие службы ИИ Azure предоставляют интеллектуальные решения для различных конкретных сценариев.
Пакеты SDK для .NET для моделей OpenAI
Пакет NuGet | Поддерживаемые модели | Обслуживание или поставщик | Документация |
---|---|---|---|
Microsoft.SemanticKernel | Модели OpenAI Поддерживаемые модели Azure OpenAI |
Семантический ядро (Майкрософт) | Документация по семантике ядра |
Azure OpenAI SDK | Поддерживаемые модели Azure OpenAI | Пакет SDK Azure для .NET (Майкрософт) | Документация по службам Azure OpenAI |
OpenAI SDK | Поддерживаемые модели OpenAI | Пакет SDK OpenAI для .NET (OpenAI) | Документация по службам OpenAI |
Пакеты SDK для .NET для служб искусственного интеллекта Azure
Azure предлагает множество других служб ИИ для создания определенных возможностей приложений и рабочих процессов. Большинство этих служб предоставляют пакет SDK для .NET для интеграции их функциональных возможностей в пользовательские приложения. Некоторые из наиболее часто используемых служб показаны в следующей таблице. Полный список доступных служб и ресурсов обучения см. в документации по Службам искусственного интеллекта Azure.
Служба | Description |
---|---|
Поиск по искусственному интеллекту Azure | Привнесите облачный поиск на базе ИИ в свои мобильные и веб-приложения. |
Безопасность содержимого в ИИ Azure | Обнаружение нежелательного или оскорбительных содержимого. |
Аналитика документов ИИ Azure | Преобразуйте документы в интеллектуальные решения на основе данных. |
Язык ИИ Azure | Создавайте приложения с помощью возможностей распознавания естественного языка в отрасли. |
Речь ИИ Azure | Речь в тексте, тексте в речь, перевод и распознавание говорящего. |
Azure AI Translator | Технология перевода на основе искусственного интеллекта с поддержкой более чем 100 языков и диалектов. |
Визуальное распознавание искусственного интеллекта Azure | Анализ содержимого в изображениях и видео. |
Разработка с помощью локальных моделей ИИ
Приложения .NET также могут подключаться к локальным моделям ИИ для различных сценариев разработки. Семантический ядро — это рекомендуемое средство для подключения к локальным моделям с помощью .NET. Семантический ядро может подключаться к различным моделям, размещенным на различных платформах, и абстрагирует сведения о реализации нижнего уровня.
Например, можно использовать Ollama для подключения к локальным моделям искусственного интеллекта с помощью .NET, включая несколько небольших языковых моделей (SLM), разработанных корпорацией Майкрософт:
Модель | Description |
---|---|
модели phi3 | Семейство мощных SMS с более низкой производительностью и низкой задержкой. |
модели orca | Исследования моделей в таких задачах, как рассуждение по поводу данных пользователя, чтение понимания, решение математических задач и сводка текста. |
Примечание.
Предыдущие SMS также могут размещаться в других службах, таких как Azure.
Подключение к векторным базам данных и службам
Приложения ИИ часто используют базы данных и службы векторов данных для улучшения релевантности и предоставления настраиваемых функций. Многие из этих служб предоставляют собственный пакет SDK для .NET, а другие предлагают службу REST, к ней можно подключиться через пользовательский код. Семантический ядро предоставляет расширяемую модель компонентов, которая позволяет использовать различные векторные хранилища без необходимости изучать каждый пакет SDK.
Семантический ядро предоставляет соединители для следующих векторных баз данных и служб:
Ознакомьтесь с документацией по каждой соответствующей службе, чтобы узнать о поддержке пакета SDK для .NET и API.
Другие варианты
В этой статье приведены средства и пакеты SDK в экосистеме .NET с акцентом на службах, которые обеспечивают официальную поддержку .NET. В зависимости от потребностей и стадии разработки приложений вы также можете ознакомиться с вариантами с открытым исходным кодом для экосистемы в неофициальном списке ресурсов .NET + AI. Корпорация Майкрософт не является сервером многих из этих проектов, поэтому обязательно просмотрите их качество, лицензирование и поддержку.