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
20231027_Bedrock勉強会
Search
Kazuki Maeda
October 26, 2023
Technology
3
1.2k
20231027_Bedrock勉強会
https://minorun365.connpass.com/event/300097/
の登壇資料
Kazuki Maeda
October 26, 2023
Tweet
Share
More Decks by Kazuki Maeda
See All by Kazuki Maeda
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
95
新しいことを組織ではじめる、そしてつづける
kzkmaeda
5
670
20240824_JAWS_PANKRATION_2024
kzkmaeda
0
36
20240416_devopsdaystokyo
kzkmaeda
1
370
20240321_生成AI時代のDevOps
kzkmaeda
2
950
20240222_LangChain_ver0.1.0_LCEL
kzkmaeda
4
340
20240201_クラウド利用料を 半額にするために取り組んだ10+のコト
kzkmaeda
4
7k
20231011_LangChainコントリビュートのすゝめ
kzkmaeda
0
1.2k
LangChain Japan MeetUp 2023-07-20
kzkmaeda
0
570
Other Decks in Technology
See All in Technology
XPを始める新人に伝えたい近道の鍵
nakasho
1
290
AWSへのNIST SP800-171管理策 導入に向けての整備/20240930 Mitsutoshi Matsuo
shift_evolve
0
190
LeSSはスクラムではない!?LeSSにおけるスクラムマスターの振る舞い方とは / Scrum Master Behavior in LeSS
toma_sm
0
170
「ばん・さく・つき・たー!」にならないためにSHIROBAKOから 学んだこと
ysknsid25
3
630
Hazard pointers with reference counter
ennael
PRO
0
120
PREEMPT_RT over the years
ennael
PRO
0
340
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
300
過去のインプットとアウトプットを振り返る
diggymo
0
110
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
130
Strict Concurrencyにしたらdeinitでクラッシュする話
0si43
0
120
Rubyはなぜ「たのしい」のか? / Why is Ruby a programmers' best friend? #tqrk15
expajp
4
1.8k
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
4
720
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
38
7k
A Tale of Four Properties
chriscoyier
155
22k
How to name files
jennybc
77
99k
BBQ
matthewcrist
84
9.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
249
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Designing with Data
zakiwarfel
98
5.1k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
2
220
A Philosophy of Restraint
colly
202
16k
Agile that works and the tools we love
rasmusluckow
327
21k
Transcript
非BedrockアプリをBedrock して 開発観点で比較する AWSの生成AI「Amazon Bedrock」入門&LT会! 2023-10-27 @kzk_maeda
自己紹介 Kazuki Maeda 𝕏 @kzk_maeda SRE/DRE @atama plus AWS Community
Builders AWS Startup Community Core Member
自己紹介
agenda 1. 対象RAGアプリの紹介 2. Bedrockしてみる 3. Bedrock前後で比較 (開発運用面)
免責 • 2023/10/26時点での情報を元に作成しています
対象RAGアプリの紹介
そもそもRAGとは? • Retrieval Augmented Generationの略 • 外部の知識ソースを利用して大規模言語モデル(LLM)の回答の 質を向上させる手法
対象のRAGアプリ紹介
対象のRAGアプリ紹介 モニタリングツールに 対してエラー検索 エラーログから 既存チケットを検索
対象のRAGアプリ紹介 LLM部分は LangChain + OpenAI APIで実現
Bedrockしてみる
「Bedrockする」とは? • Bedrock以外のLLMツールセットを用いて実装されたアプリケー ションをBedrockに移行すること
「Bedrockする」ために必要なこと • コードを修正 • 実行環境のIAM RoleにPolicyをアタッチ • 以上!
「Bedrock」してみた • LangChainのバージョン上げてboto3への依存を追加
「Bedrock」してみた • メインの部分はほぼこれでOK
「Bedrock」してみた • メインの部分はほぼこれでOK OpenAIへの依存を削除 boto3でBedrockのclient を定義し、LangChainの Embeddingに渡す Embedding modelとして 提供されているtitan
v1を 指定
「Bedrock」してみた • 仕上げに権限と環境変数を変えてデプロイ
Bedrock前後で比較
開発環境 • Bedrockへの認証をIAM Roleに持たせることで、コードの外の責 務となり、ローカルで動作確認する際に一工夫が必要 • ローカルフラグ持たせて、boto3のsession/clientの切り替えをす ることを一瞬考えたけど、今回は面倒だったのでCloud9にしまし た
セキュリティ • LLM APIのクレデンシャルを管理しなくても良いというのはとても 嬉しい!!!! • 通信も、AWSのInternal Networkを出ないので、外部のLLM API を利用するよりはセキュアに利用できます
オブザーバビリティ • Cloudwatch等によるログ/メトリクスのモニタリングが可能 • ログはBedrockのModel invocation loggingから設定可能 • ただし、LangSmithには劣るので今後に期待
オブザーバビリティ Cloudwatch LangSmith
おわりに
まとめ • シンプルなRAGアプリにおいて、非BedrockアプリをBedrockする のは、LangChainが実装を抽象化してくれているので非常に簡単 でした • 運用やセキュリティに関する機能がAWSに寄せられるメリットは 大きいと感じました • Knowledge
BaseというネイティブRAGアプリサービスもPrivate Previewに入っていたり、まだまだ進化の激しい技術なので今後 もwatch必須ですね