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
180
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でRAGを実現する上で感じた3つの大事なこと
ymae
3
1.4k
「genai-quickstart-pocs」を使ってお手軽に生成AIのPoCを始めよう!
ymae
3
220
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
4
940
Other Decks in Technology
See All in Technology
DIってなんだか難しい? 依存という概念を「使う・使われる」 という言葉で整理しよう
akinoriakatsuka
1
760
Symfony in 2025: Scaling to 0
fabpot
2
130
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
0
330
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
140
LINE Notify互換のボットを作った話
kenichirokimura
0
160
20250328_OpenAI製DeepResearchは既に一種のAGIだと思う話
doradora09
PRO
0
130
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1k
Reactを段階的に覗いてみる
ytaisei
2
900
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
980
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
830
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
200
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
310
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
Building Applications with DynamoDB
mza
94
6.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.4k
Visualization
eitanlees
146
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Being A Developer After 40
akosma
90
590k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
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)