Slide 1

Slide 1 text

会社の公開ページとKnowledge Base for Amazon BerdrockでRAG作ってみた JAWS-UG沖縄 ⽣成AI特集︕2024年2⽉ 2024.2.17 苑⽥朝彰 1

Slide 2

Slide 2 text

⾃⼰紹介 苑⽥ 朝彰 Sonoda Tomotada - ID - Github︓tomomj - Twitter︓@sonoda_mj - Work at - 株式会社 Fusic (フュージック) 技術創造部⾨所属 - 新卒3年⽬ - 最近MLを勉強し出した - Skill - AWS/React(Native)/Ruby on Rails 2

Slide 3

Slide 3 text

アジェンダ 3 l 背景 l Knowledge Base for Amazon Bedrockとは l 会社の公開ページとBedrockでRAG作ってみた l まとめ

Slide 4

Slide 4 text

01 背景

Slide 5

Slide 5 text

新しい情報やプライベートの情報に関する 内容について回答してくれる、ChatGPTの ようなアプリを個人開発で作りたい!

Slide 6

Slide 6 text

でもいいネタが思いつかん!!

Slide 7

Slide 7 text

参考:https://fusic.co.jp/members

Slide 8

Slide 8 text

ちょうどええデータ あるやん

Slide 9

Slide 9 text

これ使ってみよか〜

Slide 10

Slide 10 text

作ったもの

Slide 11

Slide 11 text

苑田(webにない情報) って誰ですか? Webアプリ

Slide 12

Slide 12 text

苑田っていうのはな。。。 Webアプリ

Slide 13

Slide 13 text

02 Knowledge Base for Amazon Bedrockとは

Slide 14

Slide 14 text

Knowledge Base for Amazon Bedrockとは 14 "NB[PO#FESPDLͷφϨοδϕʔεΛ࢖༻͢Δͱɺ"NB[PO#FESPDL಺͔Β '.Λσʔλιʔ εʹ઀ଓͯ͠ݕࡧ֦ுੜ੒ 3"( Λߦ͏͜ͱ͕Ͱ͖Δɻ͜ΕʹΑΓɺ'.ͷطଘͷڧྗͳػೳΛ ֦ு͠ɺಛఆͷυϝΠϯ΍૊৫ʹؔ͢Δ஌ࣝΛਂΊΔ͜ͱ͕Ͱ͖Δɻ 引用:https://aws.amazon.com/jp/bedrock/knowledge-bases/

Slide 15

Slide 15 text

データの前処理 15 引用:https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html • ドキュメントを管理しやすいチャンクに分割し、効率的に取得できるようにする • ドキュメントをEmbedding Modelを使用してベクトル化する • Vector DBに格納する Cohere

Slide 16

Slide 16 text

ランタイム実⾏ 16 引用:https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html • ユーザーのクエリをベクトル化する • ドキュメントのベクトルと比較し、意味的に類似したチャンクが検索される • 取得されたチャンクからの追加のコンテキストで拡張される Cohere Claude

Slide 17

Slide 17 text

Knowledge Baseについて詳しく 17 or or Vector Database Data Source S3 Bedrock User LLM 様々な情報を入れる コードを書かなくとも一括で作成してくれる(S3以外) or

Slide 18

Slide 18 text

03 会社の公開ページとBedrockで RAG作ってみた

Slide 19

Slide 19 text

データソース 19 Fusicのメンバー紹介(全員分) 参考: https://fusic.co.jp/members/108

Slide 20

Slide 20 text

構成図 20

Slide 21

Slide 21 text

構成図 21

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

質問内容 会話履歴を保持するための セッションID

Slide 24

Slide 24 text

sessionIDを指定しない場合 sessionIDを指定する場合 苑田とは誰ですか? AWSエンジニアです 詳細を教えてください 詳細とは何でしょうか? 苑田とは誰ですか? AWSエンジニアです 詳細を教えてください 彼はAWSだけではなく、Rubyも書ける ようです。緑のタイツを着ています。 会話情報が保持される

Slide 25

Slide 25 text

構成図 25

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

構成図 27 毎日データをベクトル化してPineconeに保存している

Slide 28

Slide 28 text

データを前処理する 28 名前:苑田朝彰 コメント:ほげほげ 略歴:ほげほげ 担当・スキル:ほげほげ プライベート:ほげほげ 必要なところだけ取ったtxtファイル データの抽出

Slide 29

Slide 29 text

構成図 29 ベクターDB Freeプラン使用

Slide 30

Slide 30 text

デモ

Slide 31

Slide 31 text

04 まとめ

Slide 32

Slide 32 text

まとめ Bedrockを使ってChatGPTのようなアプリを簡単に作ることができた Point 2 sessionIDを使⽤することで、会話履歴が保持された 32 Point 1 Point 3 データの精度を上げるには前処理が重要(かもしれない)

Slide 33

Slide 33 text

ご清聴いただきありがとうございました Thank You We are Hiring ! https://recruit.fusic.co.jp/

Slide 34

Slide 34 text

Appendix

Slide 35

Slide 35 text

検索拡張⽣成(RAG)とは 35 Retrieval Augmented Generation(RAG) 生成系の言語 AI モデルに外部メモリをつけるというコンセプトのことを指す Vector Database LLM 質問 検索 返答 検索結果 引用:https://github.com/aws-samples/jp-rag-sample

Slide 36

Slide 36 text

検索拡張⽣成(RAG)とは 36 事前に学習したデータに関しては返答することができる AWSについて教えて AWSってのはな・・・ LLM

Slide 37

Slide 37 text

検索拡張⽣成(RAG)とは 37 しかし、学習していない内容に関しては答えられない 苑田について教えて 誰やねん 私の知識はxxxx年まででぇ〜

Slide 38

Slide 38 text

検索拡張⽣成(RAG)とは 38 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 苑田について教えて 新しいデータをベクトル化 して格納

Slide 39

Slide 39 text

検索拡張⽣成(RAG)とは 39 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 近いベクトルを探す 「苑田について教えて」を ベクトル化

Slide 40

Slide 40 text

検索拡張⽣成(RAG)とは 40 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 検索結果を返す

Slide 41

Slide 41 text

検索拡張⽣成(RAG)とは 41 外部のデータベースなどを紐づけることで、新しい情報やプライベートの情報に関す る回答を生成することができる Vector Database 苑田ってのはな