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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kazuki Maeda
October 26, 2023
Technology
1.7k
3
Share
20231027_Bedrock勉強会
https://minorun365.connpass.com/event/300097/
の登壇資料
Kazuki Maeda
October 26, 2023
More Decks by Kazuki Maeda
See All by Kazuki Maeda
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
730
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
2k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
320
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
280
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
7.7k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
7.3k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
460
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
420
新しいことを組織ではじめる、そしてつづける
kzkmaeda
4
1.1k
Other Decks in Technology
See All in Technology
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
590
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
目的ファーストのハーネス設計 ~ハーネスの変更容易性を高めるための優先順位~
gotalab555
8
2.2k
自立を加速させる神器 - EMOasis #11
stanby_inc
0
140
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
290
みんなで作るAWS Tips 100連発 (FinOps編)
schwrzktz
1
300
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
240
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
210
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
370
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
430
AI時代における技術的負債への取り組み
codenote
1
1.5k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
Featured
See All Featured
Accessibility Awareness
sabderemane
0
100
Designing for humans not robots
tammielis
254
26k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Why Our Code Smells
bkeepers
PRO
340
58k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
190
WENDY [Excerpt]
tessaabrams
10
37k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
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必須ですね