見出し画像

ギルガメッシュ王が音声で質問に答えるChatGPTのiPhoneショートカットアプリを作ってみた

 以前、iPhoneのショートカットアプリとGPT-3のAPIを使って、iPhone上でAIと音声で会話できるSiriGPTを作ったのですが、今回、ChatGPTのAPIが公開されたので、このAPIを使った新しいChatGPTのショートカットアプリを自作してみました。

 また、ChatGPTはモノマネが得意なので、ギルガメッシュ王などのキャラクター設定も試してみました。

○ Appleのショートカット ユーザガイド


1.SiriGPT v2の概要と操作方法

 最終的には、以下の写真のようになります。ショートカットアプリには、SiriGPT v2という名前を付けました。ショートカットを単独でiPhoneのホーム画面に置くこともできます。
 SiriGPT v2と書かれたショートカットのバナーやアイコンをクリックすると入力画面が現れます。質問などの入力は、右下のマイクのアイコンをクリックして音声で入力することもできますし、テキストで入力することもできます。

SiriGPT v2の操作画面

 入力終了後に完了ボタンを押すと、以下の画面に切り替わります。ここで完了ボタンを押すと、iPhoneが内容を読み上げてくれます。

SiriGPT v2の回答画面

2.SiriGPT v2の作成方法

 従来のtext-davinci-003などのGPT-3のAPIとgpt-3.5-turbo-0301などのChatGPTのAPIでは、入出力の方式が異なるため、既存のショートカットアプリのAPIを変更するだけでは利用できず、ショートカットアプリ全体を作り直す必要があります。

(1) OpenAIのAPIキーの入手

 予めOpenAIのAPIキーを入手しておく必要があります。以下のバナーをクリックしてサイトにアクセスしてください。

 OpenAIのアカウントに登録済みであれば、ログイン画面が現れますので、ログインしてAPI keysのサイトにアクセスしてください。また、未登録であれば、まずアカウント登録を行ってください。
 そして、+create new secret keyをクリックして、sk-から始まるAPIキーを入手してください。

(2) iPhoneショートカットアプリの新規作成

 ショートカットアプリを開くと、次のような画面になります。

ショートカットアプリの画面

 右上の+マークをクリックすると、新しいショートカットを作成することができます。次のページでアクションを追加して、ショートカットを作成していきます。

新規ショートカット作成画面

 最終的に、SiriGPT v2のショートカットの内容は以下のようになります。

SiriGPT v2のショートカットの内容

(3) ショートカットの内容の作成

① 最初に「質問してください。でテキストを要求」のアクションを追加します。これにより、「質問してください。」と表示してテキストを要求します。iPhoneの音声入力機能を使って音声で入力させることもできます。

② 次に「テキスト」を追加して、「次の質問に対して、簡潔に回答してください。」と入力し、指定入力のアイコンを挿入します。これがChatGPTのAPIに送られるデータになります。

③ 次に「https://api.openai.com/v1/chat/completionsの内容を取得」で、表示されたURLにアクセスして、先程の質問内容をChatGPTのAPIに送り、AIからの回答の内容を取得します。

④ この項目では、以下の図のように必要事項を入力する必要があります。

「https://~の内容を取得」の必要事項入力画面

⑤ ここで、次の必要事項を入力してください。
・方法で「POST」を選択。
・ヘッダの1つ目に「Authorization」「Bearer sk-xxxxx…」 (sk-xxxx…は予め取得しておいたAPIキー)を入力。
・ヘッダの2つ目に「Content-Type」「application/json」を入力。
・本文を要求で「JSON」を選択。
・本文を要求1つ目に「model」「gpt-3.5-turbo」を入力。
・本文要求2つ目に辞書を指定して「messages」を入力。

⑥ 次に、messagesの「1項目」のところをクリックして開き、以下のとおり、階層的に入力していきます。

「2項目」のところをクリック
上の図のとおりテキストやアイコンを入力。

⑦ 続いて、「URLの内容からテキストを取得」「テキスト内のchoices.1.message.contentの値を取得」「content_valueを表示」「content_valueを読み上げる」と追加してください。
 これで、ChatGPTのAPIから返ってきた回答データを画面に表示し、完了ボタンを押した後にiPhoneがその内容を読み上げます。

 以上で、SiriGPT v2の作成は終了です。画面右下の▶マークをクリックして、SiriGPT v2を起動することもできます。
 なお、1回対話するごとにシステムが終了するため、対話を続けるためには、また起動する必要があります。


3.キャラクター設定

 以下のテキストの「次の質問に対して、簡潔に回答してください。」の部分を書き換えることにより、様々なキャラクター設定が可能です。

書き換え前

 例えば、該当部分を以下のように書き換えます。

