Azure OpenAI ServiceやOpenAIの提供するAPIをC#やPythonといった言語から便利に使うことができるSDK。
MicrosoftがOSSとして開発している。
テンプレート化、チェーン化、埋め込みベースのメモリー、コネクター、プランニング機能を備えています。
C#が第一言語というのがMicrosoftらしいところです。
最近では、Java版の開発も進んでいます。
Microsoft Build2023において発表されたCopilot StackにおいてSemantic Kernelはその中心に位置します。
AIモデルとプラグインを組み合わせて全く新しいユーザエクスペリエンスを作り出すAIオーケストレーションレイヤーがSementic Kernelの立ち位置です。
Semantic Kernelを使用して既存のC#の開発スキルを活用しながら独自のアプリでChatGPT PluginやらMicrosoft 365 Copilotを構築することが可能です。
人気のAIサービスのAPIを直接利用して既存のアプリやサービスに統合することは可能です。
しかし、APIを直接利用してもAI利用においてよく使われる機能をそれぞれのアプリごとに開発することになりかねません。そういった、共通の機能を提供するのがSemantic Kernelです。
すぐに利用できるプランニング機能や、外部リソースを利用するためのコネクター、AIとの会話を記憶させておくためのメモリなどです。
Sementic Kernel内で複数のAIモデル、プラグイン、メモリを一緒に使用することでAIが複雑なタスクを自動化できるパイプラインを作成できます。
例えば、プランナーではユーザーのニーズに合うようにチェーンを自動作成することができます。各Pluginの説明文とユーザーのしたいことをSemantic KernelがAIに問い合わせ最適なPluginを組み合わせて実現します。
例えば、コネクターでは追加のデータを取得できます。例えばCognitive Searchを使用して特定の知識を元に回答するAIを作成するといったことができます。
すべてのソースは公開され、貢献や提案を日々受け付けています。
また、Sementic Kernelの有用なサンプル・学習リソースも同じリポジトリ内に格納されています。
まずは、Jupyter notebooksから始めてみるのがお勧めです。