Поделиться через


Обзор экосистемы .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
Поиск с использованием ИИ Azure Microsoft.SemanticKernel.Connectors.AzureAISearch Azure.Search.Documents
Azure Cosmos DB for NoSQL Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL Microsoft.Azure.Cosmos
Azure Cosmos DB for MongoDB Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB MongoDb.Driver
Сервер Azure PostgreSQL Microsoft.SemanticKernel.Connectors.Postgres Npgsql
База данных SQL Azure Microsoft.SemanticKernel.Connectors.SqlServer Microsoft.Data.SqlClient
Цветность Microsoft.SemanticKernel.Connectors.Chroma Неприменимо
DuckDB Microsoft.SemanticKernel.Connectors.DuckDB DuckDB.NET.Data.Full
Милвус Microsoft.SemanticKernel.Connectors.Milvus Milvus.Client
Поиск вектора MongoDB Atlas Microsoft.SemanticKernel.Connectors.MongoDB MongoDb.Driver
Pinecone Microsoft.SemanticKernel.Connectors.Pinecone REST API
Postgres Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Qdrant Microsoft.SemanticKernel.Connectors.Qdrant Qdrant.Client
Redis Microsoft.SemanticKernel.Connectors.Redis StackExchange.Redis
Weaviate Microsoft.SemanticKernel.Connectors.Weaviate REST API

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

Другие варианты

В этой статье приведены средства и пакеты SDK в экосистеме .NET с акцентом на службах, которые обеспечивают официальную поддержку .NET. В зависимости от потребностей и стадии разработки приложений вы также можете ознакомиться с вариантами с открытым исходным кодом для экосистемы в неофициальном списке ресурсов .NET + AI. Корпорация Майкрософт не является сервером многих из этих проектов, поэтому обязательно просмотрите их качество, лицензирование и поддержку.

Next Steps