2024.10.21
お互い疑心暗鬼になりがちな、経営企画と事業部の壁 組織に「分断」が生まれる要因と打開策
Flutterで会話できるAIアプリを実装してみた。(全1記事)
リンクをコピー
記事をブックマーク
さくしん@flutter.salon氏(以下、さくしん@flutter.salon):「ChatGPT」についてのLT会ということで、今回は「Flutterで会話できるAIアプリを実装してみた。」ということでLTをやらせていただきます。
LTの概要です。まず自己紹介をしてから、Flutterがいったい何なのかがちょっとわからない方が多いと思うので、そちらをお話しして、その後ChatGPTとFlutterとの連携を話します。
最後に、これはFlutterに限らないことですが、APIについて全体的に知っておいたほうがいいかなということをお話しした上で、まとめをやらせていただきます。
ということで、自己紹介です。さくしんと申します。現在、Flutterでアプリ開発のフリーランスとして働いています。「Udemy」という動画の講座があるのですが、そちらでFlutterの講座を6講座作りました。
「ChatGPT」や「Firestore」をご存じの方がいるかもしれませんが、そちらの講座を作っています。現在、受講生は延べ1,742人となっていて、そのほかにもChatGPTのスマホアプリも個人開発で行っています。
まず、「Flutterって何よ?」っていう感じなのですが、Flutterというのは、Googleが作り始めたiOSやAndroid用のアプリ開発のフレームワークです。つまり、このFlutterで開発すれば、iOS、Androidの両方とものOSでスマホアプリを作ることができます。
最近はスマホアプリに限らず、Web、Windows、Mac、Linuxといったデスクトップのアプリケーションも作成可能になっていて、2021年9月現在、世界中で開発者が200万人いるということです。こちらはChatGPTが情報源なので真に受けるなというところなんですけれども。
どういうところが特徴かというと、高速に開発できて、本当に作る側としてはすごく楽だったり、非常にわかりやすいです。
使う側も、ネイティブ並みのアプリ実行時間ということで、iOSやAndroidの両方とも走るやつは、「ちょっと遅いな」ということがあるのですが、Flutterであればネイティブ並みのアプリの速度ができるということで、使う側としてもメリットがあります。
あくまでAndroidのネイティブ並みということで、iOSのようなヌルヌルした動きというのはちょっと再現できないかなとは思っています。
ChatGPTでFlutterのパッケージということで、実際どうやってこのFlutterでChatGPTを使うのか?というところですが、Flutterにはパッケージというものがあり、そのパッケージをインストールすることによって、自分が作った以外のプログラムを動かせるようになります。
ChatGPTはものすごく人気で、chat_gpt_sdk、flutter_chatgpt_apiなど、みなさんこんなにたくさんのパッケージを作っています。私が調べた限りでは、「chat_gpt_sdk」が一番いいかなと思い、こちらを採用してアプリ開発に取り組みました。
chat_gpt_sdkは、やっていてちょっと使いにくいなというところがあったので、いろいろと修正を送ったところ、sakushin-udemyということで、私がコントリビュータとして開発にちょっと関わらせていただいています。
ここからは、Flutterに限らずAPIについて知っておいたほうがいいことということで、Python、C#、Javaなどで使う場合、知っていたほうがいいかなということをお話しします。
まず、料金について。この中で聞いている方の中には、「ChatGPT Plus」という、月2,000円払っているという方がたぶんけっこういると思います。
私も払っているのですが、残念ながらプログラムからアクセスするためのAPIは別料金となっています。1000トークンにつき0.1円ということで、ちょっとこれが多いのか少ないのかはよくわかっていませんが、このような値段設定になっています。
残念ながら、ChatGPTをそのままシミュレーションするわけではないということで、いつも使っているチャットのところに入力して、それでChatGPTに入れるとまた返ってくるというのをチャットでやっているのですが、そういう感じではなく、このAPIを使うともうまったくAPIの履歴を覚えていません。
自分から「こんな会話したんだよ」というのを一時的に、会話の履歴を取っておいて、それを一緒に送ったら履歴も含めて返事がくるようになっているので、ものすごく忘れっぽいというか、ぜんぜん覚えていない感じになっています。
そんな会話履歴なんて送ったらその分トークンが発生します。トークンがたくさん発生した上で、API使用料金は従量課金制ですよとなると、金額が恐ろしいことになる可能性があるなと思っています。
対策として、履歴が多くなってきたら複数の履歴を要約させて保存することによって、トークンを減らすことができるかなと思っています。
あと、APIは金額の上限を設定できるので、それをきちんと設定することでだいぶ防げるかなとは思っています。
と私も書いたところで、「あぁ、やべぇ。俺は設定していたかな?」とちょっと気になって設定してみたら、クレジットカードはまだ登録していなかったので、それは大丈夫でした。
まとめです。Flutterはすばらしいということを覚えておいてもらえばありがたいと思います。あと、Flutterのパッケージを使えばChatGPTにアクセスができます。
ChatGPTのAPIは、通常私たちが使っているChatGPTとはちょっと異なるという点を覚えておいて、実際使う時には気にしてください。
ということで、ちょっと広告になりますが、Udemyで「FlutterでChatGPT搭載アプリ開発」ということで、講座を作りました。
Flutter以外もこれから情報を追加していこうと思っているので、Udemyをやっていて、かつChatGPTに興味がある方はご確認いただければ非常にうれしいです。
ということで、実際フリーランスをやっている中で、技術的にはChatGPTを使ったスマホアプリが作れると思っているので、そういう関連でお仕事、「こんな感じのものは作れない?」などのご相談をしていただけると非常にうれしいです。
ということで、さくしんでした。ご清聴ありがとうございます。
司会者:ありがとうございました。
先ほど、ほりゆうさんの発表にもありましたが、実際に使う上で、ある程度履歴も要約して送ったほうがいいよというお話でしたが、実際に要約する上での要約の仕方というか、そこで工夫された点などはありますか?
さくしん@flutter.salon:いえ、まだそういうところまでは行っておらず……。
司会者:あぁ、本当ですか(笑)。
さくしん@flutter.salon:ようやく履歴を取ってまとめて送るところまで行って、とりあえずアプリリリースの準備をしてから、要約などいろいろな機能を付けた上で、最終的にそこらへんの知見が溜まったらFlutterのパッケージとして出せればいいなと思っています。
司会者:なるほど。いや、先ほどのほりゆうさんの発表を聞いていて思いますが、やはり要約ってけっこう難しいですよね。試行錯誤がめちゃくちゃ要りそう。
さくしん@flutter.salon:どうなんですかね。履歴をまとめて「これを要約してください」ってChatGPTに投げるところでトークンが発生するのは気になるところなんですけれども……。
司会者:そうですよね。要約をChatGPTでやってほしいぐらいですよね(笑)。
さくしん@flutter.salon:あぁ、もうそんな感じですよ(笑)。自分で要約していたらどうにもならないじゃないですか。
司会者:そうですよね。
さくしん@flutter.salon:とやると、忘れるというのも多少防げるかなと思っています。
司会者:なるほど。ありがとうございます。
ほりゆうさんと亀山さんのお二人も、なにか気になった点などはありますか?
ほりゆう氏(以下、ほりゆう):Flutterはさわりしかやったことがないんですけれども。
ライブラリを使う上で考慮することや難しいことはありましたか? そんなにすぐ使えますか?
さくしん@flutter.salon:すぐ使えるには使えるんですが、今回ChatGPTの更新が早いせいなのかわからないのですが、パッケージも更新がけっこう早くて(笑)。
気がついたら仕様が変わっているじゃん、エラーが出ました、みたいなのがけっこうありますね(笑)。
ほりゆう:そうか、そうですよね。ChatGPTが進化しているので、そのライブラリもどんどん変わりますよね。ありがとうございます。
さくしん@flutter.salon:できればそこらへんもパッケージでうまいことやってほしいなとは思うんですが、あんまり後方互換を考えていないみたいで(笑)。
ほりゆう:なるほど、ありがとうございます。
司会者:ありがとうございます。それではあらためて、さくしんさんの発表でした。ありがとうございました。
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.21
40代〜50代の管理職が「部下を承認する」のに苦戦するわけ 職場での「傷つき」をこじらせた世代に必要なこと
2024.11.20
成果が目立つ「攻めのタイプ」ばかり採用しがちな職場 「優秀な人材」を求める人がスルーしているもの
2024.11.20
「元エースの管理職」が若手営業を育てる時に陥りがちな罠 順調なチーム・苦戦するチームの違いから見る、育成のポイント
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.19
がんばっているのに伸び悩む営業・成果を出す営業の違い 『無敗営業』著者が教える、つい陥りがちな「思い込み」の罠
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.15
好きなことで起業、赤字を膨らませても引くに引けない理由 倒産リスクが一気に高まる、起業でありがちな失敗
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.21
40代〜50代の管理職が「部下を承認する」のに苦戦するわけ 職場での「傷つき」をこじらせた世代に必要なこと
2024.11.20
成果が目立つ「攻めのタイプ」ばかり採用しがちな職場 「優秀な人材」を求める人がスルーしているもの
2024.11.20
「元エースの管理職」が若手営業を育てる時に陥りがちな罠 順調なチーム・苦戦するチームの違いから見る、育成のポイント
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.19
がんばっているのに伸び悩む営業・成果を出す営業の違い 『無敗営業』著者が教える、つい陥りがちな「思い込み」の罠
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.15
好きなことで起業、赤字を膨らませても引くに引けない理由 倒産リスクが一気に高まる、起業でありがちな失敗