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
アプリケーションにKnowledge Bases for Amazon Bedrock を組み込む
Search
Kota Sasaki
January 27, 2024
Technology
0
90
アプリケーションにKnowledge Bases for Amazon Bedrock を組み込む
アプリケーションにKnowledge Bases for Amazon Bedrock を組み込む
Kota Sasaki
January 27, 2024
Tweet
Share
More Decks by Kota Sasaki
See All by Kota Sasaki
AWS re:Invent 2024 re:Cap AZ障害に対応する
sasakidenki
0
0
IaCを使って楽々構築、IaCとお友達になろう
sasakidenki
0
26
JAWS-UG札幌_opening_35
sasakidenki
0
9
JAWS-UG札幌_opening_30
sasakidenki
0
39
JAWS-UG札幌_opening_31
sasakidenki
0
40
JAWS-UG札幌_opening_32
sasakidenki
0
30
JAWS-UG札幌_opening_33
sasakidenki
0
37
JAWS-UG札幌_opening_34
sasakidenki
0
35
どさんこがお届けする 〜オールラウンドなクラウド活用事例〜
sasakidenki
0
620
Other Decks in Technology
See All in Technology
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
310
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
700
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
110
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
250
20241125 - AI 繪圖實戰魔法工作坊 @ 實踐大學
dpys
1
440
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
400
Storage Browser for Amazon S3を触ってみた + α
miura55
0
110
20241228 - 成為最強魔法使!AI 實時生成比賽的策略 @ 2024 SD AI 年會
dpys
0
340
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
290
rootful・rootless・privilegedコンテナの違い/rootful_rootless_privileged_container_difference
moz_sec_
0
110
「完全に理解したTalk」完全に理解した
segavvy
1
270
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
130
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
171
50k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Why Our Code Smells
bkeepers
PRO
335
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Typedesign – Prime Four
hannesfritz
40
2.5k
Site-Speed That Sticks
csswizardry
2
220
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
© NEC Solution Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only アプリケーションに Knowledge Bases for Amazon Bedrock を組み込む NECソリューションイノベータ株式会社 佐々木 航太 地方エンジニアのためのAWSハンズオン 〜生成系AIを使った開発力強化のポイント〜
None
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 3 n 佐々木 航太(Kota Sasaki) NECソリューションイノベータ株式会社 北海道支社 クラウド・地域ソリューショングループ シニアプロフェッショナル・ビジネスプロデューサー #39歳 #稚内出⾝ #野球 #AWS歴9年 #ネットワーク #セキュリティ #新製品好き #Soracom 自己紹介
0. 前提学習 1. 初期作業 2. Knowledge Bases前確認 3. Knowledge Bases作成
4. アプリに組み込んでみる 5. 後片付け 本日の流れ
0.前提学習
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 6 本ハンズオンで学習できること ・ Knowledge Bases for Amazon Bedrockとはを学習する ・ Amazon Bedrockと Knowledge Bases for Amazon Bedrockの違いを知る ・ Knowledge Bases for Amazon Bedrockを構築できるようになる ・ Knowledge Bases for Amazon Bedrockをアプリに組み込めるようになる
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 7 最終的に出来上がるアーキテクチャ
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 8 Knowledge Bases for Amazon Bedrockとは 検索拡張(RAG)の仕組みを簡単に構築/導入できる サービスです。 わかりやすくいうと、 Amazon Bedrockにオリジナデー タル(企業独自データ) を生成(検索)対象にできる仕 組み
1.初期作業
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 10 1.初期作業 1-1. AWSにログインする 1-2. リージョンを「バージニア」に変更する ※2024年1月24日時点では、Knowledge Bases for Amazon Bedrockは バージニアとオレゴンしか利用できないため 1-3.検索にBedrockを入力し、 Amazon Bedrock を開く
© NEC Solution Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 11 1.初期作業 1-4. (本ハンズオンでは実施済みのためスキップしてください)Amazon Bedrock のModel Accessを開く。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 12 1.初期作業 1-5-1. (本ハンズオンでは実施済みのためスキップ)AnthropicのClaudeとClaude Instantを有効にする。 下記内容で表示されてる場 合はすでに利用可能な状態 なので本操作は不要です。 2. Knowledge Bases 前確認ま でスキップしてください
© NEC Solution Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 13 1.初期作業 1-5-2. (本ハンズオンでは実施済みのためスキップ)AnthropicのClaudeとClaude Instantを有効にする。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 14 1.初期作業 1-5-3. (本ハンズオンでは実施済みのためスキップ)AnthropicのClaudeとClaude Instantを有効にする。 会社名 会社のURL 会社の業種 利用するのは誰か? 社内ユーザ 外部ユーザ どのような目的で使うか 使い方の説明
2. Knowledge Bases前確認
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 16 2. Knowledge Bases前確認 2-1. (前準備)他の参加者と被らない<識別子>を決めましょう ※後ほど作成するリソース名が被らないように使います。 例:sasaki-know-test-20240127 注意! 識別子はS3のバケット名にも使うので、命名規則に気をつけてください。 (半角ハイフンと英数字小文字で日付なんか入れると被らないかと)
© NEC Solution Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 17 2. Knowledge Bases前確認 2-2. Amazon Bedrockに聞いても正しい回答とならないことを確認しよう。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 18 2. Knowledge Bases前確認 2-3-1. モデルを先ほど有効にしたClaudeを選択
© NEC Solution Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 19 2. Knowledge Bases前確認 2-3-2. モデルを先ほど有効にしたClaudeを選択
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 20 2. Knowledge Bases前確認 2-4-1. デフォルトのClaudeでは検索できないことを確認してみよう 今回は「 VoiceGraphyについて教えてください」を検索してみてください。 補足: VoiceGraphyはNECが2019 年に販売を停止した製 品で、音声認識をして 議事録の作成を支援し てくれるソフトです。 本来は社内規約などが 良いですが、お題を共 通化するために VoiceGraphyとさせてく ださい
© NEC Solution Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 21 2. Knowledge Bases前確認 2-4-2. 最もらしい答えが返ってきてますが、求めてる答えではなく、検索した限りは存在しない スタートアップ企業の内容が返却されます。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 22 2. Knowledge Bases前確認 2-4-3. 補足 ChatGPTはわからないと回答 Google検索の生成AIは求めてる回答 (リアルにWebを検索してる)
3. Knowledge Bases作成
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 24 3. Knowledge Bases作成 3-1-1. 最初に検索対象ドキュメントを格納するS3を作成
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 25 3. Knowledge Bases作成 3-1-2. 最初に検索対象ドキュメントを格納するS3を作成
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 26 3. Knowledge Bases作成 3-1-3. 最初に検索対象ドキュメントを格納するS3を作成 識別子
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 27 3. Knowledge Bases作成 3-2-1.検索対象データを事前格納 ※事前に渡された「VoiceGraphyユーザーズマニュアル.docx」を準備してください。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 28 3. Knowledge Bases作成 3-2-2.検索対象データを事前格納 ※事前に渡された「VoiceGraphyユーザーズマニュアル.docx」を準備してください。 VoiceGraphyユーザーズマニュアル.docx
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 29 3. Knowledge Bases作成 3-2-3.検索対象データを事前格納 ※事前に渡された「VoiceGraphyユーザーズマニュアル.docx」を準備してください。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 30 3. Knowledge Bases作成 3-3-1. Knowledge Bases for Amazon Bedrockを作成する
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 31 3. Knowledge Bases作成 3-3-2. Knowledge Bases for Amazon Bedrockを作成する
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 32 3. Knowledge Bases作成 3-3-3. Knowledge Bases for Amazon Bedrockを作成する 識別子
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 33 3. Knowledge Bases作成 3-3-4. Knowledge Bases for Amazon Bedrockを作成する 識別子
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 34 3. Knowledge Bases作成 3-3-4. Knowledge Bases for Amazon Bedrockを作成する 作成した識別子のS3 を選択する
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 35 3. Knowledge Bases作成 3-3-4. Knowledge Bases for Amazon Bedrockを作成する 識別子
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 36 3. Knowledge Bases作成 3-3-5. Knowledge Bases for Amazon Bedrockを作成する
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 37 3. Knowledge Bases作成 3-3-6. Knowledge Bases for Amazon Bedrockを作成する
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 38 3. Knowledge Bases作成 3-3-6. 補足 検索対象となるVector データの格納先は、 先が選択可能です。 今回は手順を簡略化さ せるために左記での Vectorデータの格納先は 作成しません。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 39 3. Knowledge Bases作成 3-3-7. Knowledge Bases for Amazon Bedrockを作成する ボタンを押したあと OpenSearchServerlessが作成され るため数分時間がかかります。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 40 3. Knowledge Bases作成 3-4. S3に格納したデータをKnowledge Bases(OpenSearchSeverless)に同期する ボタンを押したあとデータ の構築に数分かかります。 後ほど上記を使うので、メ モしておいてくださ い。・・・メモ1
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 41 3. Knowledge Bases作成 3-5-1. 検索結果が改善されたか確認する Select Modelと表示されてる 場合は、Claude v2.1を選択 してください。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 42 3. Knowledge Bases作成 3-6. Knowledge Bases for Amazon Bedrockで同じキーワードを検索してみる 「 VoiceGraphyについて教えてください」
© NEC Solu9on Innovators, Ltd. 2023 NEC Solution Innovators Internal
Use Only 43 3. Knowledge Bases作成 3-7. 意図したデータが返却されたことが確認できました ここを押すことでどこの 文章から参照してきたの かを確認できます。
4. アプリに組み込んでみる
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 45 4.アプリに組み込んでみる 4-1-1. (本ハンズオンでは実施済みのためスキップ)事前準備としてIAMロールを作成します。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 46 4.アプリに組み込んでみる 4-1-2. (本ハンズオンでは実施済みのためスキップ)事前準備としてIAMロールを作成します。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 47 4.アプリに組み込んでみる 4-1-3. (本ハンズオンでは実施済みのためスキップ)事前準備としてIAMロールを作成します。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 48 4.アプリに組み込んでみる 4-1-4.(本ハンズオンでは実施済みのためスキップ)事前準備としてIAMロールを作成します。
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 49 4.アプリに組み込んでみる 4-1-5.(本ハンズオンでは実施済みのためスキップ)事前準備としてIAMロールを作成します。 識別子
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 50 4.アプリに組み込んでみる 4-2. (本ハンズオンでは実施済みのためスキップ)現状のLambda標準のboto3にはKnowledge Bases for Amazon BedrockのrunYmeが含まれていないためLambda Layerを使って追加します。 mkdir python pip3 install boto3 -t ./python zip -r ./python.zip . aws lambda publish-layer-version --layer-name <識別子> --zip-file fileb://python.zip --compatible-runtimes python3.12
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 51 4.アプリに組み込んでみる 4-3-1. Lambda関数を作成します
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 52 4.アプリに組み込んでみる 4-3-2. Lambda関数を作成します
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 53 4.アプリに組み込んでみる 4-3-3. Lambda関数を作成します 識別子 識別子 今回のハンズオンではロールは 前のセッションで作成した Lambdaのロールを指定してくだ さい 今回はレイヤーがPython 3.9な ので3.9を指定してください
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 54 4.アプリに組み込んでみる 4-3-4. Lambda関数のタイムアウト値を3秒から30秒に変更します。 ※今回は応答に20秒ぐらいかかるため
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 55 4.アプリに組み込んでみる 4-3-5. 作成したLambda Leyerを追加します
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 56 4.アプリに組み込んでみる 4-3-5. 作成したLambda Leyerを追加します 識別子 今回のハンズオンではレイヤー は前のセッションで作成したレ イヤーを指定してください
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 57 4.アプリに組み込んでみる 4-6. ソースをコピーする import json import boto3 bedrock_agent = boto3.client('bedrock-agent-runtime') def lambda_handler(event, context): model_id = "anthropic.claude-v2:1" model_arn = f'arn:aws:bedrock:us-east-1::foundation-model/{model_id}' knowledgeBase_id = "XXXXXXXX" #メモ1を設定する # クエリパラメータを取得 query_params = event.get('queryStringParameters') # クエリパラメータが存在するか確認し、値を取得 param_value = "VoiceGraphyについて教えてください" if query_params: param_value = query_params.get('prompt', '') response = bedrock_agent.retrieve_and_generate( input={ 'text': param_value }, retrieveAndGenerateConfiguration={ 'type': 'KNOWLEDGE_BASE', 'knowledgeBaseConfiguration': { 'knowledgeBaseId': knowledgeBase_id, 'modelArn': model_arn } }) # 実行結果からテキストのみを変数に入れて、画面に出力する generated_text = response['output']['text'] print(generated_text) # 返却値 return { 'statusCode': 200, 'headers': { 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json' }, 'body': json.dumps({ 'message': generated_text}, ensure_ascii=False) } ここに赤字部分を 修正しコピーペー ストする
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 58 4.アプリに組み込んでみる 4-7-1. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 59 4.アプリに組み込んでみる 4-7-2. APIGatewayに作成したLambdaを紐づける Cloud9で作成してSAMのアウト プットから自分のIDのものを探 してください
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 60 4.アプリに組み込んでみる 4-7-3. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 61 4.アプリに組み込んでみる 4-7-4. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 62 4.アプリに組み込んでみる 4-7-5. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 63 4.アプリに組み込んでみる 4-7-6. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 64 4.アプリに組み込んでみる 4-7-7. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 65 4.アプリに組み込んでみる 4-7-8. APIGatewayに作成したLambdaを紐づける
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 66 4.アプリに組み込んでみる 4-8. 画面から動作確認する。 画面で動作確認するため、API GatewayのURL パスを変更します。 ・「ui.html」をダブルクリック ・sendDataのurlのパスを「bedrock」から「knowledges」に変更 ※上記以外は変更しないでください。
5. 後片付け
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only 68 5.後片付け 5. (今回はAWSの問題により運営側で対応)下記リソースを削除する ※注意 OpenSearchServerlesは個別で削除が必要です。料金が高めなので注意してください ・Knowledge baseを削除する ・OpenSearchServerlessを削除する ・Lambdaを削除する ・LambdaLeyerを削除する ・IAMロールを削除する ・S3を削除する
© NEC Solu9on Innovators, Ltd. 2023 NEC Solu9on Innovators Internal
Use Only
None