Slide 1

Slide 1 text

Bedrock Knowledge baseを使って今 年の上半期のニュースを聞いてみた KMiura(@k_miura_io)

Slide 2

Slide 2 text

はじめに一言 今回の内容は前日に思いついたので十分に検 証しきれてないです いつか完全版をお話するつもりではいます…

Slide 3

Slide 3 text

自己紹介 • 三浦 耕生(こうき) • Acallのバックエンドエンジニア • JAWS UG名古屋&神戸 運営 • 好きなAWSのサービス:AWS IoT, Lambda, ECS @k_miura_io koki.miura05

Slide 4

Slide 4 text

このLTを覚えてますか? https://bit.ly/4cWU2Jr

Slide 5

Slide 5 text

LTについて今北産業 • re:Invent 2023で発表されたAWS Step Functions の新機能「Call third-party API」を触ってみたとい う話 • デモとしてNews APIを使ってその日のヘッドライン ニュースをSlackのAPIで投稿するステートマシンを Lambdaレス作った • 実際に使ってみてのポイントや詰まったところを シェア

Slide 6

Slide 6 text

今回はこのS3バケットを使う話

Slide 7

Slide 7 text

データセットとして良さそう • LTで実装してからはEventBridgeを使って 毎日8時にステートマシンを実行している • 無課金なのでSlackの投稿は90日後に見 れないが、S3に溜めてあとから閲覧できる ようにした • 毎日安定稼働しているので、まぁまぁな データ量になっている

Slide 8

Slide 8 text

Bedrockでいい感じにできないだろうか?

Slide 9

Slide 9 text

S3のデータをナレべべにできる仕組み があるらしい • Amazon BedrockのKnowledgebaseを使うとS3をソースにフルマネージドなRAGを実現 できそう • 調べてみると外部のベクトルデータベースを使う方法があるが、わざわざ用意しなくても OpenSearch Serverlessを使うことができる(むしろ今のところそれが推奨っぽい)

Slide 10

Slide 10 text

DEMO

Slide 11

Slide 11 text

実際にデモチャットで確認 • 答えは帰って来るがなんか微妙… • ここで訪ねている今日は7/29に対して回答した内容は 6/27のニュース…

Slide 12

Slide 12 text

どうすれば精度上がりそう? • 読み込ませたソースになっているファイルがAPIのレスポンスをそのまま保存して いるだけなのでCSVとかで整形したほうがいいかも • Lambdaレスを売りにしてたけどLambdaに頼らざるを得ない • ソースごとにメタデータ情報を記載したjsonファイルをバケットに足すことで応答精 度が上がるそう • 他にいい方法知っている人いたら教えてくださいw

Slide 13

Slide 13 text

まとめ • ナレべべを駆使して上半期のニュースを尋ねようとした • 何も考えずに今まで蓄積したデータでもなんとなく動かせはした • RAGがなんとなく分かった気がする

Slide 14

Slide 14 text

宣伝 https://jawspankration2024.jaws-ug.jp/ja/

Slide 15

Slide 15 text

宣伝2 https://jawsug-nagoya.connpass.com/event/326683/

Slide 16

Slide 16 text

END