Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
やる夫bot作ってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hakkadaikon
August 07, 2023
Programming
0
390
やる夫bot作ってみた
Nostr勉強会#3 で発表した内容になります。
リンク (connpass)
https://428lab.connpass.com/event/290514/
Hakkadaikon
August 07, 2023
Tweet
Share
More Decks by Hakkadaikon
See All by Hakkadaikon
Just do it ! で 走り抜けてきたけど ちょっと立ち止まってみた
hakkadaikon
0
790
自作WebSocket (RFC6455)
hakkadaikon
0
110
routstrについて
hakkadaikon
0
120
Nostr x BTC
hakkadaikon
0
54
Blueskyのプラグインを作ってみた
hakkadaikon
1
750
PHP x Nostr
hakkadaikon
0
160
Emacs x Nostr
hakkadaikon
2
370
My Introduction To Nostr
hakkadaikon
0
230
Nostr × C#
hakkadaikon
0
240
Other Decks in Programming
See All in Programming
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
230
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
240
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
530
CSC307 Lecture 15
javiergs
PRO
0
240
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
320
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
520
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
Ruby and LLM Ecosystem 2nd
koic
0
380
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
140
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
470
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
170
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
940
Why Our Code Smells
bkeepers
PRO
340
58k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
300
We Are The Robots
honzajavorek
0
190
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
67
Automating Front-end Workflow
addyosmani
1370
200k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
61
52k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Bash Introduction
62gerente
615
210k
Transcript
やる夫BOT作ってみた 2023/08/04 発火大根
自己紹介 名前 : 発火大根 本業 : インフラエンジニア(SRE的な感じ) Npub : npub1vf4huvhkfhgvys2qf4wlmncf855dzd3c6894mw2snktpxzh08vdsgcgkxx
Nostr歴 : 約4か月(4/9開始) 2
今日の内容 Nostrでやる夫bot作ったので、その話をします 3
作った動機 ・作った時は丁度無職で、暇だった ・転職活動のネタになればいいと思った ・皆Bot作ってて楽しそうだと思った 4
機能 ①30分毎にニュースを配信するよ ②メンションしたら回答するよ 5
しくみ ①ニュース取得 ②ニュース本文 ③ニュース感想 6
しかし 大きな問題を 抱えています 7
7/26のこと… GPT-4 APIが使えるように! 8
早速モデル変更だ! (GPT3.5 -> GPT4) 9
しかし、 OpenAIのUsageを見てみると…? (OpenAIのAPIは従量課金制) 10
(゚Д゚) 1日で$4.75(8/4のレートで約676円) 11
そう、GPT-4のAPIは GPT-3.5と比較すると かなり高いのです! 12
GPT値段比較 ▪GPT-3.5 Turbo 4K : IN:$0.0015 / OUT:$0.002 16K: IN:$0.003
/ OUT:$0.004 ▪GPT-4 8K : IN:$0.03 / OUT:$0.06 32K: IN:$0.06 / OUT:$0.12 ※単位 : 1k(1024)tokens 参考 : https://openai.com/pricing 変更前 変更後 13
ところで、 tokenって何? 14
・OpenAIの課金単位 ・英語だと1単語で1token ・日本語だと1文字で1~3tokenくらい ・日本語で文章を書いた場合は、token数の2/3くらいが文字数 Tokenとは 15
・ニュースの本文の長さはまちまち(1500-3000字くらいが多いかも) ・仮に、1投稿2000字とする ・2000字/(2/3) = 約3030token ・$0.03 × 3030token / 1000
= $0.0909(12.98円) ・30分単位の投稿 -> 12.98円 x 48回 = 623.4円 入力プロンプトだけで、1日約623円!? (623 × 30 = 月額18690円) 試算 16
節約せねば! 17
一旦GPT-3.5でニュースを300字以内に要約して短くしたあと 感想を生成 施策1 ①ニュース本文 ②ニュース要約 ③ニュース要約文 ④ニュース感想 18
施策1 結果1 ・ニュースの感想をうまく出力できてそう! ・文字数も節約できてそう!(↓) 19
施策1 結果2 1日の使用量が $4.75 -> $2.47に! ($2.28[約325円]の削減) 20
入力プロンプトのtoken数を縮める -> 入力プロンプトを英語にしたら、tokenを節約できるはず! ※英語だと1単語で1token、日本語だと1文字で1~3token 施策2 21
施策2現状 ニュース本文前の入力プロンプトの Token数が1041token (約4.46円) ※これ+ニュースの要約文(300字以内) = 入力プロンプト 22
施策2 変更後1 文字数は増えた(850->1546)けど、 Token数は1041 -> 719に!(約3.08円) ニュース1投稿あたり 322token / 約1.36円の節約
(30分に1回投稿だと、1日65円の節約に) 23
ニュースの感想投稿も、変な所は無さそう 施策2 変更後2 24
施策1&施策2で課金額を減らせたが、それでも月8000円 はかかる想定。 ニュース投稿頻度を減らしたりなどで、もっと節約予定。 まとめ 25
OpenAIのAPI利用は 計画的に! 26