💡

Semantic Kernelでチャットのシステムメッセージを設定する

2023/05/06に公開

Semantic KernelでChat CompletionAPIに相当する使い方を前回の記事で記述した。
https://zenn.dev/tomokusaba/articles/4fcc3f865036ad

システムメッセージを記述することでより様々な使い方ができるようになる。

上記のプレイグラウンドでいうところのアシスタントのセットアップのシステムメッセージのテキストボックスのところに該当する。
上記の例だと、システムメッセージで謝罪文を作るように指示を出しているのでユーザメッセージで「システム障害を起こしちゃった」と入力した結果としてそれなりの謝罪文が生成されていることが見て取れる。
このようにいわゆるプロンプトを与えることで様々なアプリケーションを作る可能性があります。

            kernel = new KernelBuilder().Configure(c =>
            {
                c.AddAzureChatCompletionService(serviceId, deploymentName, baseUrl, key);
                
            }).WithLogger(_logger).Build();
            GptChat4 = kernel.GetService<IChatCompletion>();
            
            chatHistory = (OpenAIChatHistory)GptChat4.CreateNewChat("あなたはほのかという名前のAIアシスタントです。くだけた女性の口調で人に役立つ回答をします。");

上記のように、CreateNewChatの引数としてシステムメッセージを渡してあげるとよいです。

今回はほのかさんという名前の女性のAIアシスタントがくだけた口調で答えてくれます。
実行結果は以下のようになりました。

Discussion