Bun & Honoで始めるAmazon Bedrock入門 -完全版-
by
watany
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
AWSの生成AI「Amazon Bedrock」入門&LT会! Bun & Honoで始めるAmazon Bedrock入門 -完全版- 2023/10/27 渡邉 洋平 1
Slide 2
Slide 2 text
自己紹介 渡邉 洋平(watany) 所属とか: NTTテクノクロス株式会社 JAWS-UG東京 最近の悩み: 今回軽い気持ちで参加したけど、これ二週間後のJAWS-UG横浜用 のネタや 2
Slide 3
Slide 3 text
Bedrock GA! Full-Managedな基盤モデルのサービス PlaygroundやWorkshopは実施しましたか? 君たちはどう実装するか(画像略) ChatGPT likeなシステム システムにAPIとして組み込む ←今回 3
Slide 4
Slide 4 text
LLM + AWS王道構成 Python + Langchain 右の本は神 Bedrock Claude2、AWS Integration API Gateway + Lambda 王道のサーバレスAPI構成 4
Slide 5
Slide 5 text
王道構成……実は気になるとこ ※別に対立煽りではない Python 環境構築や型システム周りに不満はないか? Langchain アプデ早過ぎ。商用に耐えられるか? API Gateway 実は設定が複雑で変に時間を取られないか? Lambda +API Gatewayだと30秒しか持たない…… Functions URLはWAFがなァ 5
Slide 6
Slide 6 text
新たな選択肢を増やしてみよう 言語:Typescript 強めの型システム+利用者の多さ 対BedrockはあえてのSDK ローレベルでLLMを操作する人はLangchain剝がしてることも フレームワーク:AWS CDK & Hono どちらもTypescriptで一本化 IaC: AWS CDK Web API : Hono インフラ:App Runner + Docker WAFもドメイン周りも大幅強化の2023年 Dockerを載せて公開するだけなら、ほぼサーバレスAPI(諸説あり) 6
Slide 7
Slide 7 text
まあポジショントークなので話半分に 聞いてください 自己紹介で書いてなかったこと CDK Contributer(50件くらい) Hono Contributer(20件くらい) 最近の趣味記事 右記 Zennで公開した、この記事を下敷きにして います。 Bun & Honoで始めるAmazon Bedrock入門 https://zenn.dev/watany/articles/ b82029522c762c 7
Slide 8
Slide 8 text
それでは……実装 8
Slide 9
Slide 9 text
Bun TypeScript/JavaScript Runtime Typescriptネイティブの実行環境を爆速で作れる。 環境に限らずすべてが速い。 かわいい 9
Slide 10
Slide 10 text
Bun 環境の作り方 Node18以降が苦手なAmazon Linux2でも動く(重要) 10
Slide 11
Slide 11 text
Hono Small, Simple, and Ultrafast web framework. Express ライクで使いやすい Adaptorという仕組みで、動くRuntime/Platformが多い。 AWS Lambdaでも、Lambda@Edgeでも 私も色々パッチ入れてる 11
Slide 12
Slide 12 text
Hono の基本形 これが基本形。 importとエントリポイントを変えれば、可搬性が高い 12
Slide 13
Slide 13 text
SDK (InvokeModel) 注:PropmtのI/Fが適当 13
Slide 14
Slide 14 text
SDK (InvokeModelWithResponseStream) いわゆる「ヌルヌル返すやつ」 14
Slide 15
Slide 15 text
Bun + Docker 公式ImageでDistroless化も簡単 15
Slide 16
Slide 16 text
App Runner CDKでスッと書く 16
Slide 17
Slide 17 text
Bedrockを扱うためのAPI……完成! ここまで書いた素材で基本動く。 省いた詳細はこれ読もう Bun & Honoで始めるAmazon Bedrock入門 https://zenn.dev/watany/articles/b82029522c762c Docker(App Runner)+Honoなら、BunでもDenoでもNode.jsでも動く https://zenn.dev/watany/articles/194e31331a25be 17
Slide 18
Slide 18 text
想定問答 Bunはまだ使うの怖い Nodejs or Denoでどうか? App Runnerに抵抗感がある 実はStreamサポートはアンオフィシャル HonoならLambdaでもLambda@EdgeでもECSでも動く 18
Slide 19
Slide 19 text
まとめ JavaScript/TypeScript主戦場の人でもBedrockできる。 App RunnerもLambdaも選択肢になる。 みんなの非「王道構成」も、アウトプットして!! 19
Slide 20
Slide 20 text
出典 ChatGPT/LangChainによるチャットシステム構築[実践]入門 https://gihyo.jp/book/2023/978-4-297-13839-4 Bun https://bun.sh/ Hono https://hono.dev/ 20