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
re:Inventのアップデートを使ってRAGアプリ開発とRAGOpsに入門してみた!
Search
Har1101
January 14, 2025
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
re:Inventのアップデートを使ってRAGアプリ開発とRAGOpsに入門してみた!
Har1101
January 14, 2025
More Decks by Har1101
See All by Har1101
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.2k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.3k
AgentCore Registry入門~マルチアカウントでどう使うの~
har1101
1
80
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
510
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
4
680
AgentCore Session Storageで激安RAG作るためのあれやこれや
har1101
4
380
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
2
580
今日から始めるAmazon Bedrock AgentCore
har1101
4
560
My First Year as a Community Builder
har1101
3
370
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Un-Boring Meetings
codingconduct
0
310
HDC tutorial
michielstock
2
690
Site-Speed That Sticks
csswizardry
13
1.2k
Bash Introduction
62gerente
615
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Fireside Chat
paigeccino
42
3.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Transcript
re:Inventのアップデートを使って RAGアプリ開発とRAGOpsに 入門してみた! 2025/01/14 JAWS-UG初心者支部 x 千葉支部 re:Invent 2024 re:Cap
& 新年LT大会 福地開
Who am I ? 福地 開 (ふくち はるき) @har1101mony Japan
AWS Jr.Champions目指してます! NECソリューションイノベータ株式会社 2年目 インフラエンジニア(AWS) 趣味:ブログ書くこと、バスケ、競馬 (中山競馬場で行われた有馬記念は大敗しました。) re:Invent中の過ごし方: 日本でお留守番(毎日朝4時寝9時半起き)
本日お話すること・しないこと ◆ 話すこと! ✓Amplify AI Kitのご紹介 ✓生成AIアプリにおける評価とは? ✓ナレッジベース評価機能を使ってみる! ◆話さないこと! ✓RAGの詳細解説
✓Amplifyでの具体的な開発方法 ✓評価基盤の具体的な構築方法 →構築方法については別途ブログに纏めてあるので、こちらをご参照ください!
re:Invent 2024は RAGがアツかった!
RAGのアップデートは8件! ◆Amazon Bedrock Knowledge BasesがGraphRAGに対応 ◆Amazon Bedrock Knowledge Basesが構造化データの取り込みをサポート ◆Amazon
Bedrock Knowledge Basesがマルチモーダルデータに対応 ◆Amazon Bedrock Knowledge Basesが応答のストリーミングをサポート ◆Amazon Bedrock Knowledge Basesの自動クエリフィルタ機能を発表 ◆Amazon Bedrock Knowledge BasesがAPIによるデータ操作に対応 ◆Amazon Bedrock Knowledge BasesでRAGの評価機能をプレビュー開始 ◆Amazon KendraのGenAI Indexを発表
Pre:Inventでもアップデートが! ◆Amazon Bedrock Knowledge BasesがGraphRAGに対応 ◆Amazon Bedrock Knowledge Basesが構造化データの取り込みをサポート ◆Amazon
Bedrock Knowledge Basesがマルチモーダルデータに対応 ◆Amazon Bedrock Knowledge Basesが応答のストリーミングをサポート ◆Amazon Bedrock Knowledge Basesの自動クエリフィルタ機能を発表 ◆Amazon Bedrock Knowledge BasesがAPIによるデータ操作に対応 ◆Amazon Bedrock Knowledge BasesでRAGの評価機能をプレビュー開始 ◆Amazon KendraのGenAI Indexを発表 ◆AWS Amplify が Amazon Bedrock 向けのフルスタック AI キットをリリース ◆Amazon Bedrock Knowledge BasesがRAG アプリケーションを構築するため のバイナリベクトル埋め込みをサポート
今日触っていくのはこの2つ! ◆Amazon Bedrock Knowledge BasesがGraphRAGに対応 ◆Amazon Bedrock Knowledge Basesが構造化データの取り込みをサポート ◆Amazon
Bedrock Knowledge Basesがマルチモーダルデータに対応 ◆Amazon Bedrock Knowledge Basesが応答のストリーミングをサポート ◆Amazon Bedrock Knowledge Basesの自動クエリフィルタ機能を発表 ◆Amazon Bedrock Knowledge BasesがAPIによるデータ操作に対応 ◆Amazon Bedrock Knowledge BasesでRAGの評価機能をプレビュー開始 ◆Amazon KendraのGenAI Indexを発表 ◆AWS Amplify が Amazon Bedrock 向けのフルスタック AI キットをリリース ◆Amazon Bedrock Knowledge BasesがRAG アプリケーションを構築するため のバイナリベクトル埋め込みをサポート
RAGって何だっけ?(ざっくり) ◆RAG:Retrieval-Augmented Generation →日本語に訳すと、検索拡張生成 ◆生成AIが事前学習していない情報を検索して取得し、 その情報も用いて回答を生成する機能
RAGって何だっけ?(ざっくり) ◆RAG:Retrieval-Augmented Generation →日本語に訳すと、検索拡張生成 ◆生成AIが事前学習していない情報を検索して取得し、 その情報も用いて回答を生成する機能 ※前提:生成AIは最新情報や社内機密情報などを知らない
RAGって何だっけ?(ざっくり) ◆RAG:Retrieval-Augmented Generation →日本語に訳すと、検索拡張生成 ◆生成AIが事前学習していない情報を検索して取得し、 その情報も用いて回答を生成する機能
RAGって何だっけ?(ざっくり) ◆RAG:ベクトルを用いて検索する →単語・文章を数値の配列に変換して、類似度を検索 犬 猫 お茶 カレー チャーハン (2次元に変換したイメージです。) ペルシャ猫
RAGをAWS上で簡単に構築するには? ◆Amazon Bedrock Knowledge Basesを使います! ◆Bedrockコンソール上からGUIで簡単に作成可能! (もちろんCLI, CloudFormation, CDKでも可能)
RAGをAWS上で簡単に構築するには? ◆ドキュメントのベクトル化、ベクトルストア作成、 検索と回答生成の仕組みなどを全部作ってくれる!
今回作成したのは社内チャットボット用のRAG ◆架空の企業「株式会社ユニコーンレンタル」の 就業規定・福利厚生規定をドキュメントとして用意 S3に格納しておく (後は自動でベクトル化して ベクトルDB内へ格納してくれる)
Amplify AI Kitを用いて RAGアプリケーションを作成!
Amplify AI Kitとは? ◆Amplify(フルスタックアプリケーションを構築できるサービス)で、 生成AIアプリを爆速開発できるようにしたもの! ◆基盤モデルに加えて、ナレッジベースも利用できる!
GitHubのサンプルを用いて、ナレッジベースと接続 ◆とはいえAmplifyを使うにはフロントエンドの知識も必要 ◆今回は公式のサンプルを拝借し、動作確認してみることに https://github.com/aws-samples/amplify-ai-examples
GitHubのサンプルを用いて、ナレッジベースと接続 ◆サンプルには必要な処理はほぼ記載されている ◆修正箇所は作成したナレッジベースのIDを入力するくらい
GitHubのサンプルを用いて、ナレッジベースと接続 ◆接続できました!
公式ドキュメントも読もう! ◆今回はサンプルを使ったので理解が曖昧な部分も… ◆公式ドキュメントを読んできちんと実装できるように! (自分への戒めとして) https://docs.amplify.aws/react/ai/
Knowledge Basesの評価機能 を使って、RAGOpsを実践!
そもそも「評価」って何? ◆AIの出力結果の良し悪しを定量的・定性的に判断すること
そもそも「評価」って何? ◆AIの出力結果の良し悪しを定量的・定性的に判断すること ◆わかりやすく言うと、 ✓回答に嘘が含まれていないか ✓回答が論理的に矛盾していないか ✓すべての質問に回答できているか ✓回答に有害な内容が含まれていないか などをチェックすることを「評価」と言います
「評価」には2種類ある ◆オフライン評価 ◆アプリケーションリリース前や、アップデート時に実施する ◆模範解答とAIの回答を比較することで、AIの回答精度を評価する ◆Knowledge Basesの評価機能はこちら ◆オンライン評価 ◆アプリケーションが実稼働した後の評価 ◆実際にユーザーにどの程度役に立ったのかを定量的に測定する →売上、満足度、購入率、人件費などがどう変わったかを測定
◆労力はかかるが、最も重要なビジネスへの影響度を測定できる
Knowledge Basesの評価機能とは? 1. 自分で模擬質問と模範解答を準備する 2. 模擬質問を用いて、ナレッジベースに回答を出力させる 3. 自分が作成した模範解答とナレッジベースの回答を比較して、 AIの回答精度を評価する 模範解答とナレッジベース回答を
AI自身に比較させる、 LLM-as-a-Judge という手法を 用いて評価を行う
Knowledge Basesの評価機能を試してみる! 1. 自分で模擬質問と模範解答を準備する ※注意点としては、 ・質よりも量を優先する。 ・異常な入力などもテストケースに含める。 https://docs.anthropic.com/en/docs/build-with-claude/develop-tests#example-edge-cases
Knowledge Basesの評価機能を試してみる! 2. 模擬質問を用いて、ナレッジベースに回答を出力させる 3. 自分が作成した模範解答とナレッジベースの回答を比較して、 AIの回答精度を評価する ↑評価に用いる基盤モデルを選択 (LLM-as-a-Judge)
Knowledge Basesの評価機能を試してみる! ◆評価が完了!上の5つのパラメータは1に近いほどGood!
Knowledge Basesの評価機能を試してみる! ◆評価が完了!下の3つのパラメータは0に近いほどGood!
まとめ ◆Amplify AI Kitを用いることで、 簡単に生成AIアプリを実装できるようになりました! ◆Knowledge Basesの評価機能によって、 RAGOpsをAWS上で実施する第一歩になりました! ◆AWS上でのRAGアプリ開発・RAGOpsにAWS上で 挑戦してみてはいかがでしょう!?