Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
re:Inventのアップデートを使って RAGアプリ開発とRAGOpsに 入門してみた! 2025/01/14 JAWS-UG初心者支部 x 千葉支部 re:Invent 2024 re:Cap & 新年LT大会 福地開
Slide 2
Slide 2 text
Who am I ? 福地 開 (ふくち はるき) @har1101mony Japan AWS Jr.Champions目指してます! NECソリューションイノベータ株式会社 2年目 インフラエンジニア(AWS) 趣味:ブログ書くこと、バスケ、競馬 (中山競馬場で行われた有馬記念は大敗しました。) re:Invent中の過ごし方: 日本でお留守番(毎日朝4時寝9時半起き)
Slide 3
Slide 3 text
本日お話すること・しないこと ◆ 話すこと! ✓Amplify AI Kitのご紹介 ✓生成AIアプリにおける評価とは? ✓ナレッジベース評価機能を使ってみる! ◆話さないこと! ✓RAGの詳細解説 ✓Amplifyでの具体的な開発方法 ✓評価基盤の具体的な構築方法 →構築方法については別途ブログに纏めてあるので、こちらをご参照ください!
Slide 4
Slide 4 text
re:Invent 2024は RAGがアツかった!
Slide 5
Slide 5 text
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を発表
Slide 6
Slide 6 text
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 アプリケーションを構築するため のバイナリベクトル埋め込みをサポート
Slide 7
Slide 7 text
今日触っていくのはこの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 アプリケーションを構築するため のバイナリベクトル埋め込みをサポート
Slide 8
Slide 8 text
RAGって何だっけ?(ざっくり) ◆RAG:Retrieval-Augmented Generation →日本語に訳すと、検索拡張生成 ◆生成AIが事前学習していない情報を検索して取得し、 その情報も用いて回答を生成する機能
Slide 9
Slide 9 text
RAGって何だっけ?(ざっくり) ◆RAG:Retrieval-Augmented Generation →日本語に訳すと、検索拡張生成 ◆生成AIが事前学習していない情報を検索して取得し、 その情報も用いて回答を生成する機能 ※前提:生成AIは最新情報や社内機密情報などを知らない
Slide 10
Slide 10 text
RAGって何だっけ?(ざっくり) ◆RAG:Retrieval-Augmented Generation →日本語に訳すと、検索拡張生成 ◆生成AIが事前学習していない情報を検索して取得し、 その情報も用いて回答を生成する機能
Slide 11
Slide 11 text
RAGって何だっけ?(ざっくり) ◆RAG:ベクトルを用いて検索する →単語・文章を数値の配列に変換して、類似度を検索 犬 猫 お茶 カレー チャーハン (2次元に変換したイメージです。) ペルシャ猫
Slide 12
Slide 12 text
RAGをAWS上で簡単に構築するには? ◆Amazon Bedrock Knowledge Basesを使います! ◆Bedrockコンソール上からGUIで簡単に作成可能! (もちろんCLI, CloudFormation, CDKでも可能)
Slide 13
Slide 13 text
RAGをAWS上で簡単に構築するには? ◆ドキュメントのベクトル化、ベクトルストア作成、 検索と回答生成の仕組みなどを全部作ってくれる!
Slide 14
Slide 14 text
今回作成したのは社内チャットボット用のRAG ◆架空の企業「株式会社ユニコーンレンタル」の 就業規定・福利厚生規定をドキュメントとして用意 S3に格納しておく (後は自動でベクトル化して ベクトルDB内へ格納してくれる)
Slide 15
Slide 15 text
Amplify AI Kitを用いて RAGアプリケーションを作成!
Slide 16
Slide 16 text
Amplify AI Kitとは? ◆Amplify(フルスタックアプリケーションを構築できるサービス)で、 生成AIアプリを爆速開発できるようにしたもの! ◆基盤モデルに加えて、ナレッジベースも利用できる!
Slide 17
Slide 17 text
GitHubのサンプルを用いて、ナレッジベースと接続 ◆とはいえAmplifyを使うにはフロントエンドの知識も必要 ◆今回は公式のサンプルを拝借し、動作確認してみることに https://github.com/aws-samples/amplify-ai-examples
Slide 18
Slide 18 text
GitHubのサンプルを用いて、ナレッジベースと接続 ◆サンプルには必要な処理はほぼ記載されている ◆修正箇所は作成したナレッジベースのIDを入力するくらい
Slide 19
Slide 19 text
GitHubのサンプルを用いて、ナレッジベースと接続 ◆接続できました!
Slide 20
Slide 20 text
公式ドキュメントも読もう! ◆今回はサンプルを使ったので理解が曖昧な部分も… ◆公式ドキュメントを読んできちんと実装できるように! (自分への戒めとして) https://docs.amplify.aws/react/ai/
Slide 21
Slide 21 text
Knowledge Basesの評価機能 を使って、RAGOpsを実践!
Slide 22
Slide 22 text
そもそも「評価」って何? ◆AIの出力結果の良し悪しを定量的・定性的に判断すること
Slide 23
Slide 23 text
そもそも「評価」って何? ◆AIの出力結果の良し悪しを定量的・定性的に判断すること ◆わかりやすく言うと、 ✓回答に嘘が含まれていないか ✓回答が論理的に矛盾していないか ✓すべての質問に回答できているか ✓回答に有害な内容が含まれていないか などをチェックすることを「評価」と言います
Slide 24
Slide 24 text
「評価」には2種類ある ◆オフライン評価 ◆アプリケーションリリース前や、アップデート時に実施する ◆模範解答とAIの回答を比較することで、AIの回答精度を評価する ◆Knowledge Basesの評価機能はこちら ◆オンライン評価 ◆アプリケーションが実稼働した後の評価 ◆実際にユーザーにどの程度役に立ったのかを定量的に測定する →売上、満足度、購入率、人件費などがどう変わったかを測定 ◆労力はかかるが、最も重要なビジネスへの影響度を測定できる
Slide 25
Slide 25 text
Knowledge Basesの評価機能とは? 1. 自分で模擬質問と模範解答を準備する 2. 模擬質問を用いて、ナレッジベースに回答を出力させる 3. 自分が作成した模範解答とナレッジベースの回答を比較して、 AIの回答精度を評価する 模範解答とナレッジベース回答を AI自身に比較させる、 LLM-as-a-Judge という手法を 用いて評価を行う
Slide 26
Slide 26 text
Knowledge Basesの評価機能を試してみる! 1. 自分で模擬質問と模範解答を準備する ※注意点としては、 ・質よりも量を優先する。 ・異常な入力などもテストケースに含める。 https://docs.anthropic.com/en/docs/build-with-claude/develop-tests#example-edge-cases
Slide 27
Slide 27 text
Knowledge Basesの評価機能を試してみる! 2. 模擬質問を用いて、ナレッジベースに回答を出力させる 3. 自分が作成した模範解答とナレッジベースの回答を比較して、 AIの回答精度を評価する ↑評価に用いる基盤モデルを選択 (LLM-as-a-Judge)
Slide 28
Slide 28 text
Knowledge Basesの評価機能を試してみる! ◆評価が完了!上の5つのパラメータは1に近いほどGood!
Slide 29
Slide 29 text
Knowledge Basesの評価機能を試してみる! ◆評価が完了!下の3つのパラメータは0に近いほどGood!
Slide 30
Slide 30 text
まとめ ◆Amplify AI Kitを用いることで、 簡単に生成AIアプリを実装できるようになりました! ◆Knowledge Basesの評価機能によって、 RAGOpsをAWS上で実施する第一歩になりました! ◆AWS上でのRAGアプリ開発・RAGOpsにAWS上で 挑戦してみてはいかがでしょう!?