Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ShimaTechHub_2_FlutterとGemini_でXXXへの挑戦.pdf
Search
Yuki Kitaike
May 27, 2024
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ShimaTechHub_2_FlutterとGemini_でXXXへの挑戦.pdf
Yuki Kitaike
May 27, 2024
More Decks by Yuki Kitaike
See All by Yuki Kitaike
DroidKaigi.collect { #12@Okinawa} _ 通知モーダルのミューテックス
yukikitaike
0
100
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Scaling GitHub
holman
464
140k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Unsuck your backbone
ammeep
672
58k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Transcript
FlutterとGemini でXXXへの挑戦 CBcloud モバイルエンジニア きたいけ
自己紹介 - 岡山→千葉の千葉県出身 - 2020年:沖縄移住 - 2022年7月:CBcloudにJoin - 専門:モバイルアプリ(Flutter)
- 最近はまっていること - 毎日のストレッチ - ラリー・ウォールの提唱したプログラマーの三大美徳は、 「怠惰(作業の効率化)・短気(修正や処理の高速化)・傲慢(質の高いコード)」ですが、こ れに 「身体が柔らかい」を加えてもいいのではないかと思います 2024年5月 中城モール横のビーチ EMアイスを食べながら
まずはピックゴーの使い方(配送案件の発注) ・Webサイトで「配送物」と「大きさ」、「総重量」をユーザは入力する必要がある ・(課題)ユーザは計測の手間があるし、精度の高い計測はなかなかしてもらえない →モバイル版で解決できないか?
計測 ・AR技術を利用すれば「ものの長さ」は測れる (FlutterにはそのためのNativeAPIを実行するPluginもある)
・ただ配送するには大事な要素が足りない... ←こんな感じ オートマギの3辺計測アプリ終了、個別開発に転換
重さを知りたい!! (ノットイコール測りたい)
FlutterとGeminiを使う - クロスプラットフォーム開発のためのフレームワークです。 Android,iOSのネイティブアプリだけでなく、MacOS,Windows,Webのア プリが開発できます。 - 競合はReactNative - 大規模言語モデル(=LLM)を利用した会話型のAIです -
競合は言わずと知れたChatGPT どちらもGoogle主導なので相性がいい!(=Flutter用の公式SDKがある)
デモ(ARはありません)
None
名前を取得(String) サイズデータをを取得(Json)
APIの叩き方(軽く) ・モデル(今回はgemini-pro-vision) ・APIキー(秘匿情報なので管理は注意) ・安全性設定(今回は性的なコンテンツで安全でない可能性が高い) を指定して〜
APIの叩き方(軽く) SDKが提供しているモデルクラスのgenerateContentメソッドを、 引数にTextPart(テキスト)&DataPart(画像)を渡して実行するだけ〜
所感
ユーザ入力補助くらいには 使えそう!!
所感①Geminiについて - プログラミングに関すること(より正確にいえばマークダウン形式で表現できること) は、絶対にマークダウン形式で返すマンなので制御が必要 - そういう意味ではエラーハンドリングが重要になる - ユーザからしたらJson形式でないためパースできませんでしたは、知らんがなって 感じなので…
所感②参考にしたアプリがあったんですが… - 参考アプリでは「マークダウン形式で返答しないでください」だけでOKだったが、より具体的な指示も 追加する必要があった。 原因として思い当たるのは以下 - 一つ前の質問でマークダウン形式での返答を求めていたこと - 返答が記憶されている(質問が同じなら回答もだいたい同じ?)可能性 -
SDKのAPIのインタフェースの変更 - 利用できるモデルに主に2つ(gemini-proとgemini-pro-vision)ある - gemini-proはテキストのみ - gemini-pro-visionはテキスト+画像のマルチモーダル - 参考アプリではgemini-pro-visionでテキストのみの入力も受け付けていたが、今回実装時で は画像が必須となっていた(=argument Error!!) 5/24追記:gemini-1.5-flash-latest なら真のマルチモーダル(テキストのみ可)対応してました!(早 い!)
まとめ
今回、大変だったのはプロンプト調整です。 期待する結果が得られず、調整する時間は非常にいらいらしました。 それでも、いままで(今でも?)できないと考えられていたことが、推測の範囲でできるよ うになることは技術の進歩を感じました 最後に、今回あらためて身に染みた僕の好きな小説家の言葉を共有します。 質問がいいかげんだと、 答えもいいかげんなものになる カート・ヴォネガット・ジュニアの『タイタンの妖女』より