【SemanticKernel】基礎講座⑤ Skillとは?

スキルとは?

スキル(Skills)は、カーネルが利用できる専門領域を指し、単一の機能としてカーネルに提供されるか、スキルに関連する複数の機能のグループとして提供されます。SKスキルの設計では、開発者が軽量で拡張性のあるものになるように、最大限の柔軟性を重視しています。

ファンクションとは?

関数(Function)は、スキルの基本的な構成要素です。関数は次のいずれかの形式で表現されます。

LLM AIプロンプト(または「セマンティック」関数):関数をLLM AIプロンプトとして表現することもできます。
ネイティブコンピュータコード(または「ネイティブ」関数):ネイティブコンピュータコードを使用する場合、LLM AIプロンプトを呼び出すことも可能です。つまり、ハイブリッドなLLM AI × ネイティブコードの関数が存在することもあります。

関数は、エンドツーエンドで接続されることでより強力な機能が作成されます。セマンティック関数では純粋なLLM AIプロンプトとして表現されるため、”関数”と”プロンプト”は同義語として使用されることがあります。

セマンティック関数とスキルの関係はどのようなものですか?

スキルは、関数が存在するコンテナです。セマンティックスキルは、複数のセマンティック関数のディレクトリを含むディレクトリの一覧として考えることができます。

SkillName(ディレクトリ名)
│
└─── Function1Name(ディレクトリ名)
│
└─── Function2Name(ディレクトリ名)

各関数ディレクトリには、skprompt.txtファイルconfig.jsonファイルが含まれています。より詳細な情報は、「セマンティック関数の作成」でセマンティック関数についてさらに学ぶことができます。

ネイティブ関数とスキルの関係はどのようなものですか?

ネイティブ関数は、Azure Functionsからの着想を受けており、以下のような個々のネイティブスキルファイルとして存在します。

MyAppSource
│
└───MySkillsDirectory
│
└─── MySemanticSkill(ディレクトリ)
| │
| └─── MyFirstSemanticFunction(ディレクトリ)
| └─── MyOtherSemanticFunction(ディレクトリ)
│
└─── MyNativeSkill.cs(ファイル)
└─── MyOtherNativeSkill.cs(ファイル)

各ファイルには、スキルに関連付けられた複数のネイティブ関数が含まれています。

GitHubリポジトリでスキルを見つける場所はどこですか?
スキルは以下の3つの場所のいずれかに格納されています。

– コアスキル(Core Skills):これらは、時間、テキスト、ファイル、HTTPリクエスト、およびプランナーなどのいくつかの標準的な機能を具体化したカーネルにいつでも利用可能なスキルです。コアスキルはここで見つけることができます。
– セマンティックスキル(Semantic Skills):これらのスキルは、選択したディレクトリ内で管理されます。
– ネイティブスキル(Native Skills):これらのスキルも、選択したディレクトリで管理されます。

スキルの例や、サンプルアプリで使用されているスキルについては、/samples/skillsフォルダを見てください。

File not found · microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps - File not found · microsoft/semantic-kernel

コメント

タイトルとURLをコピーしました