ChatGPT APIをHTML+PHPで実行するスクリプトを公開しました。
【手順とダウンロードパスはqiitaに書いてあります】
ChatGPT APIキーと、PHP7が動作するWebサーバをご用意ください。サクッと動くと思います。
それにしても公開向けのスクリプトやドキュメントの執筆って大変ですね。。自分の勉強にもなるので、出来るだけタメになりそうな情報は共有していきたいと思っています。
kotonoha* games labo 5108|kotonoha*制作フリーゲーム13作品を公開しています。
ChatGPT APIをHTML+PHPで実行するスクリプトを公開しました。
【手順とダウンロードパスはqiitaに書いてあります】
ChatGPT APIキーと、PHP7が動作するWebサーバをご用意ください。サクッと動くと思います。
それにしても公開向けのスクリプトやドキュメントの執筆って大変ですね。。自分の勉強にもなるので、出来るだけタメになりそうな情報は共有していきたいと思っています。
前回のChatGPT APIの話について、わざわざツクールMZからサーバ上のPHPスクリプトを経由しているために、かなり遠回りな手法に見えますが、もちろんツクールMZだけで直接ChatGPT APIを叩く事だけなら難しくないと思うのです、が、
ツクールMZでChatGPT APIを直接叩くMZプラグインを作れない理由は、
「プレイヤーにAPIキーがバレる」からです。
なのでAPIに接続するためのスクリプトがサーバ側にシークレットな形で必要になります。
— kotonoha* (@rahaandsary) March 7, 2023
たとえば「いくら利用料金がかかってもOK!」「費用に上限設定をかけてあるので使ってもらって大丈夫」という太っ腹の作者さまが居たとして、ツクールMZ本体のプラグインパラメータあるいは変数内にAPI_KEYを保存しておき、AIと組み合わせたゲームを完成させたとします。
しかしそのままゲームを公開してしまうと、ダウンロード版でもブラウザ版でもそのパラメータを確認することは非常に容易で、沢山の人からAPIキーをあっさりと見られてしまいます。音楽や画像と違ってJavascriptは暗号化出来ないからです。
今回のChatGPT APIに限らず、どのAPIにも言えることで(Googleなどドメインやリファラーで制限をかけられる例もありますが)APIキーは基本、他人に絶対に見られることの無いシークレットな環境に置かれるべきです。
なので、今後もし「ChatGPT APIが動くよー」的なプラグインが公開されたとしても、それが「APIキーを変数やプラグインパラメータにセットする」様なタイプであれば使用は危険です。
プログラムや変数ごと暗号化出来る機能がツクールのアップデートで備わったとしても、暗号が不可逆であることが保証されない限りは使うべきではないと考えます。
最近は専らAI遊びと雑記の更新ばかりの日々ですが、それもそのはず、私の周囲ではコロナ禍の影響が落ち着いてきているため、リアルが多忙になりつつあります。プレイ中のホグワーツレガシーも微妙に止まっていますし(こっちは3D酔いと戦いながらなので元々鈍行プレイなのですけど)。
魔女Xシリーズの2作目と3作目、七人勇者、そしてチョイスクライシス2022の4作品の怒濤のリリースラッシュが実現出来たのは、コロナ禍で年中冬休みの様な状況になってしまったからという理由が大きいので、もし私が次回作を出す様な状況になったら、おそらく私がリアルで芳しくない状況なのでしょう、きっと。
ただ、AIの進化が凄まじいので、AIを使って何か楽しい遊びは考えたいですね。
というわけで、2月のランキングです。
1位 ラハと魔法の園 -the graystory-
2位 ジャベリアの魔女禁書
3位 ラハと百年魔法石 -the endstory-
4位 ラハと理の魔法生 -the 2ndstory-
5位 魔女盤のアルカ
6位 魔女塔のシュリィ
7位 七人勇者とふしぎの塔
8位 RiSE -囚われ少女の魔法譚-
9位 紅く追憶の水葬
10位 チョイスクライシス2022
今月も沢山のアクセスありがとうございます。
ChatGPTをツクールMZから動かすデモのツイートが1500いいね頂き、はじめてのバズりに興奮しています。RPGにAIが搭載されるのがスタンダードとなる未来も遠くなるかも知れませんね。
ラハシリーズに比べると魔女Xシリーズの実況をいただく機会があまり無いのですが、その分、魔女Xシリーズに関する濃い感想をいただく機会が増えています。魔女盤のアルカは「問題篇」で、ジャベリアの魔女禁書が「解決篇」という形で構成していますので、この2作は是非セットでプレイして頂きたいですね!
つい先日ChatGPTでRPGツクールMZのプラグインが作れるという話題を出したばかりでしたが、今度はそのChatGPTのAPIが公開されましたね。実は仕事で「あれ(ChatGPT)みたいなのを自社サイトに設置出来ないのか」と聞かれたばかりで「さすがにそれは…」とか思っていた矢先の出来事だったので、びっくりでした。
質問をAPIに投げると、回答がJSON形式でレスポンスされるタイプのよくあるAPIなので、これなら私にも使えるなと思って、さっそく実験してみました。
ツクールMZのゲーム内でChatGPTを動かしてみました。何でも答えてくれるロボの完成です。
ゲーム外部にChatGPT APIからレスポンスを受け取るスクリプトを設置しておき、そのスクリプト宛てにゲーム内から変数で質問を送っています。力業。#ツクールMZ #ChatGPT pic.twitter.com/JUE4F54c56— kotonoha* (@rahaandsary) March 2, 2023
はっきり言って本当に力業です。スタンドアロンでは無く、ゲームとは別にサーバ上にAPIと通信するスクリプトが必要です。(そして私pythonパイセンのことが全然分からないので、いつものphp先生で書いてます)
PHPスクリプトの内容については、まあ公開しても良いのですが、そっちはあまり出来が良くないのでリクエストがあればアップします、とだけ。でもPOSTされたmessageをcurlで送信して、レスポンスを平文で受け取っているだけです。
上記のサンプル動画では、いろいろと手間を省くためにデフォルトの名前入力ウィンドウを質問フォームとして代用しています。キャラの名前を変数に代入して、APIに送信。API側からの回答をそのまま表示していますから読みやすい形に調整はしていませんし、「だから何だ」と言われればそれまでですが。ひとまず「出来る」事は分かったので満足です。しりとりするキャラとか、料理のレシピなんかを教えてくれるキャラなんかも作れるのではないでしょうか。
情報にもう少し正確性があればとは思うのですが、AIは進化が早いので、いずれそのゲーム世界と現実世界がリンクしたモブキャラなんかも作れるかも知れませんね。
※ ゲームとしてのサンプルの公開についてはすみません。このAPIが入出力の文字数での従量課金制という事もあって、公開してしまうと凄い費用負担になりそうですので…。
TwitterでAI製イラストをよく投稿していますが、「ラハと理の魔法生 -the 2ndstory-」の主人公・シエスタをAIに描かせるのは実は結構簡単だったりします。
モデルは何でも。
プロンプトで
pink hair, two braids, medium hair, red eyes, witch hat, witch robe, (green hat), (green robe)
たったこれだけ。いい感じに仕上げてくれます。
サリィとリセはもうちょっとだけややこしい(というか安定しない)。