2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
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.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