Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
Search
koda
October 14, 2023
Programming
0
1.9k
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
Cloudflare Workersに触ってみたので、実際にアプリを作ってみました
koda
October 14, 2023
Tweet
Share
More Decks by koda
See All by koda
Lambda___Hono_で_OpenAI_の_LINE_Chatbotを作ってみた.pdf
koda
0
130
DevFest 2020 Ja - GitLab Review Apps with GKE
koda
2
190
Knowledge作ったよ
koda
0
320
DevFest in Shinshu 2019 - Abount DevOps in GCP
koda
0
530
Kubernetes_Hands-on.pdf
koda
3
870
Docker hands on
koda
1
560
個人でWebサービスを開発する際のWeb技術紹介
koda
1
120
DAP+Dockerで簡単環境構築
koda
0
290
Other Decks in Programming
See All in Programming
これならできる!個人開発のすゝめ
tinykitten
PRO
0
120
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.6k
俺流レスポンシブコーディング 2025
tak_dcxi
14
9.1k
愛される翻訳の秘訣
kishikawakatsumi
3
330
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
560
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
9
5.8k
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
AIコーディングエージェント(NotebookLM)
kondai24
0
210
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.3k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
チームをチームにするEM
hitode909
0
350
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
180
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
46
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
23
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
34
Docker and Python
trallard
47
3.7k
Practical Orchestrator
shlominoach
190
11k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
130
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The Invisible Side of Design
smashingmag
302
51k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Designing Experiences People Love
moore
143
24k
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!