Webアプリに生成系AIを組み込む
この記事is何
最近の趣味でやっていたことネタ。
最近ウェビナーを見てても各社すごくワクワクして取り組んでいると感じたし、バリエーションが無限に広がる〜と思ったので、個人的にもOpenAI APIを試してみた。
1発目としてはコンセプトや感想をまとめつつ、技術的な部分は別途記事を作成するかも。
諸注意
バーっと作ったものの紹介なので、細かいところの説明はしない。
作ったもの
タイトル:AIトークデッキ
※APIとPaasにFly.ioを利用しているため、利用料の関係で公開停止する可能性があります。
https://ai-talk-deck.fly.dev/ai-talk-deck.fly.dev
※はてブロだとOGPのサイズダメかも、、、
概要
誰かと話すときに話題がなくて、「今日の天気はいいですね、、、」「曇ってるけど、、、」みたいになる人向けのアプリ。
キーワードを与えると、それに関連した話題をAIが作成して5個程度示してくれる。
生成した話題の詳細画面のリンクを共有すると、動的なOGPが生成されるため、よくサービスとしてある〇〇箱、マシュマロと同じような感覚で共有できる。
また、FigJamやチャットに無造作に貼り付けてカードとして使える点は個人的に良いんじゃないかなと思っている。
AI使って何が良いの?
今までは管理者が用意したデータをランダムで表示するなど、管理面が面倒だったが、LLMを利用すると理論上はほぼ無限に近いようなパターンを生成できる。(が、現状の実装だと似たようなパターンは多い)
ダミーデータ生成などでもChatGPTは利用されたりするので、「全部が全部それらしいデータを頭で考えるのは面倒」という人にこんな使い方もあるよという思考の手助けになれば。
あとは開発上の観点にはなるが、AIを割とファジーなAPIとして使えるので、APIが無いからアプリが作れないといったことを解消してくれそう。
(ただし、特定のAPIにのみ依存したアプリにしてはいけないという点は昨今のTwitterAPIの仕様変更などからも明らか)
開発の観点
今回の開発上のテーマは爆速開発+テストを書く。
爆速開発に関して、MVP自体は作成開始当日には公開した。
それができたのはアプリ自体のサイズ感とやはりRailsだったからということが大きいと思う。モノリス最強!
さらに個人で契約していたGitHub Copilotを利用することで、Railsは決まった書き方が多いことからすぐにサジェストしてくれるし、テスト(RSpec)も瞬時に提案してくれる。
この辺りは最近のAIの恩恵を受けながら開発ができた(ので、この先もやめられないだろうなと、、)。
開発者としてはアプリを高速にデリバリできるので、ワクワクが止まらない。
まとめ
アイディアさえあれば、バリエーションの面(LLM)や開発速度の面(Copilot)でアプリを作るハードルはとても下がっているように感じる。
あとはやる気と時間次第。
なので一緒に作ろうぜ、アプリ。