SAKURUG TECHBLOG

Semantic Kernelのすすめ

timestampauthor-name
Tomomitsu

Semantic Kernelとは?

Azure OpenAI ServiceやOpenAIの提供するAPIをC#やPythonといった言語から便利に使うことができるSDK。

MicrosoftがOSSとして開発している。

テンプレート化、チェーン化、埋め込みベースのメモリー、コネクター、プランニング機能を備えています。

C#が第一言語というのがMicrosoftらしいところです。

最近では、Java版の開発も進んでいます。

Semantic Kernelの立ち位置

Microsoft Build2023において発表されたCopilot StackにおいてSemantic Kernelはその中心に位置します。

AIモデルとプラグインを組み合わせて全く新しいユーザエクスペリエンスを作り出すAIオーケストレーションレイヤーがSementic Kernelの立ち位置です。

Semantic Kernelを使用して既存のC#の開発スキルを活用しながら独自のアプリでChatGPT PluginやらMicrosoft 365 Copilotを構築することが可能です。

なぜ、Semantic KernelのようなAIオーケストレーションSDKが必要なのか?

人気のAIサービスのAPIを直接利用して既存のアプリやサービスに統合することは可能です。

しかし、APIを直接利用してもAI利用においてよく使われる機能をそれぞれのアプリごとに開発することになりかねません。そういった、共通の機能を提供するのがSemantic Kernelです。

すぐに利用できるプランニング機能や、外部リソースを利用するためのコネクター、AIとの会話を記憶させておくためのメモリなどです。

Semantic Kernelでできること

Sementic Kernel内で複数のAIモデル、プラグイン、メモリを一緒に使用することでAIが複雑なタスクを自動化できるパイプラインを作成できます。

例えば、プランナーではユーザーのニーズに合うようにチェーンを自動作成することができます。各Pluginの説明文とユーザーのしたいことをSemantic KernelがAIに問い合わせ最適なPluginを組み合わせて実現します。

例えば、コネクターでは追加のデータを取得できます。例えばCognitive Searchを使用して特定の知識を元に回答するAIを作成するといったことができます。

Sementic KernelはOSSです

すべてのソースは公開され、貢献や提案を日々受け付けています。

また、Sementic Kernelの有用なサンプル・学習リソースも同じリポジトリ内に格納されています。

まずは、Jupyter notebooksから始めてみるのがお勧めです。

参考:https://github.com/microsoft/semantic-kernel

記事をシェアする

ABOUT ME

author-image
Tomomitsu
2017年2月中途入社。業務ではAzureへのモダナイゼーションを行っています。Microsoft MVP for Developer Technologies 2022 -