Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Экосистема .NET предоставляет множество мощных средств, библиотек и служб для разработки приложений ИИ. .NET поддерживает подключения к облачной и локальной модели искусственного интеллекта, множество различных пакетов SDK для различных служб баз данных ИИ и векторов, а также другие средства, помогающие создавать интеллектуальные приложения с различной областью и сложностью.
Внимание
Не все пакеты SDK и службы, представленные в этой документации, поддерживаются корпорацией Майкрософт. При рассмотрении пакета SDK обязательно оцените качество, лицензирование, поддержку и совместимость, чтобы обеспечить соответствие вашим требованиям.
библиотеки 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, что позволяет разработчикам выбирать предпочитаемые платформы и библиотеки, обеспечивая непрерывную интеграцию и совместную работу в экосистеме.
Семантическое ядро для .NET
Если вы просто хотите использовать низкоуровневые службы, такие как IChatClient и IEmbeddingGenerator<TInput,TEmbedding>, вы можете ссылаться на Microsoft.Extensions.AI.Abstractions
пакет непосредственно из приложения. Тем не менее, если вы хотите использовать более высокий уровень, более мнение о подходах к ИИ, следует использовать семантические ядра.
Семантический ядро, которое зависит от Microsoft.Extensions.AI.Abstractions
пакета, — это библиотека с открытым кодом, которая обеспечивает интеграцию и оркестрацию ИИ в приложениях .NET. Его соединители обеспечивают конкретные реализации IChatClientIEmbeddingGenerator<TInput,TEmbedding> и для различных служб, включая OpenAI, Amazon Bedrock и Google Gemini.
Пакет 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.
Служба | Описание |
---|---|
Поиск по искусственному интеллекту Azure | Привнесите облачный поиск на базе ИИ в свои мобильные и веб-приложения. |
Безопасность содержимого в ИИ Azure | Обнаружьте нежелательное или оскорбительное содержимое. |
Azure ИИ анализа документов | Преобразуйте документы в интеллектуальные решения на основе данных. |
Язык ИИ Azure | Создавайте приложения с помощью передовых в отрасли возможностей распознавания естественного языка. |
Речь ИИ Azure | Речь в тексте, тексте в речь, перевод и распознавание говорящего. |
Azure AI Translator | Технология перевода на основе искусственного интеллекта с поддержкой более чем 100 языков и диалектов. |
Визуальное распознавание искусственного интеллекта Azure | Анализ содержимого в изображениях и видео. |
Разработка с помощью локальных моделей ИИ
Приложения .NET также могут подключаться к локальным моделям ИИ для различных сценариев разработки. Семантический ядро — это рекомендуемое средство для подключения к локальным моделям с помощью .NET. Семантическое ядро может подключаться к разным моделям, размещённым на различных платформах, и абстрагирует детали реализации нижнего уровня.
Например, можно использовать Ollama для подключения к локальным моделям искусственного интеллекта с помощью .NET, включая несколько небольших языковых моделей (SLM), разработанных корпорацией Майкрософт:
Модель | Описание |
---|---|
модели phi3 | Семейство мощных SMS с более низкой производительностью и низкой задержкой. |
модели Orca | Исследовательские модели в задачах, таких как рассуждения над предоставленными пользователем данными, понимание прочитанного, решение математических задач и резюмирование текста. |
Примечание.
Предыдущие SMS также могут размещаться в других службах, таких как Azure.
Подключение к векторным базам данных и службам
Приложения ИИ часто используют базы данных и службы векторов данных для улучшения релевантности и предоставления настраиваемых функций. Многие из этих служб предоставляют собственный пакет SDK для .NET, а другие предлагают службу REST, к ней можно подключиться через пользовательский код. Семантический ядро предоставляет расширяемую модель компонентов, которая позволяет использовать различные векторные хранилища без необходимости изучать каждый пакет SDK.
Семантический ядро предоставляет соединители для следующих векторных баз данных и служб:
Чтобы узнать о поддержке пакета SDK для .NET и API, посетите документацию для каждой соответствующей службы.
Другие варианты
В этой статье приведены средства и пакеты SDK в экосистеме .NET с акцентом на службах, которые обеспечивают официальную поддержку .NET. В зависимости от потребностей и стадии разработки приложений вы также можете ознакомиться с вариантами с открытым исходным кодом для экосистемы в неофициальном списке ресурсов .NET + AI. Корпорация Майкрософт не является сервером многих из этих проектов, поэтому обязательно просмотрите их качество, лицензирование и поддержку.