20231027_Bedrock勉強会
by
Kazuki Maeda
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
非BedrockアプリをBedrock して 開発観点で比較する AWSの生成AI「Amazon Bedrock」入門&LT会! 2023-10-27 @kzk_maeda
Slide 2
Slide 2 text
自己紹介 Kazuki Maeda 𝕏 @kzk_maeda SRE/DRE @atama plus AWS Community Builders AWS Startup Community Core Member
Slide 3
Slide 3 text
自己紹介
Slide 4
Slide 4 text
agenda 1. 対象RAGアプリの紹介 2. Bedrockしてみる 3. Bedrock前後で比較 (開発運用面)
Slide 5
Slide 5 text
免責 ● 2023/10/26時点での情報を元に作成しています
Slide 6
Slide 6 text
対象RAGアプリの紹介
Slide 7
Slide 7 text
そもそもRAGとは? ● Retrieval Augmented Generationの略 ● 外部の知識ソースを利用して大規模言語モデル(LLM)の回答の 質を向上させる手法
Slide 8
Slide 8 text
対象のRAGアプリ紹介
Slide 9
Slide 9 text
対象のRAGアプリ紹介 モニタリングツールに 対してエラー検索 エラーログから 既存チケットを検索
Slide 10
Slide 10 text
対象のRAGアプリ紹介 LLM部分は LangChain + OpenAI APIで実現
Slide 11
Slide 11 text
Bedrockしてみる
Slide 12
Slide 12 text
「Bedrockする」とは? ● Bedrock以外のLLMツールセットを用いて実装されたアプリケー ションをBedrockに移行すること
Slide 13
Slide 13 text
「Bedrockする」ために必要なこと ● コードを修正 ● 実行環境のIAM RoleにPolicyをアタッチ ● 以上!
Slide 14
Slide 14 text
「Bedrock」してみた ● LangChainのバージョン上げてboto3への依存を追加
Slide 15
Slide 15 text
「Bedrock」してみた ● メインの部分はほぼこれでOK
Slide 16
Slide 16 text
「Bedrock」してみた ● メインの部分はほぼこれでOK OpenAIへの依存を削除 boto3でBedrockのclient を定義し、LangChainの Embeddingに渡す Embedding modelとして 提供されているtitan v1を 指定
Slide 17
Slide 17 text
「Bedrock」してみた ● 仕上げに権限と環境変数を変えてデプロイ
Slide 18
Slide 18 text
Bedrock前後で比較
Slide 19
Slide 19 text
開発環境 ● Bedrockへの認証をIAM Roleに持たせることで、コードの外の責 務となり、ローカルで動作確認する際に一工夫が必要 ● ローカルフラグ持たせて、boto3のsession/clientの切り替えをす ることを一瞬考えたけど、今回は面倒だったのでCloud9にしまし た
Slide 20
Slide 20 text
セキュリティ ● LLM APIのクレデンシャルを管理しなくても良いというのはとても 嬉しい!!!! ● 通信も、AWSのInternal Networkを出ないので、外部のLLM API を利用するよりはセキュアに利用できます
Slide 21
Slide 21 text
オブザーバビリティ ● Cloudwatch等によるログ/メトリクスのモニタリングが可能 ● ログはBedrockのModel invocation loggingから設定可能 ● ただし、LangSmithには劣るので今後に期待
Slide 22
Slide 22 text
オブザーバビリティ Cloudwatch LangSmith
Slide 23
Slide 23 text
おわりに
Slide 24
Slide 24 text
まとめ ● シンプルなRAGアプリにおいて、非BedrockアプリをBedrockする のは、LangChainが実装を抽象化してくれているので非常に簡単 でした ● 運用やセキュリティに関する機能がAWSに寄せられるメリットは 大きいと感じました ● Knowledge BaseというネイティブRAGアプリサービスもPrivate Previewに入っていたり、まだまだ進化の激しい技術なので今後 もwatch必須ですね