見出し画像

【開発からデプロイまで】高校生がOpenAIのAPIとPythonとStreamlitを使ってWebアプリ作ってみた

※ただいまstreamlitを使う方はぶっこわれているので完成系はこちらから(少し重いかも)↓

こんにちは。

最近テスト期間を挟んでいましたがちょうど2週間でOpenAIのAPIとStreamlitを使ったWebアプリを作ってみました(エラーの対応にめっちゃ時間かかった笑、コードだけなら基盤が1日で完成した)。

URLだけでなく一応動画も貼っておきます(トークンの関係で文字は全て英語です)。

https://my-first-service-madebyryuto.streamlit.app/

「EmoArtify」は、ユーザーの感情や思い出をビジュアルアートに変換するウェブベースのアプリケーションです。このアプリはOpenAIのAPIとStreamlitを活用して開発されており、ユーザーが提供するテキストに基づいて独自の画像を生成します。

もともとこのようなサービスあったら面白いなと思って、それをGPTsで作ったんですが、Webアプリとして使いたいなと思い、実装することにしました。

実はこのアプリケーションはPythonでコードを書いているのですが、僕は授業ですこしPythonを勉強しただけで全くコードは書けませんでした。

今もこのアプリケーションのコードで使うもの以外はわかりません。

また、デプロイの仕方も何も知りませんでした。

しかしChatGPTと200回ぐらい(おそらく)チャットすることでなんとか完成しました。

ChatGPTすげぇ〜。

アプリのポイントとしてはAPIを3回使っていることです。

まず一つ目ははユーザーへの質問を生成するところです。

ここではあらかじめChatGPTに作成してもらった何十個ものテーマからランダムで三つ取り出し、そのテーマに沿って質問が生成されます。

これによって同じ質問が生成されるのを防ぎ、ユーザーの感情を取得しやすい質問を生成できます。

次はユーザーから得た回答を画像生成をするためのプロンプトにすることです。

最初はこの部分がなくて画像生成したときに複数の画像が組み回せられていたのですが、複数の回答から一つのプロンプトに統合することでそれを防ぐことができました。

三つ目は画像を生成するところです。

二つ目で作成されたプロンプトに沿って正方形の画像が生成されるようにしました。

アプリを作ってみて思ったこと

人間が指示をするだけで、AIを使って簡単にWebアプリが作れてしまうことを実感し、将来的にはAIが何の指示もなく勝手に人間が感じている課題を見つけてきてそれを解決するサービスを作ってしまうのではないかと思う。

また、知識が全くない人でもアイデアさえあれば自分が思うサービスを簡単に作ることが可能だと知り、今後もサービスを作っていく予定だ。

このようにこれからは知識ではなくAIをうまく使って自分のアイデアを実現するような応用力が必要とされる世の中になると考える。

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