Semantic Kernel機能の使用、およびバージョン機能の安定に伴い、SKの機能を整理する時が来ました。本シリーズの記事ではC#を主な例として使用し、「概念の説明が明解で、サンプルコードが簡潔であること」を目指します。
簡単にするために、以降Semantic KernelはSKと略します。
SKはソフトウェア開発キット(SDK)で、OpenAI、Azure OpenAI、Hugging Faceなどの大規模言語モデル(LLM)と、C#、Python、Javaなどの従来のプログラミング言語を統合します。SKはプラグインを定義し、これらのプラグインを数行のコードで連携させることができます。
しかし、SKの特異性は、これらのプラグインを人工知能(AI)で自動的に調整できる点です。SKのプランナーを使用して、ユーザーの特定の目標を達成する計画を大規模言語モデルに生成させることができます。その後、Semantic Kernelがユーザーのためにその計画を実行します。
SKについての感想はまず、SKがPython、C#、Javaの三つの言語をサポートしていることです。各言語のSDKのリリースには時間差がありますが、機能は基本的に一致しており、同じソリューションで異なるプロジェクトに対し一貫したAPIを提供します。また、ログ収集や監視指標などの基盤インフラを共有することができるのも利点の一つです。
さらに、SKはLLMに依存しません。現在、SKは主流のLLMをサポートしており、一部はまだサポートと改善の途中です。LLMとSKが安定し成熟するにつれ、SKはLLM間の使用差異をうまく補正し、開発効率を向上させ、LLMの切り替えの柔軟性を向上させることで、LLM集約ゲートウェイの基盤を提供できると確信しています。
【SmartFill】は私が開発したChromeのプラグイン式スマート入力ツールです。ぜひお試しください: https://tinyurl.com/222ajrfd