2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
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.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05