Unreal EngineでOpenAI/GPT-3のAPIを利用する方法(基本編)
Quick Start Tutorialの要点まとめ+自分用メモ【更新:2022_0430:UE5版のBP図を更新しました】
【2022_0430:UE5版のBP図を更新】
記事中、最後の方にある⑤の図について、ようやくUE5でハンズオン+検証することができたので、「できたよ」のBP図を置いておきました。
OpenAIのDocumentation>Librariesを一番下まで見て行くと、UnityやUnreal Engineでも利用可能っぽい書き方になっている。。
「え、まさかOpenAI/GPT-3のAIをUEとかでも使えるの?でもどうやって??」
と気になって見に行ったところ、5分程の「始め方」動画があったので、自分の理解のために書き起こしてみました。
<解説動画>
<Githubのページ>
ここにUEのブループリントの全体像もスクショで置いてある。
UE慣れしてるひとはそっちを見ると早いかも。
※2022_0430時点、ちょっと古い図が載っている様子。下記⑤を参照ください。
https://github.com/KellanM/OpenAI-Api-Unreal#usage
<必要なもの>
① OpenAIのアカウント(+API Key)
アカウント作成時にもらえる18ドルのクーポンが切れてると使えない
or クレカ登録してると課金されてしまうと思われるので、その点注意。
②Unreal Engine (本記事執筆時点ではまだ「4」)
③プラグイン
記事内で説明。GithubからDLする。
<おおまかな流れ>
①Githubからプラグインをダウンロードしてくる。
②DLしたプラグインをUEのフォルダ内に格納する。
③UEのProjectファイルを開く
④Pluginsフォルダの読み込みが正しくされているか確認する
⑤Blueprintを組む
⑥ここまで組めたら、Blueprintを実行してみる。
⑦(おまけ)念の為、OpenAIのアカウントページでいくらかかったか確認する。
<レッツ Do It>
①Githubからプラグインをダウンロードしてくる。
a) OpenAIのDocumentation > GET STARTED > Libraries >
Community libraries:Unreal Engineのところにあるリンク
「OpenAI-Api-Unreal」
b) OpenAI API Plugin > Installation
「Download the Plugin here」にあるリンク先よりDL。
※UEごとのバージョンでzipが用意されている様子。適宜選択。
※DL中にブラウザがアラートをしてくるかもしれないけど許可してあげる。
②DLしたプラグインをUEのフォルダ内に格納する。
動画では下記のパス
a) Unreal Projects > ExampleProject内:「Plugins」フォルダを自作する
b) 「Plugins」フォルダに、解凍した「OpenAIApi-x.xx」フォルダ内の
「OpenAIAPI」フォルダを格納する
③UEのProjectファイルを開く
④Pluginsフォルダの読み込みが正しくされているか確認する
EDIT > Plugins:右上の検索boxで「OpenAI」を検索
★注記★
当方UE初心者につき、まだC++を利用できる状態にしておらず、
プラグイン導入もできない状況で以降の記載を行っています。
(=ハンズオンしていません)
また、動画の文字が小さくて不明瞭だったため、
「分かる範囲で」記載しております。
⑤Blueprintを組む
Blueprintの全体図(基本の形)は、Githubの「Usage」にあるものを参照
▼これ
★注記(2022_0430更新)★
UE5を導入し、ハンズオンしてみました。
一部、上述のYouTube解説やGitHub上では触れられていない箇所がありました、「オレンジの矢印」の箇所です。
ポイントは、
a) ノード【Set Open AI Api Key】にAPIキーをコピペする
- OpenAIの自身のアカウントページでコピーできる
※言わずもがなAPI Keyは大切なものなので公開しないこと。
b) ノード【Open AICall GPT3】
- Engine: エンジンを選択する。
davinciが一番性能良いけど高い。私はまずcurieを選ぶようにしている。
- Prompt:質問を記載する。日本語も可能(と思われ)。
c)ノード【Make GPT3Settings】
-Start Sequence
OpenAIのウェブページの「Playground」より、
任意のプリセットサンプルを開き、
表示されているサンプル文をコピペする。
動画・上述の全体像では「Chat」サンプルの文がコピペされている。
- Stop Sequence
AIの応答が返った後、どこまで(次の会話の促しのために)表示するか。
「全体像」の図と動画で「Human」になっているのは、
Chatプリセットサンプルを利用しているため。
- Temperature:0~1。1に近い程創造的で可能性の広い応答が出力される。
- その他パラメータ:色々試行錯誤するところ
d) ノード【Print String】
- Duration
デバッグにかける時間のリミットを指定。動画では20秒としている様子。
⑥ここまで組めたら、Blueprintを実行してみる。
Promptに記載した質問に対する、AIの返答がテキスト表示される。
⑦(おまけ)念の為、OpenAIのアカウントページでいくらかかったか確認する。
クーポン利用中だと思って調子に乗って話しかけまくってるとすぐ使い切ってしまう罠。
以上。
まだ書き起こしただけで、試せていないのでいずれ試す予定。
・・・あとは、「課金」の部分が課題かなぁ。。