OpenAI API を使ったチャットボット(エンタメ編)
OpenAI API を使ったチャットボット(導入編)(設定編)(応用編)で紹介した iOS アプリ OnePrompt で、キャラクターを演じてもらうプロンプトを作成して遊んでみる企画です。プロンプトの作成には、以下のページを参考にしました。
対象とするキャラクターは、オープンワールドRPG 「原神」のクレーです。クレーのキャラクターについては、次の動画を参考にして下さい。
プロンプトを作成する際には、キャラクターの特徴を的確に表現するために、口調に注意を払いながらセリフを構築します。ゲーム内のセリフをアレンジしたり、既存のセリフをそのまま使用する場合もあります。プロンプトの作成は、OnePromptアプリのプロンプト作成画面にて行います。ここでは、外部ファイルを導入してプロンプトを構築する機能を活用します。
応用編で説明したファイル・アプリを使ったフォルダーへのコピーの手順と同じ操作で、以下のファイルを OnePrompt の「Imports」フォルダに保存します。
プロンプト作成の手順を説明します。
トップ画面の右下のアイコンをタップしてメニューを表示します。表示されたメニューの一番下のアイコンをタップします。
プロンプト作成画面が表示されたら、画面の右上にあるアイコンをタップします。もしプロンプトの内容をコピー&ペーストしたい場合は、画面上でテキストを長押ししてください。すると、コピー&ペーストのメニューが表示されるので、「ペースト」を選択してください。これによって、必要なテキストを簡単にプロンプトに貼り付けることができます。
先の手順で保存したプロンプト・ファイルが表示されますので、タップして選択します。
選択したプロンプト・ファイルの内容が取り込まれますので、右上の「保存」ボタンをタップしてプロンプトを保存します。
プロンプトを保存する際には、タイトルの入力が求められます。この入力したタイトルがチャット画面でのプロンプト・メニューに表示されます。そのため、分かりやすい名前を付けるのが重要です。
プロンプトを保存した後は、トップ画面のメニューアイコンの下から2番目のアイコンをタップします。すると、プロンプト管理画面が表示されます。この画面で、保存時に設定したタイトルのプロンプトを選択します。スクリーンショットには、複数のプロンプトが表示されていますが、それはプロンプトを調整しながら試行錯誤した結果ですので、気にする必要はありません。
プロンプトのカスタマイズ画面では、キャラクターを演じるために使用するプロンプトを「システム」に設定します。デフォルトでは「ユーザ」に設定されています。これは、ChatGPT向けに一般的に公開されているプロンプトは、「ユーザ」としての操作を想定して作成されているからです。これは、Webサイトなどで公開されているプロンプトをコピー&ペーストしてプロンプトを作成した場合、そのプロンプトをすぐにチャット画面で利用するためです。
「ユーザ」項目の右側にあるアイコンをタップすると、さらに詳細なプロンプトのカスタマイズが行えます。ここで、プロンプトのカテゴリを「キャラクター」に設定します。この設定により、チャット画面のプロンプト・メニュー内の「キャラクター」セクションに、指定したプロンプトが表示されます。
チャット画面を開いたら、右上のアイコンをタップします。すると、カテゴリーが表示されます。ここで、今回作成したプロンプト「クレーちゃん」を「キャラクター」から選択します。プロンプトの切り替えは、このメニューを使用して行います。もし複数のプロンプトが存在する場合、簡単に切り替えて利用できます。この方法によって、特定のキャラクターを表現するプロンプトを手軽に選択して使用できます。
「原神」のキャラクター、クレーを演じるプロンプトによるチャット例です。その返答はクレーらしい雰囲気を持っており、キャラクターとの会話も楽しい感じとなっています。一方で、OnePromptアプリのコンセプトである個人専用のアシスタントとしても活用できる可能性について、試してみようと思います。
天気予報プラグインを有効にして、クレーに尋ねてみました。口調はクレーっぽい返答ですが、何か微妙な感じが残りますね。
今回は、応用編で作成したホットペッパー・プラグインを有効にして、クレーに焼肉店を検索してもらいました。回答時の最初に生成されるメッセージの口調が、クレーらしい感じになっています。なかなか良い出来ですね。
回答の最後のメッセージもクレーらしい口調で、キャラクター再現度が高いですね。ただし、実際に使用している際にはキャラクターの口調が崩れることもあるかもしれません。したがって、まだまだプロンプトの改善の余地があると考えられます。キャラクターの特徴や表現に忠実に近づけるために、さらに工夫と調整を続けることが大切ですね。
この記事を作成中に、OpenAI からGPT 3.5 turbo で Fine Tuning が使えるという発表がありました。Fine Tuning を使えば、キャラクターを演じるプロンプトの精度向上が期待できます。
また、作成したプロンプトをチャット開始時に自動的に利用したい場合は、アプリの設定画面の「デフォルトのプロンプト設定」で使いたいプロンプトを指定できます。
プロンプト選択画面で使いたいプロンプト(今回は「クレーちゃん」)をタップします。これでチャット画面で自動的に「クレーちゃん」のプロンプトが利用されます。
同様に設定画面の「壁紙を設定する」をタップして、トップ画面の壁紙を指定できます。
トップ画面に壁紙を設定すると、メニューボタンは右上に移動します。設定画面でボタンの位置を左側に指定している場合は、左上に表示されます。
ここでは、キャラクターを演じるプロンプトを使用したチャットの例を紹介しました。同じ手法を用いて、話し相手の口調や行動を記述したプロンプトを作成すれば、カウンセリングのような用途にも応用できると考えられます。