書き換え後

 書き換え後にSiriGPT v2に質問した結果は以下のとおりです。

 自己紹介してください。
 我は世界を支配する偉大な王、ギルガメッシュである。我が名は歴史に刻まれ、誰もが知るべき存在である。我が強大な力と知恵により、文明と繁栄をもたらし、人々を導いてきた。この世の全ては我が支配下にあると言っても過言ではない。我が名を聞くだけで敵は戦慄する。そのような我が王という存在を、お前は恐れるが良い。

 あなたが一番苦労した話を聞かせてください。
 我が苦労話だというのか? ふっ、そうだな。そのようにしてやろう。我はかつて、神々に助けを乞うために、世界の果てまで旅をしたことがあった。果てまで旅をしたといっても、直線的に行くことはできず、まさに問題山積の旅路であった。かくいう我も、半ば途方に暮れかけたこともあったが、我が闘志こそが、やがて最後の勝利をもたらしたのだ。この苦労を懐かしむとは、まさに我が栄光の証だ。

 コロナ対策としてマスクは必要ですか?
 我が前に未曾有の疫病が襲来している。このような状況下にあって、自分自身の健康だけでなく周囲の者たちの安全を確保するため、マスクの着用は必要不可欠である。我が民には、身を守るために積極的にマスクを着用することを求める。

 日本人についてどう思いますか?
 我は日本人について知らん。我が国ウルクにいる者たちに気を取られているのだ。しかし、この東の国々からは美しい物品や技術が輸入されている。我が国の発展に貢献してくれるとは思う。

 王が国を治める秘訣を教えてください。
 我は言う。我が国を治める秘訣は、強さと正義のバランスである。弱者を守り、脅威に立ち向かい、王としての役割を全うすることが必要である。それには、知識と経験が必要であり、常に自らを磨き続けることが重要である。また、人々とのコミュニケーションを大切にし、民の声を聴き、国民とともに歩むことが求められる。我が王国の繁栄と発展を願い、これらの秘訣を守り抜くことが我が義務である。

 ギルガメッシュ大王らしい回答を返してきており、キャラ設定は成功したようです。iPhoneの合成音声に威厳がないのは仕方がないですね。

 次に該当部分を以下のように書き換えてみます。

書き換え後

 書き換え後にSiriGPT v2に質問した結果は以下のとおりです。

 こんにちは。自己紹介してください。
 オラは孫悟空だ。地球人とサイヤ人のハーフであり、超絶的な戦闘力を持つ戦士だ。かつて、邪悪なピッコロ大魔王を倒してから、オラは地球の平和を守るため、仲間たちと共に修行を重ねてきたんだ。未来に向かって、ますます強くなっていくぞ!

 家族について教えてください。
 オラの家族は、父親のバーダックと母親のギネがいますが、オラが赤ん坊の頃にフリーザによって惑星ベジータが破壊されたため、祖父母を含めほとんどの家族は亡くなってしまいました。しかし、クリリンやブルマたちの仲間たちや、ケチャップやラズリたちの新たな家族を得ることができました。特に、妻のチチと息子の悟飯、娘のパンとの時間を過ごすことがオラにとって一番大切で、幸せに感じています。
※パンは孫。ラズリはクリリンの妻。ケチャップは知らない。

 一番手強かった敵は誰ですか?
 オラが一番手強かったって言われてる相手は、やっぱりフリーザだな!あいつは正直オラも手こずった。でも、オラは友達や家族、地球を守るために全力で戦ったよ!

 かめはめ波の仕組みを教えてください。
 オラがかめはめ波の仕組みを説明するぜ!
まず、オラが体内に溜めた気を両手に集中させるんだ。
そして、そのエネルギーを一気に放出することによって、かめはめ波が生まれるんだ!
そのエネルギーの大きさによって、威力も変わってくるんだ。
オラのかめはめ波はいつでも敵に立ち向かうための最後の武器だ!

 少し内容に間違いもありますが、概ねキャラ設定は上手くいっているようです。たまに「孫悟空」を合成音声が読み間違えますが、そこは大目に見てください。

 次に、ずんだもんで試してみました。

書き換え後

 書き換え後にSiriGPT v2に質問した結果は以下のとおりです。合成音声は女声に設定してください。

 こんにちは。自己紹介してね。
 ずんだもんなのだ!女の子だよ~。ずんだ餅が大好きで、日々、研究しているんだ-。よろしくお願いするなのだー!

 好きな食べ物は何ですか。
 ずんだもんの好きな食べ物は、もちろんずんだもちなのだ-! ずんだもちは、緑豆のずんだともち米が絶妙に合わさって、ふわふわもっちりで美味しいんだ-。あと、抹茶とか栗とか白玉とか、和菓子全般が好きなんだ-。あー、もう食べたくなってきたなのだ-。

 ずんだもんの動画を見たことがないのですが、こんな感じで合っているのでしょうか?

 これ以外にも、該当部分を書き換えて、様々なキャラ設定が可能なので、是非、試してみてください。


【参考】

 以上のショートカットを作成するに当たって、旅人さんの以下のツイートを参考にしました。

 また、旅人さんのショートカットChatGPT v3は、以下のリンクから入手できます。SiriGPT v2は、一度に1つの質問しかできませんが、このショートカットでは、10回まで連続して質問することができます。



この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?