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
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
Search
y-mae
March 26, 2025
Technology
1
110
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
https://cloud-shokudo.connpass.com/event/347158/
y-mae
March 26, 2025
Tweet
Share
More Decks by y-mae
See All by y-mae
AWS Summit 2024 re:Cap 登壇資料
ymae
0
4
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1.4k
「genai-quickstart-pocs」を使ってお手軽に生成AIのPoCを始めよう!
ymae
3
210
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
4
930
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2025年3月度サービス・アップデート
oracle4engineer
PRO
0
300
【ServiceNow SNUG Meetup LT deck】ServiceNow「検索性の進化」ZingからNow Assistまで
niwato
1
280
リポジトリをまるっとAIに食わせるRepomixの話
yamadashy
0
240
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
2
720
Keynote - KCD Brazil - Platform Engineering on K8s (portuguese)
salaboy
0
110
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
1k
caching_sha2_passwordのはなし
boro1234
0
160
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.7k
Dapr For Java Developers SouJava 25
salaboy
1
120
Webブラウザのセキュリティ対策に役立つぞ!!~DevToolsの使い方~
masakiokuda
0
170
SaaSプロダクト開発におけるバグの早期検出のためのAcceptance testの取り組み
kworkdev
PRO
0
140
20250326_管理ツールの権限管理で改善したこと
sasata299
0
140
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
610
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Building Applications with DynamoDB
mza
94
6.3k
Done Done
chrislema
183
16k
RailsConf 2023
tenderlove
29
1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Documentation Writing (for coders)
carmenintech
69
4.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Code Reviewing Like a Champion
maltzj
521
39k
Transcript
前野 佑宜 アイレット株式会社 DX開発事業部 モダンエンジニアリングセクション ビジネスデザインG GenU案件を通して学んだ教訓 クラウド食堂 #2 ~AWSネタでLT会~
登壇資料
01 アジェンダ 自己紹介 02 GenUとは 03 GenU案件で学んだ教訓 3選 04 まとめ
前野 佑宜 2023年新卒入社/入社2年目 2024 Japan AWS Jr. Champions選出 アイレット株式会社 ま え の
ゆ う き 経歴 DX開発事業部/モダンエンジニアリングS/ビジネスデザインG 担当業務 Python/Laravelを使った開発をメインに従事 現在はAWSの生成AIサービスを使った開発を担当
02. GenUとは
みなさん、 「GenU 」はご存知でしょうか?
02.GenUとは?
02.GenUとは? GenU(generative-ai-usecases-jp) • AWSがOSSとして公開している生成AI活用のためのフレームワーク • 現状ではv3.0が最新版(日々アップデートされている) • サービスページも公開されている • Reactを用いて実装されている
• チャット/RAGチャット/Agentチャット/Flowチャット・要約 • 執筆・校正・翻訳・Webコンテンツ抽出 • 文章生成・画像生成・動画生成・映像分析・音声認識 • ユースケースビルダー・プロンプト最適化・ダイアグラム生成 3/25時点で、提供されている機能は 17機能! 場面に応じて 機能利用の有無を選択可能
03.GenU 案件で学んだ教訓 3選 GenUを使った、約2か月間の 開発を通して学んだこと
03.GenU案件で学んだ教訓 3選 1.CDKの作りは事前に確認する必要あり • デプロイ自体は、コマンドを実行するだけで簡単にできる ◦ cdk:deploy 一発でデプロイ可能(前段2-3個のコマンドを除けば) • 反面内部の作りを把握していないと、期待しない挙動になって焦る
◦ 開発途中でデプロイ不能になりリソース全削除する羽目になる可能性も どんなリソースが、どんな仕組みで 立ち上がっているかはしっかり確認する
03.GenU案件で学んだ教訓 3選 • GenUのcdk.jsonの、ドメイン設定に関するオプション ◦ 開発環境で、カスタムドメインのオプションを誤って設定し、一度全てnullにし て再デプロイしようとしたらエラーに ◦ 再度デプロイし直し手動でカスタムドメインの紐付けを行った "hostName":
<hostname>, "domainName": <domainname>, "hostedZoneId": XXXXX(Route53 のHostedZoneId), 失敗談: デプロイ不能になってリソース作り直し "hostName": null, "domainName": null, "hostedZoneId": null,
03.GenU案件で学んだ教訓 3選 CloudFormationを見ると、エラー発生 CloudFrontWafStack failed: ValidationError: Stack:arn:aws:cloudformation:us-east-1:***:stack/CloudFrontWafStack/1f2a8f70-d4a5-11ef -bbc9-125487e00b97 is in
UPDATE_ROLLBACK_FAILED state and can not be updated. ROLLBACK続行or リソース削除しか選択肢なし →結局解決できず crossRegionReferences(異なるリージョン間でリソースの受け渡しができる仕組みを使っている)の部分でエラー
03.GenU案件で学んだ教訓 3選 2.GenUのバージョン間のそれぞれの作りの違い、 影響範囲を確認しておくべし • GenUは、主にv2.0/v3.0(3/26時点最新版)が存在 ◦ v2.0→v3.0にあたり破壊的変更も存在。Kendra検索はv3.0以降削除(次頁 ◦ v3.0以降→検索だけできる
UIを作るには自分で作る必要あり • 担当案件では「検索だけしたい」というニーズがあり、Kendra検索を残す決断 ◦ →v2.0を採用 ユーザーにとって必要な(コアな)機能は何か? を第一に考え、どのバージョンを使うかは検討するのが良さそう
03.GenU案件で学んだ教訓 3選 GenU v3.0リリース時 のドキュメント
03.GenU案件で学んだ教訓 3選 3.RAGのどのフェーズがボトルネックかを明確に • GenUのRAG機能では、以下のフローで回答生成がされる クエリ生成 検索 回答生成 クエリは 期待通りに変換さ
れているか? 期待するドキュメン トが検索結果に出 てきているか?
03.GenU案件で学んだ教訓 3選 GenUにおけるRAGの仕組み
03.GenU案件で学んだ教訓 3選 3.RAGのどのフェーズがボトルネックかを明確に • GenUのRAG機能では、以下のフローで回答生成がされる クエリ生成 検索 回答生成 クエリは 期待通りに変換さ
れているか? 期待するドキュメン トが検索結果に出 てきているか?
03.GenU案件で学んだ教訓 3選 • GenUのデフォルトでは、関連するクエリがないと、「No Query」が返却 case1:クエリ生成でうまく行っていない場合 →クエリ生成時のプロンプト改善 /質問文の改善
03.GenU案件で学んだ教訓 3選 case1:クエリ生成でうまく行っていない場合 →クエリ生成時のプロンプト改善 /質問文の改善 Query生成時のプロンプト (packages/web/src/prompts/claude.ts)
03.GenU案件で学んだ教訓 3選 3.RAGのどのフェーズがボトルネックかを明確に • GenUのRAG機能では、以下のフローで回答生成がされる クエリ生成 検索 回答生成 クエリは 期待通りに変換さ
れているか? 期待するドキュメン トが検索結果に出 てきているか?
03.GenU案件で学んだ教訓 3選 • GenUのデフォルトでは、10件の結果しかretrieveしない ◦ retrieveAPIは、最大100件の結果まで抽出可能 ▪ →抽出対象のドキュメントの数を増やすのも一つの方法 case2:期待するドキュメントが得られない場合 →取得件数を増やす
04.まとめ まとめ どこにボトルネックがあるのかを意識して機能改善を 行うことが大事 簡単にデプロイできるのは GenUの魅力。 それに甘えすぎず内部的な仕組みも理解しよう
ご清聴ありがとうございました
参照文献 • 関連ブログ ◦ GenU サービスページ(AWS) ◦ 生成 AI
アプリをノーコードで作成・社内配布できる GenU ユースケースビルダー (AWS)