![生成AI活用におけるMicrosoftの次世代OSS『Semantic Kernel』とは](https://cloud-expert.funaisoken.co.jp/wp-content/uploads/2023/07/26203093_m.jpg)
生成AI活用におけるMicrosoftの次世代OSS『Semantic Kernel』とは
- AI活用
- AOAI
- Azure OpenAI Service
- IT・情報通信業
- Microsoft
- Semantic Kernel
- システム開発
今回は生成AIの活用において注目を浴びている『Semantic Kernel』について紹介します。
(前の記事:GPTは「Chat」だけじゃない?意外と知られていない生成AI『BioGPT』とは)
Semantic Kernelとは
「Semantic Kernel」は Microsoft社が開発したオープンソースのソフトウェア開発キットです。
「Semantic Kernel」を利用することで大規模言語モデル (LLM) を迅速かつ簡単にアプリに統合することができます。
2023年7月現在の対応言語は「C#」と「python」です。
Semantic Kernelの特徴
- Planner機能により与えられたスキルの実行計画の自動作成ができる
- プラン作成、実行までのコード実装が比較的容易にできる
- プラン作成時のプロンプト指定によってユーザー側でのチューニングが柔軟性がある
![Semantic Kernelのイメージ画像](https://cloud-expert.fsdg.co.jp/wp-content/uploads/2023/07/キャプチャ-1024x227.png)
https://qiita.com/nohanaga/items/430b59209b02c298ef2a
https://qiita.com/sakue_103/items/6ffee0bc267e71eafd60
Semantic Kernelを使うことのメリット
Semantic KernelはOpenAI、AzureOpenAIを使ったアプリケーションを開発するために必要な各種機能があらかじめ用意されております。
既存のシステムやデータとの連携開発がスムーズに行えるため、開発工数の大幅な削減が可能です。
またユーザーの入力を分析し必要に応じて外部データとの連携を実行して結果を返すなど、一連の処理の手順をプランニングして自動実行するなどの機能も実装できます。
Semantic Kernelを使わない場合
もしSemantic Kernelを利用せずにOpenAI、AzureOpenAIを使ったアプリケーションを開発する場合、外部データとの連携、プロンプト処理、チャット履歴の保持などの機能を自前でコーディングしなければなりません。
したがって必然的に開発工数が膨らむこととなります。
※Semantic Kernel以外にもAzureOpenAIのSDKなどは存在しているいますが外部連携などの機能はありません
https://www.nuget.org/packages/Azure.AI.OpenAI/1.0.0-beta.5
Semantic Kernelの使い方
簡略化しておりますが下記の手順で環境を構築して利用します。
①dotnetSDKのインストール(x64インストーラー)
https://dotnet.microsoft.com/ja-jp/download/dotnet/7.0
②visual studio code(IDE)のインストール
③C#のプロジェクトの作成
例:コンソールアプリの雛形
dotnet new console –framework net6.0
④visual studio code C#拡張インストール
⑤<ライブラリインストール>
プロジェクトのrootディレクトリでコマンド実行
dotnet add package Microsoft.SemanticKernel –prerelease
以上の手順でSemantic Kernelを使った開発がスタートできます。
Semantic Kernelの料金
Semantic Kernelは一般的なクラウドサービスと違ってオープンソースソフトウェアのため『無料』で利用することができます。
Semantic Kernelを用いたデモアプリ
AI旅行プラン組み立てアプリ
旅行内容を自然言語で伝えると、交通経路や宿泊先など希望に沿った旅行プランを提案してくれるデモアプリです。
技術的には「Azure OpenAI Service」(AOAI)と「Semantic Kernel」を用いて入力内容を分析(Reasoning)し、外部APIへ問い合わせを行って乗換経路や宿泊先候補の情報を取得(Acting)しています。
(参考:Azure OpenAI Serviceってなに?OpenAI社の生成AIとは何が違うの?)
Semantic Kernelを使ってみた感想
- 現在進行形でライブラリの開発が進んでいるのでまだまだ機能のびしろが沢山ある
- MSから提供されているライブラリのためAzureとの親和性は高いと思われる
- まだまだ発展途中なので技術情報が少ないのは事実
総じて『高いポテンシャルを感じるため今後に期待』という所感です。
まとめ
今回は「Semantic Kernel」という最新のソフトウェアについて解説しました。
まだリリースして間もないソフトウェアのためドキュメント類が多くなく開発言語も限定されておりますが、MicrosoftがAIに巨額な投資をしているため、これからどんどん利便性が高まり生成AIを用いたアプリ開発においては欠かせないものとなるかと思われます。
今後のバージョンアップに期待ですね。
また近い将来AZ、PL、AIのように「Semantic Kernel」もSKという資格が設定されるかもしれません。
(AI旅行プラン組み立てアプリの構築【日本マイクロソフト株式会社様】)
さて、いよいよ定番化してきたAIコラムですが次回は話題の「Google Bard」について紹介します。
(『ChatGPT』VS『BingAI』VS『Google Bard』システム開発における文章生成AI”比較編”)
今回のコラムに関連のある資料
![「AI旅行プラン組み立てアプリ」技術資料](https://cloud-expert.funaisoken.co.jp/wp-content/uploads/2023/06/旅行プランアプリデモンストレーション資料_送付版_202306229.png)
「AI旅行プラン組み立てアプリ」技術資料
Azure OpenAI Serviceを活用した旅行プラン組み立てアプリ(デモンストレーション)の技術資料です。 アプリの概要を始めシステム構成図、アプリの流れ、そしてSemantic Kernelや設定プロンプトなどを解説しています。