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
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
190
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.2k
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
600
個人でWebサービスを開発する際のWeb技術紹介
koda
1
150
DAP+Dockerで簡単環境構築
koda
0
310
Other Decks in Programming
See All in Programming
Heart of Swift Concurrency
koher
0
1.2k
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.6k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
4
410
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
290
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
JRuby: Past, Present, and Future
headius
0
220
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
530
iOSDCのペンライトを自動制御したい!
akkeylab
0
350
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
5.3k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
440
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Speed Design
sergeychernyshev
33
2.1k
Making Projects Easy
brettharned
120
6.8k
Agile that works and the tools we love
rasmusluckow
331
22k
Statistics for Hackers
jakevdp
799
230k
The Limits of Empathy - UXLibs8
cassininazir
1
700
Producing Creativity
orderedlist
PRO
348
41k
Code Reviewing Like a Champion
maltzj
528
40k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.2k
Deep Space Network (abreviated)
tonyrice
0
350
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
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!