例えツッコミジェネレータの作成
作ったもの
tatoe-tsukkomi-frontend.vercel.app
はじめに
自分はお笑いが好きでよくみる。
最近は元芸人の怪物くんのYotubeチャンネルがお気に入り。
貪るように物を食べ若干サイコパスな怪物くんに対して、カメラマン兼ディレクターの上田さんの的確な例えツッコミが超おもろい。
彼のツッコミは画像や様子から視覚的に例えることが多い印象。
これってOpenAIに画像を入力すればそれっぽいことできるんじゃね?と思った。
加えて、例えツッコミをググってみても、ジェネレータ的なものが存在しないっぽい。(2023年2月個人調べ)
というのが動機。とは言っても最初から画像認識はハードルが高そう。
じゃあまずは文章ベースで例えツッコミをしようかと。
OpenAIのPlayGroundでやってみても、まあまあいい感じの答えが返ってくる。 API使って遊んでみたい。
方針
- ワードを入力すると、例えツッコミで返ってくる何かが欲しい
- Input: 暑い
- Output: 砂漠か!(クオリティ)
- まず OpenAIのAPIをいじってみる
- ユーザ入力部分はまあgetのパラメータで後々作る。
- 文字数決めてInputして、OutPutはまあ任せるって感じで。
OpenAI API
ChatGPTがめっちゃバズってる。ズムサタでもスゲーって言ってた。
- gpt-3のAPIを使用する
- promptに例を与えてモデルを動作させる
- 少ないテキストデータでもそれっぽく作れるので
- 教師データを多めに用意して学習させるのも面倒
- 将来的にはLike機能とかつけて、よさげな回答からTraningしてもいいかもしれない。
- プランはAPI動かしてみた感じで決める
- 安さは正義
- promptに定型文を毎回入力させてるが、何回もやるとやばそう。
- Billing overviewからUsage limitsが設定できた。上限$10にしといた
GoでAPI使ってみる
試しにGo言語でapiを使用。
サンプルプログラムのpromptとかエンジンを変更してみてやってみた。
最高性能のDavinciじゃないといい感じの答えが返ってこない。
これはお金がかかりそう。
FineTuningのTrainingプランとやらでモデルをチューニングしてから使ったほうがpromptの分安上がりなのかもしれない。後々また調査しよう。
ChatGPTでやってみると
うーん怒られてしまいましたなあ。確かに例えツッコミは解釈を狭めてステレオタイプに押し込めてしまうとも言えるのか。
OpenAPIでRESTのコード自動生成
なんかおすすめされていないみたい。
OpenAPI3.0のまともなGoコード生成ツールがいない • masu-mi's blog(dirty pages)
ようわからんけど、自動生成便利そうだからとりあえず使ってみた。
結果、それっぽくなった。
動作確認
curl 'http://localhost:8080/tsukkomi?tsukkomi=かわいい'
{"tsukkomi":"子犬か!"}
うまくできてそう。(クオリティ)
フロントエンド
Reactで適当に作成中
参考文献
【OpenAI】ChatGPTのAPI利用方法と料金について解説 | Apple Geek LABO
OpenAI GPT-3 APIの使い方を解説 | 楽しみながら理解するAI・機械学習入門
OpenAPI3を使ってみよう!Go言語でクライアントとスタブの自動生成まで! - ZOZO TECH BLOG oapi-codegenでchi用APIインターフェースを自動生成 – rinoguchi's techlog
OpenAPI Specification 3.0 チートシート - 朝日ネット 技術者ブログ