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
第118回 雲勉【オンライン】AWS・Google Cloud 生成AI特集
Search
iret.kumoben
November 02, 2023
Technology
0
120
第118回 雲勉【オンライン】AWS・Google Cloud 生成AI特集
下記、勉強会での資料です。
https://youtu.be/msXem-glHpo
iret.kumoben
November 02, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第160回 雲勉 それ、AWS Step Functions で置き換えれん?
iret
0
45
第159回 雲勉 Amazon Bedrock でブラウザを操作する AI エージェントを作ってみた
iret
0
63
第158回 雲勉 AWS CDK 入門 ~ プログラミング言語で書くインフラ Python 編 ~
iret
0
47
第157回 雲勉 AWSインフラ監視をNew Relicで行う際の個人的Tips
iret
0
46
第156回 雲勉 AWS on Windows入門
iret
0
82
第155回 雲勉 サーバレスアーキテクチャを 用いたコスト重視 AI サービス
iret
0
59
第154回 雲勉 AWS Codeシリーズ盛り上げ隊 ~ Codeシリーズは砕けない ~
iret
0
61
第153回 雲勉 トラシューが秒で終わる新機能 Amazon Q Developer operational investigations
iret
0
69
第150回 雲勉 AWS AppSyncではじめるGraphQL体験
iret
0
69
Other Decks in Technology
See All in Technology
MCPが変えるAIとの協働
knishioka
1
130
DynamoDB のデータを QuickSight で可視化する際につまづいたこと/stumbling-blocks-when-visualising-dynamodb-with-quicksight
emiki
0
110
MCPを理解する
yudai00
13
9.6k
Как мы автоматизировали интеграционное тестирование с Gonkey и не пожалели. Паша Егорычев, Кирилл Поляков
lamodatech
0
1.8k
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
160
SnowflakeとDatabricks両方でRAGを構築してみた
kameitomohiro
1
570
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
640
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
820
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
2
460
Running JavaScript within Ruby
hmsk
4
440
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
590
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
130
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Navigating Team Friction
lara
185
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
830
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Visualization
eitanlees
146
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
BBQ
matthewcrist
88
9.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cult of Friendly URLs
andyhume
78
6.3k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Transcript
第118回 雲勉【オンライン】 AWS・Google Cloud ⽣成AI特集
本日やること 2 • 自己紹介 • AWS ◦ LINE API/Amazon Bedrock/Claude2を組み合わせたLINE
bot • Google Cloud ◦ LINE API/Vertex AI/PaLM2を組み合わせたLINE bot • まとめ
自己紹介 3 Amazon ベストセラー獲得 Kento.Yamada (github,Twitter,zenn,Qiita@ymd65536) 経歴 • 2022年10月~現在 アイレット株式会社
◦ クラウドインテグレーション事業部 MSP開発セクション(東京配属) • (2016年~2022年9月)某通信キャリアの子会社 ◦ ITスペシャリスト(エンジニア)
4 AWSの場合
5 デモ
利用技術 • LINE API ◦ Messaging API • AWS ◦
AWS Lambda ◦ Amazon Bedrock(Claude2を利用) 6
AWS Cloud 全体構成 7 .zipアップロード、レイヤー作成 1.Webhookによる接続 4.LINEアプリ上で結果を閲覧 2. モデルClaude2のAPIを実行 3.結果を取得
AWS Lambda Amazon Bedrock
LINE Messaging API 👈詳しく知りたい人はこちら 8 https://www.youtube.com/watch?v=KiuLRTSuTzg LINEのメッセージ機能をAPIとして提供するサービス
Amazon Bedrockとは 9 基盤モデルを使用して生成系 AI アプリケーションを 構築およびスケーリングする最も簡単な方法。 主な特徴 • 大手
AI 企業が提供する高性能な基盤モデルを 単一の API で選択できるフルマネージド型サービス • サーバレス 参考:https://aws.amazon.com/jp/bedrock/ Amazon Bedrock
実装方法 • AWS SDK for Python(boto3)を使って実装 Lambdaがデフォルトで提供しているboto3には bedrockのAPIを操作する実装が存在しない。(2023年10月23日現在) →bedrockのAPIに対応したboto3のLambdaレイヤーを作成する 10
補足:Lambdaのboto3のバージョンを確認する方法 11 実行! Amazon Bedrockは1.28.57でサポート 1.27.1では動作しない 参考: https://github.com/boto/boto3/blob/develop/.changes /1.28.57.json
補足:Lambdaのレイヤーを作成する 12 boto3 1.28.58をインポート
IAMポリシーを作成 13 権限は最小にする! CloudWatch Logsのポリシー
Lambdaで実行するPythonスクリプトの仕様 14 event_type is Message message _type is text Start
message _type is image message _type is sticker End Bedrock APIの実行 画像には対応していな い旨を表示 スタンプには対応して いない旨を表示 実行結果を取得 True True True False message_typeを返す True False False False
ここまでのまとめ • Amazon Bedrockを使うとサーバレスにAIをアプリケーションに実装できる • AWS SDK for PythonからAPIを実行する •
LambdaでAPIを実行する時はレイヤーを組む必要がある ※現時点ではLambdaに実装されているバージョンが1.27.1であり、bedrockの APIに対応していない 15
16 Google Cloudの場合
17 デモ
利用技術 • LINE API ◦ Messaging API • Google Cloud
◦ Cloud Run ◦ Artifact Registry ◦ Vertex AI(PaLM2を利用) 18
全体構成 19 Artifact Registry Cloud Run Vertex AI イメージをpush 2.コンテナイメージをpull
1.Webhookによる接続 5.LINEアプリ上で結果を閲覧 3. chat-bisonのAPIを実行 4.結果を取得
Cloud Runとは コンテナを実行できるマネージドサービス 特徴 • サーバレスコンピューティング • 受信リクエストに合わせて、コンテナが自動的にスケール 今回はジョブではなく、サービスとしてコンテナを実行 LINE
Messaging APIのWebhook URLとして利用 20 CloudRunの料金:https://cloud.google.com/run/pricing?hl=ja
Artifact Registryとは 21 次世代の Container Registry 特徴 • パッケージと Docker
コンテナイメージを1 か所で保管し、管理 できる • CloudBuildのアーティファクトを保存する場所として利用できる Caution 現在はContainer Registryではなく、Artifact Registryが推奨されてい ます! 今回はCloud Runに使うコンテナのイメージを保存するために利用 Artifact Registryの料金:https://cloud.google.com/artifact-registry/pricing?hl=ja
Vertex AIとは 22 エンタープライズ対応の生成 AI でイノベーションを加速する 特徴 • さまざまなAIモデルの提供およびトレーニング •
検証にちょうどいいGenerative AI Studio • もちろん、PaLM2も提供
PaLM2とは • Google が開発した最新のLLMであり、PaLMの後継 • 4種類のモデル:Gecko、Otter、Bison、Unicorn • 25 を超える Google
の製品と機能に搭載 23 引用元:PaLM 2 のご紹介 https://japan.googleblog.com/2023/05/palm-2.html
Vertex AI における生成 AI サポートの料金 24 Vertex AI における生成 AI
サポートの料金:https://cloud.google.com/vertex-ai/pricing?hl=ja 1,000文字あたり、$0.0005
実装方法 • Vertex AI SDK for Pythonを使って実装 →SDKからgoogle-cloud-aiplatformのvertexaiをインポート →language_modelsからChatModelをInvoke 25
〜実装のポイント〜 • context を設定 • InputOutputTextPairを設定
Pythonスクリプトの仕様(AWSで実装した時とほぼ同じ) 26 event_type is Message message _type is text Start
End VertexAI APIの実行 実行結果を取得 True True False False
補足:テキストだけでなく画像などの情報もAIでやっていきたいところですが。。 27 プレビュー中のモデルが多いので今回は断念 ↓現在(2023.10.23)利用できるモデル
Google Cloudを使ったLINE botのまとめ • 今回はCloud Runを使ってVertex AIを実行した • Vertex AIを使うと手軽に生成AIが扱える!
• まだまだ知見は少ないけども、可能性は無限大! 28
29 おわり