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必須ですね