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
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
koda
October 14, 2023
Programming
2.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
Cloudflare Workersに触ってみたので、実際にアプリを作ってみました
koda
October 14, 2023
More Decks by koda
See All by koda
Lambda___Hono_で_OpenAI_の_LINE_Chatbotを作ってみた.pdf
koda
0
180
DevFest 2020 Ja - GitLab Review Apps with GKE
koda
2
220
Knowledge作ったよ
koda
0
360
DevFest in Shinshu 2019 - Abount DevOps in GCP
koda
0
580
Kubernetes_Hands-on.pdf
koda
3
920
Docker hands on
koda
1
590
個人でWebサービスを開発する際のWeb技術紹介
koda
1
150
DAP+Dockerで簡単環境構築
koda
0
310
Other Decks in Programming
See All in Programming
wkhtmltopdfの次どうするか問題2026
willnet
1
100
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
140
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
250
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
120
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
280
Are APIs Still Relevant in the AI Era?
soyuka
0
220
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
550
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
A2UI for Android: Safely Rendering AI-Generated UI with Jetpack Compose - DroidKaigi 2026
itsmedreamwalker
0
140
Security issues being discussed on Web Platforms
petamoriken
0
940
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
From π to Pie charts
rasagy
1
370
Automating Front-end Workflow
addyosmani
1369
210k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
520
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Making the Leap to Tech Lead
cromwellryan
135
10k
Transcript
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた 2023-10-14 Koda Cloudflare
Meetup Nagano
Hello!! ❏ 「Web」とか「Cloud」が専門のエンジニア ❏ アジャイル大好きなスクラムマスター ❏ プログラミングも大好き ❏ 各種クラウド系の技術コミュニティに参加 I’m
Koda
Chat GPTしてますか? • 無料だと3時間ごとに25メッセージ まで • Googleアカウントでサインアップし てしまったのでアカウント共有もで きない •
息子くんに、対話型AIなどに触れて 上手く使えるようにしたい(でも、もう一 個契約するのもな〜)
? OpenAIのAPIを呼び出す インタフェースを作って 提供しよう!
LINE Chatbotで提供 • 息子くんのスマートフォンは利用時間の制限 をかけている(中学生なので) • LINEは無制限にしている • ウェブサイトで提供も考えたがブラウザを無 制限にするのは、、、、
• チャットボットで提供すると制限とか考えな くて良い 完成イメージ
とはいっても、忙しいし 作っている暇はないなぁ、、、 (言い訳)
Cloudflare Workersワークショップ ServerlessDays Tokyo 2023に参加 https://tokyo.serverlessdays.io/ Day2のワークショップで Cloudflare Workers +
Honoに触った そんなある日
こんなに簡単なら、ちょっと 作ってみるか!! →半日くらいでできました!
技術スタック • Cloudflare Workers ◦ エッジでバックエンドを動かせるサービス ◦ 超速&超お安い(無料でかなり遊べる) • Hono
◦ Cloudflare Workersでバックエンドを開発しやすくしてくれるExpressに似たフレーム ワーク • TypeScript ◦ npm create hono@latest {projectname} で雛形を作成すると、初めからTypeScript が使える環境になっている • OpenAI API • Line Messaging API https://github.com/koda-masaru/chat-bot <作成したコード一式>
Demo
作ってみての感想 • デプロイが一瞬で終わって直ぐに反映されるのは、開発者体験としてはか なり良い! • 環境の用意なども簡単なので、ちょっとしたものをサクッと作るにはとて も良さげ • Honoがすごく良かった ◦
Expressを知っていれば苦労しない ◦ APIGateway+Lambdaな環境など、いろんな所で使えるので、今後は Honoメインで使っていきたい
• Node.jsに完全に互換の環境ではないため、@line/bot-sdkが使えなかった ◦ LINE APIをコールする部分は自前で実装 • 処理途中の Canceled の原因特定に時間がかかった(c.executionCtx.waitUntilを使う) ◦
waitUntilで実行しても処理がキャンセルされてしまう ◦ BundledモデルではCPUの利用時間が50ミリ秒以内 ▪ 外部APIを呼び出す時間は含まれないという記載もあったが途中でabortしてしまう ◦ Unboundモデル(有料プラン)では30秒実行可能だが外部への通信時間を含む ▪ 外部のAPIに依存している場合、30秒で終わることを保証できない ◦ WorkersのQueueで処理すれば良いのか? ▪ Queueも30秒でタイムアウトしてしまうという記載があるので変更しても意味はなさそう 作ってみての感想
癖はあるけど 面白い
Any Questions? Thanks!