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
110
アプリケーションに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
JAWS-UG横浜 #80 AWS re:Invent 2024 re:Cap Serverless 〜サーバレスの変革 〜
sasakidenki
0
51
AWS re:Invent 2024 re:Cap AZ障害に対応する
sasakidenki
0
9
IaCを使って楽々構築、IaCとお友達になろう
sasakidenki
0
35
JAWS-UG札幌_opening_35
sasakidenki
0
17
JAWS-UG札幌_opening_30
sasakidenki
0
45
JAWS-UG札幌_opening_31
sasakidenki
0
44
JAWS-UG札幌_opening_32
sasakidenki
0
34
JAWS-UG札幌_opening_33
sasakidenki
0
41
JAWS-UG札幌_opening_34
sasakidenki
0
37
Other Decks in Technology
See All in Technology
データモデルYANGの処理系を再発明した話
tjmtrhs
0
560
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
290
How to benefit from the latest Keycloak features
ahus1
0
120
User Story Mapping + Inclusive Team
kawaguti
PRO
3
670
AIxIoTビジネス共創ラボ紹介_20250311.pdf
iotcomjpadmin
0
160
技術を育てる組織・組織を育てる技術 / technology and organization
motemen
10
3.6k
俯瞰と個別の⼆つの視点で紡ぐ スクラムマスターの成⻑と協働 / Dual Views Weaving Scrum Master Growth
toma_sm
1
120
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
310
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
1
520
AppSheet タスク管理アプリ 中級編
comucal
PRO
0
110
組織のスケールを見据えたプロジェクトリードエンジニア制度の実践 / Project Lead Engineer for Scaling Engineering Organization
ohbarye
9
2.4k
エンジニア採用と 技術広報の実践/acaricsummit2025
nishiuma
1
160
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Designing Experiences People Love
moore
140
23k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Thoughts on Productivity
jonyablonski
69
4.5k
Automating Front-end Workflow
addyosmani
1369
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Done Done
chrislema
182
16k
GitHub's CSS Performance
jonrohan
1030
460k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
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