次の方法で共有


サポートされているセマンティック カーネル言語

セマンティック カーネルは、次の言語のサポートを提供することを計画しています。

  • C#
  • Python
  • Java

カーネルの全体的なアーキテクチャはすべての言語で一貫していますが、各言語の SDK が各言語の共通のパラダイムとスタイルに従って、ネイティブで使いやすいものになるようにしました。

C# パッケージ

C# には、プロジェクトに必要な機能のみをインポートする必要があることを確認するために役立つパッケージがいくつかあります。 次の表に、C# で使用可能なパッケージを示します。

パッケージ名 説明
Microsoft.SemanticKernel 作業を開始するためのすべてを含むメイン パッケージ
Microsoft.SemanticKernel.Core の実装を提供するコア パッケージ Microsoft.SemanticKernel.Abstractions
Microsoft.SemanticKernel.Abstractions セマンティック カーネルの基本抽象化
Microsoft.SemanticKernel.Connectors.Amazon Amazon AI 用の AI コネクタ
Microsoft.SemanticKernel.Connectors.AzureAIInference Azure AI 推論用の AI コネクタ
Microsoft.SemanticKernel.Connectors.AzureOpenAI Azure OpenAI 用の AI コネクタ
Microsoft.SemanticKernel.Connectors.Google Google モデル用の AI コネクタ (Gemini など)
Microsoft.SemanticKernel.Connectors.HuggingFace Face モデルを抱きしめる AI コネクタ
Microsoft.SemanticKernel.Connectors.MistralAI Mistral AI モデル用の AI コネクタ
Microsoft.SemanticKernel.Connectors.Ollama Ollama 用の AI コネクタ
Microsoft.SemanticKernel.Connectors.Onnx Onnx 用 AI コネクタ
Microsoft.SemanticKernel.Connectors.OpenAI OpenAI 用の AI コネクタ
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 Prompty ファイルを使用したプロンプトのシリアル化のサポートを提供します
Microsoft.SemanticKernel.Agents.Abstractions エージェントを作成するための抽象化を提供します
Microsoft.SemanticKernel.Agents.OpenAI アシスタント API エージェントのサポートを提供します

これらのパッケージのいずれかをインストールするには、次のコマンドを使用します。

dotnet add package <package-name>

Python パッケージ

Python には、セマンティック カーネルの使用を開始するために必要なものがすべて含まれる 1 つのパッケージがあります。 パッケージをインストールするには、次のコマンドを使用します。

pip install semantic-kernel

PyPI ではProvides-Extra追加の追加機能も一覧表示され、使用すると、その特定のコネクタまたはサービスで SK を使用するために必要なパッケージをインストールする場合は、次のように角かっこ構文を使用してインストールできます。

pip install semantic-kernel[azure]

これにより、セマンティック カーネルと、 azure-ai-inferenceazure-search-documentsazure-coreazure-identityazure-cosmosmsgraph-sdk (およびこれらのパッケージの依存関係) の特定のテスト済みバージョンがインストールされます。 同様に、追加の hugging_facetransformerssentence-transformersをインストールします。

Java パッケージ

Java の場合、セマンティック カーネルには次のパッケージがあります。すべてがグループ ID 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 – すべてのセマンティック カーネル パッケージのバージョンを定義するために使用できる Maven プロジェクト BOM。
  • semantickernel-api – Maven プロジェクトのセマンティック カーネルのコア パブリック API を定義するパッケージ。
  • semantickernel-aiservices-openai –OpenAI API との対話に使用できるコネクタを提供します。

OpenAI を使用する単純なプロジェクトの POM XML の例を次に示します。

<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
Prompty

AI サービスのモダリティ

サービス C# Python Java メモ
テキストの生成 例: Text-Davinci-003
Chat Completion 例: GPT4、Chat-GPT
テキスト埋め込み (試験段階) 例: Text-Embeddings-Ada-002
テキストから画像へ (試験段階) 例: Dall-E
画像からテキストへの変換 (試験段階) 例: Pix2Struct
テキストからオーディオへ (試験段階) 例: テキスト読み上げ
音声テキスト変換 (試験段階) 例: ささやき

AI サービス コネクタ

エンドポイント C# Python Java メモ
Amazon Bedrock
Anthropic
Azure AI Inference
Azure OpenAI
Google
Face Inference API の抱き合い
ミストラル
Ollama
ONNX
OpenAI
OpenAI API をサポートするその他のエンドポイント LLM Studio などが含まれます。

ベクター ストア コネクタ (試験段階)

警告

セマンティック カーネル ベクター ストア機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。

既定のベクター ストア コネクタの一覧と、それぞれの言語サポートについては、 アウト オブ ザ ボックス コネクタを参照してください

メモリ ストア コネクタ (レガシ)

重要

メモリ ストア コネクタは従来のものであり、Vector Store コネクタに置き換えられました。 詳細については、「 レガシ メモリ ストア」を参照してください。

メモリ コネクタ C# Python Java メモ
Azure AI Search
Chroma
DuckDB
Milvus
Pinecone
Postgres
Qdrant
Redis
Sqlite 🔄
Weaviate