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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kota Sasaki
January 27, 2024
Technology
170
0
Share
アプリケーションにKnowledge Bases for Amazon Bedrock を組み込む
アプリケーションにKnowledge Bases for Amazon Bedrock を組み込む
Kota Sasaki
January 27, 2024
More Decks by Kota Sasaki
See All by Kota Sasaki
AWS re:Invent 2025 re:Cap
sasakidenki
0
93
JAWS-UG横浜 #80 AWS re:Invent 2024 re:Cap Serverless 〜サーバレスの変革 〜
sasakidenki
0
85
AWS re:Invent 2024 re:Cap AZ障害に対応する
sasakidenki
0
32
IaCを使って楽々構築、IaCとお友達になろう
sasakidenki
0
83
JAWS-UG札幌_opening_35
sasakidenki
0
40
JAWS-UG札幌_opening_30
sasakidenki
0
71
JAWS-UG札幌_opening_31
sasakidenki
0
62
JAWS-UG札幌_opening_32
sasakidenki
0
57
JAWS-UG札幌_opening_33
sasakidenki
0
71
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.4k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.6k
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
1.8k
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
420
会社説明資料|株式会社ギークプラス ソフトウェア事業部
geekplus_tech
0
230
Swift Sequence の便利 API 再発見
treastrain
1
280
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
0
460
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.5k
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
160
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.5k
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
190
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Mind Mapping
helmedeiros
PRO
1
190
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Navigating Weather and Climate Data
rabernat
0
190
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Into the Great Unknown - MozCon
thekraken
41
2.5k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.3k
Unsuck your backbone
ammeep
672
58k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
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