Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Планы семантического ядра для предоставления поддержки следующим языкам:
- C#
- Python
- Java
Хотя общая архитектура ядра согласована на всех языках, мы убедились, что пакет SDK для каждого языка соответствует общим парадигмам и стилям на каждом языке, чтобы сделать его собственным и простым в использовании.
Пакеты C#
В C#существует несколько пакетов, которые помогут вам импортировать только необходимые функции для проекта. В следующей таблице показаны доступные пакеты в C#.
Имя пакета | Description |
---|---|
Microsoft.SemanticKernel |
Основной пакет, включающий все, что нужно приступить к работе |
Microsoft.SemanticKernel.Core |
Основной пакет, предоставляющий реализации для Microsoft.SemanticKernel.Abstractions |
Microsoft.SemanticKernel.Abstractions |
Базовые абстракции для семантического ядра |
Microsoft.SemanticKernel.Connectors.Amazon |
Соединитель ИИ для Amazon AI |
Microsoft.SemanticKernel.Connectors.AzureAIInference |
Соединитель ИИ для вывода СИ Azure |
Microsoft.SemanticKernel.Connectors.AzureOpenAI |
Соединитель искусственного интеллекта для Azure OpenAI |
Microsoft.SemanticKernel.Connectors.Google |
Соединитель ИИ для моделей Google (например, Gemini) |
Microsoft.SemanticKernel.Connectors.HuggingFace |
Соединитель искусственного интеллекта для моделей распознавания лиц |
Microsoft.SemanticKernel.Connectors.MistralAI |
Соединитель ИИ для моделей Мистраль ИИ |
Microsoft.SemanticKernel.Connectors.Ollama |
Соединитель ИИ для Ollama |
Microsoft.SemanticKernel.Connectors.Onnx |
Соединитель ИИ для Onnx |
Microsoft.SemanticKernel.Connectors.OpenAI |
Соединитель ИИ для OpenAI |
Microsoft.SemanticKernel.Connectors.AzureAISearch |
Соединитель хранилища векторов для AzureAISearch |
Microsoft.SemanticKernel.Connectors.CosmosMongoDB |
Соединитель хранилища векторов для AzureCosmosDBMongoDB |
Microsoft.SemanticKernel.Connectors.CosmosNoSql |
Соединитель хранилища векторов для AzureAISearch |
Microsoft.SemanticKernel.Connectors.MongoDB |
Соединитель хранилища векторов для MongoDB |
Microsoft.SemanticKernel.Connectors.Pinecone |
Соединитель хранилища векторов для Pinecone |
Microsoft.SemanticKernel.Connectors.Qdrant |
Соединитель хранилища векторов для Qdrant |
Microsoft.SemanticKernel.Connectors.Redis |
Соединитель хранилища векторов для Redis |
Microsoft.SemanticKernel.Connectors.SqliteVec |
Соединитель хранилища векторов для Sqlite |
Microsoft.SemanticKernel.Connectors.Weaviate |
Соединитель хранилища векторов для Weaviate |
Microsoft.SemanticKernel.Plugins.OpenApi (Экспериментальный) |
Включает загрузку подключаемых модулей из спецификаций OpenAPI |
Microsoft.SemanticKernel.PromptTemplates.Handlebars |
Включает использование шаблонов Handlebars для запросов |
Microsoft.SemanticKernel.Yaml |
Предоставляет поддержку сериализации запросов с помощью файлов YAML |
Microsoft.SemanticKernel.Prompty |
Предоставляет поддержку сериализации запросов с помощью файлов с запросами |
Microsoft.SemanticKernel.Agents.Abstractions |
Предоставляет абстракции для создания агентов |
Microsoft.SemanticKernel.Agents.OpenAI |
Предоставляет поддержку агентов API Помощника |
Чтобы установить любой из этих пакетов, можно использовать следующую команду:
dotnet add package <package-name>
Пакеты Python
В Python есть один пакет, включающий все, что необходимо приступить к работе с семантической ядром. Чтобы установить пакет, можно использовать следующую команду:
pip install semantic-kernel
В PyPI под Provides-Extra
дополнительными дополнительными дополнительными компонентами также перечислены и при использовании, которые будут устанавливать пакеты, необходимые для использования с этим соединителем или службой, можно установить их с синтаксисом квадратной скобки для примера:
pip install semantic-kernel[azure]
При этом будут установлены семантические ядра, а также определенные тестируемые версии: azure-ai-inference
, azure-search-documents
, azure-core
azure-identity
azure-cosmos
и (и msgraph-sdk
все зависимости этих пакетов). Аналогичным образом будет установлен hugging_face
и transformers
дополнительныйsentence-transformers
.
Пакеты Java
Для Java семантический ядро содержит следующие пакеты; все находятся под идентификатором com.microsoft.semantic-kernel
группы и могут быть импортированы из maven.
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-api</artifactId>
</dependency>
Предоставляется BOM, который можно использовать для определения версий всех пакетов семантического ядра.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-bom</artifactId>
<version>${semantickernel.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
-
semantickernel-bom
— BOM проекта Maven, который можно использовать для определения версий всех пакетов семантического ядра. -
semantickernel-api
— пакет, определяющий основной общедоступный API для семантического ядра для проекта Maven. -
semantickernel-aiservices-openai
— предоставляет соединитель, который можно использовать для взаимодействия с API OpenAI.
Ниже приведен пример XML POM для простого проекта, использующего OpenAI.
<project>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-bom</artifactId>
<version>${semantickernel.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-api</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-connectors-ai-openai</artifactId>
</dependency>
</dependencies>
</project>
Доступные функции в каждом пакете SDK
В следующих таблицах показано, какие функции доступны на каждом языке. Символ 🔄 указывает, что функция частично реализована, см. соответствующий столбец заметок для получения дополнительных сведений. Символ ❌ указывает, что функция еще не доступна на этом языке. Если вы хотите увидеть функцию, реализованную на языке, попробуйте внести свой вклад в проект или открыть проблему.
Основные возможности
Службы | C# | Python | Java | Примечания. |
---|---|---|---|---|
Запросы | ✅ | ✅ | ✅ | Полный список поддерживаемых форматов шаблонов и сериализации см. в таблицах ниже. |
Собственные функции и подключаемые модули | ✅ | ✅ | ✅ | |
Подключаемые модули OpenAPI | ✅ | ✅ | ✅ | Java содержит пример, демонстрирующий загрузку подключаемых модулей OpenAPI |
Автоматический вызов функции | ✅ | ✅ | ✅ | |
Открытие журналов телеметрии | ✅ | ✅ | ❌ | |
Перехватчики и фильтры | ✅ | ✅ | ✅ |
Форматы шаблонов запроса
При создании запросов семантический ядро предоставляет различные языки шаблонов, которые позволяют внедрять переменные и вызывать функции. В следующей таблице показано, какие языки шаблонов поддерживаются на каждом языке.
Список типов | C# | Python | Java | Примечания. |
---|---|---|---|---|
Язык шаблона семантического ядра | ✅ | ✅ | ✅ | |
Рули | ✅ | ✅ | ✅ | |
Liquid | ✅ | ❌ | ❌ | |
Jinja2 | ❌ | ✅ | ❌ |
Форматы сериализации запроса
После создания запроса его можно сериализовать таким образом, чтобы его можно было хранить или совместно использовать между командами. В следующей таблице показано, какие форматы сериализации поддерживаются на каждом языке.
Список типов | C# | Python | Java | Примечания. |
---|---|---|---|---|
YAML | ✅ | ✅ | ✅ | |
Запрос | ✅ | ❌ | ❌ |
Модальности служб ИИ
Службы | C# | Python | Java | Примечания. |
---|---|---|---|---|
Создание текста | ✅ | ✅ | ✅ | Пример: Text-Davinci-003 |
Завершение чата | ✅ | ✅ | ✅ | Пример: GPT4, Chat-GPT |
Внедрение текста (экспериментальный) | ✅ | ✅ | ✅ | Пример: Text-Embeddings-Ada-002 |
Текст на изображение (экспериментальный) | ✅ | ✅ | ❌ | Пример: Dall-E |
Изображение в текст (экспериментальный) | ✅ | ❌ | ❌ | Пример: Pix2Struct |
Текст на звук (экспериментальный) | ✅ | ✅ | ❌ | Пример: преобразование текста в речь |
Звук в текст (экспериментальный) | ✅ | ✅ | ❌ | Пример: Whisper |
Соединители служб ИИ
Конечные точки | C# | Python | Java | Примечания. |
---|---|---|---|---|
Amazon Bedrock | ✅ | ✅ | ❌ | |
Антропик | ✅ | ✅ | ❌ | |
Инференция искусственного интеллекта Azure | ✅ | ✅ | ❌ | |
Azure OpenAI | ✅ | ✅ | ✅ | |
✅ | ✅ | ✅ | ||
API вывода лиц | ✅ | ✅ | ❌ | |
Мистраль | ✅ | ✅ | ❌ | |
Ollama | ✅ | ✅ | ❌ | |
ONNX | ✅ | ✅ | ❌ | |
OpenAI | ✅ | ✅ | ✅ | |
Другие конечные точки, поддерживающие API OpenAI | ✅ | ✅ | ✅ | Включает LLM Studio и т. д. |
Соединители хранилища векторов (экспериментальные)
Предупреждение
Функциональность хранилища векторов семантического ядра доступна в предварительной версии, и улучшения, требующие кардинальных изменений, могут по-прежнему возникать в ограниченных случаях до выпуска.
Список соединителей хранилища векторов и поддержка языка для каждого из них см . в списке соединителей.
Соединители хранилища памяти (устаревшие версии)
Внимание
Соединители хранилища памяти являются устаревшими и заменены соединителями Vector Store. Дополнительные сведения см. в разделе "Устаревшие хранилища памяти".
Соединители памяти | C# | Python | Java | Примечания. |
---|---|---|---|---|
Поиск с использованием ИИ Azure | ✅ | ✅ | ✅ | |
Цветность | ✅ | ✅ | ❌ | |
DuckDB | ✅ | ❌ | ❌ | |
Милвус | ✅ | ✅ | ❌ | |
Pinecone | ✅ | ✅ | ❌ | |
Postgres | ✅ | ✅ | ❌ | |
Qdrant | ✅ | ✅ | ❌ | |
Redis | ✅ | ✅ | ❌ | |
Sqlite | ✅ | ❌ | 🔄 | |
Weaviate | ✅ | ✅ | ❌ |