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
Lambda___Hono_で_OpenAI_の_LINE_Chatbotを作ってみた.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
koda
November 11, 2023
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lambda___Hono_で_OpenAI_の_LINE_Chatbotを作ってみた.pdf
koda
November 11, 2023
More Decks by koda
See All by koda
Cloudflare Workers で OpenAI の LINE Chatbotを作ってみた
koda
0
2.1k
DevFest 2020 Ja - GitLab Review Apps with GKE
koda
2
210
Knowledge作ったよ
koda
0
350
DevFest in Shinshu 2019 - Abount DevOps in GCP
koda
0
550
Kubernetes_Hands-on.pdf
koda
3
910
Docker hands on
koda
1
580
個人でWebサービスを開発する際のWeb技術紹介
koda
1
150
DAP+Dockerで簡単環境構築
koda
0
310
Other Decks in Programming
See All in Programming
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
110
AIで効率化できた業務・日常
ochtum
0
130
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
110
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5k
Claspは野良GASの夢をみるか
takter00
0
190
技術記事、 専門家としてのプログラマ、 言語化
mizchi
12
5k
net-httpのHTTP/2対応について
naruse
0
480
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
HDC tutorial
michielstock
2
700
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Skip the Path - Find Your Career Trail
mkilby
1
150
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
420
Designing for humans not robots
tammielis
254
26k
Between Models and Reality
mayunak
4
330
A Soul's Torment
seathinner
6
2.9k
Transcript
Lambda + Hono で OpenAI の LINE Chatbotを作ってみた 2023-11-12 Koda
JAWS-UG 長野支部
Hello!! ❏ 「Web」とか「Cloud」が専門のエンジニア ❏ アジャイル大好きなスクラムマスター ❏ プログラミングも大好き ❏ 好きなサービスは AWS
Lambda I’m Koda @koda3t(X)
AIとChat してますか? • 無料だと3時間ごとに25メッセージ まで • Googleアカウントでサインアップし て、支払いしてしまったのでアカウ ント共有もできない •
息子くんに、対話型AIなどに触れて 上手く使えるようにしたい(でも、もう一 個契約するのもな〜)
? OpenAIのAPIを呼び出す インタフェースを作って 提供しよう!
作ってみた • Cloudflare Workers + HonoでOpenAIのAPIに 繋ぐLINE Chatbotを作成 • 10/14
Cloudflare Meetup Nagano でLT LINE ChatbotでAIに質問できる https://speakerdeck.com/koda/cloudflare-workers-de-openai-no-line-chatbotwozuo-tutemita
10/14のLTから • デプロイが一瞬で終わって直ぐに反映されるのは、開発者体験としてはか なり良い! • 環境の用意なども簡単なので、ちょっとしたものをサクッと作るにはとて も良さげ • Honoがすごく良かった ◦
Expressを知っていれば苦労しない ◦ APIGateway+Lambdaな環境など、いろんな所で使えるので、 今後はHonoメインで使っていきたい LTのために昨日 実際に Lambda+Hono やってみた
What's Hono https://hono.dev/ • API Gateway + Lambda な構成でAPIを 作成する事が多くなった
• ExpressでAPIを作る事が簡単と感じて いて App Runnerを使ったり • Honoだと、LambdaでもExpress Likeに コードが書ける!
技術スタック • AWS Lambda + Function URLs ◦ みんな大好きFaaSの元祖サービス ◦
Function URLsができたおかげで単体で簡単にWebに公開できるようになった • Hono ◦ バックエンドを開発しやすくしてくれるExpressに似たフレームワーク • TypeScript ◦ npm create hono@latest {projectname} で雛形を作成すると、初めからTypeScript が使える環境になっている • OpenAI API • Line Messaging API
システム構成
Lambda+Hono HonoはLambdaに対応しているから、CLIから雛形を作成可能
Lambda+Hono • Cloudflare Workers + Honoで作ったコードをコ ピーしてくれば基本的には動く ◦ 起動の書き方とかは少し変わる •
LambdaのFunction URLを使えば超簡単に公開でき るAPIを作成できる • 今回は簡単にHonoがセットアップしてくれたコマ ンドでデプロイした(SAMやCDKは使わない)
作ってみての感想 • 普段はSAMとかCDKとかでデプロイするのだけど、Honoが初めから提供する仕組みで デプロイすると超早くデプロイできたので、簡単なものだとこれで良いかも ◦ もちろんSAMやCDKの組み合わせもできる ◦ esbuildでbuildしてZipにしてAWS CLIでupdate-function-codeを実行 •
環境の用意なども簡単なので、ちょっとしたものをサクッと作るにはとても良き • Honoがやっぱりすごく良かった(コード書きやすい) ◦ Cloudflare Workers用のコードを簡単に移植できた(他のものにも移植しやすい) ◦ 秘匿な値の扱いなどはプラットフォーム依存があるのでラッパーを作っておくと良き • Cloudflare Workersは1リクエストが30秒までという厳しい制限があったが、Lambdaであれ ば問題なし ◦ OpenAIからのレスポンスが30秒で返ってこないことが多い
今後試してみたいこと(今回まにあわなかったこと) • OpenAIのGPT3.5より高性能と言われている Claude 2がBedrockで使えるようになったので、 ChatBotに質問したら両方から回答がくるように する(評価してみたい) • Claude 2を利用する場合、use
case details を入力 する必要があるけど、個人利用の場合何を入れた ら良いのだろう??
Any Questions? Thanks!