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
58
第118回 雲勉【オンライン】AWS・Google Cloud 生成AI特集
iret.kumoben
November 02, 2023
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第133回 雲勉 【オンライン】今度こそ既存のAWSリソースをいい感じにコードに落とし込みたい!
iret
0
36
第132回 雲勉【オンライン】春の生成AI祭り
iret
1
53
第17回 雲勉LT【オンライン】Amazon Managed Grafanaを使ってCloudWatchログを分析・可視化する
iret
0
39
Amazon Bedrockのロックな使い方を考えたい
iret
0
29
CloudWatch SyntheticsとAmazon Managed Grafanaを連携する
iret
0
23
Amazon SageMaker Canvasで学ぶ機械学習モデルの構築
iret
0
44
ECR経由でのデプロイ通知を考える〜App Runner編〜
iret
0
31
AWSのサーバーレスでとりあえず開発をはじめてみた時に無知ゆえに陥りがちなこと
iret
1
52
第131回 雲勉【オンライン】AWSを9年触ってきて経験した落とし穴、ハマったポイント
iret
8
660
Other Decks in Technology
See All in Technology
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
37k
パスワードを保存しますか?
hanacchi
0
240
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.8k
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
7
2.8k
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
180
動画配信サービスのフロントエンド実装に学ぶ設計原則
yud0uhu
0
110
TailwindCSSでUIライブラリを作る際のハマりどころ
shuta13
0
210
TanStack Routerで型安全かつ効率的なルーティングを実現
ytaisei
4
750
NewSQL Landscape
oracle4engineer
PRO
5
3.1k
LLM評価の落とし穴~開発者目線で気をつけるポイント~
rishigami
10
2.9k
大規模言語モデル (LLM)における低精度数値表現
pfn
PRO
3
750
個人的、Kubernetes の最新注目機能! (2024年5月版) / TechFeed Experts Night#28 〜 コンテナ技術最前線
pfn
PRO
3
200
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Design by the Numbers
sachag
274
18k
What the flash - Photography Introduction
edds
64
11k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Rails Girls Zürich Keynote
gr2m
91
13k
Atom: Resistance is Futile
akmur
260
25k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
A better future with KSS
kneath
231
16k
How to Ace a Technical Interview
jacobian
273
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Raft: Consensus for Rubyists
vanstee
133
6.3k
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 おわり