Slide 1

Slide 1 text

Knowledge Base for Amazon Bedrockと Pineconeを使って、格安でRAG作ってみた 【オフライン】JAWS-UG佐賀 2024年新年会LT 〜佐賀のエンジニアで乾杯︕〜 2024.1.27 苑⽥朝彰 1

Slide 2

Slide 2 text

⾃⼰紹介 苑⽥ 朝彰 Sonoda Tomotada - ID - Github︓tomomj - Twitter︓@sonoda_mj - Work at - 株式会社 Fusic (フュージック) 技術創造部⾨所属 - ソフトウェアエンジニアリング - 新卒3年⽬ - Skill - AWS/React(Native)/Ruby on Rails 2

Slide 3

Slide 3 text

⾃⼰紹介 苑⽥ 朝彰 Sonoda Tomotada - ID - Github︓tomomj - Twitter︓@sonoda_mj - Work at - 株式会社 Fusic (フュージック) 技術創造部⾨所属 - ソフトウェアエンジニアリング - 新卒3年⽬ - Skill - AWS/React(Native)/Ruby on Rails 3

Slide 4

Slide 4 text

アジェンダ 4 l 背景 l 事前知識 l knowledge base for amazon bedrockとPineconeを使って、格安で RAG作ってみた l まとめ

Slide 5

Slide 5 text

01 背景

Slide 6

Slide 6 text

RAG面白そうだから 作ってみたい!!

Slide 7

Slide 7 text

従来のAWSにおけるRAG 7 引用:https://aws.amazon.com/jp/blogs/news/quickly-build-high-accuracy-generative-ai-applications- on-enterprise-data-using-amazon-kendra-langchain-and-large-language-models/

Slide 8

Slide 8 text

従来のAWSにおけるRAG 8 引用:https://aws.amazon.com/jp/blogs/news/quickly-build-high-accuracy-generative-ai-applications- on-enterprise-data-using-amazon-kendra-langchain-and-large-language-models/ 試すにはちょっと 高い。。。

Slide 9

Slide 9 text

ほっ…ほなVectorDBだけ安くし て、処理部分を自分で作ろう!

Slide 10

Slide 10 text

コサイン類似度 Embedding Model

Slide 11

Slide 11 text

コサイン類似度 Embedding Model ML初心者にはしんどい

Slide 12

Slide 12 text

手軽に安く作れる方法 はないんか!!

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

なんか簡単に作れそう

Slide 15

Slide 15 text

これ使ってみよか〜

Slide 16

Slide 16 text

できるだけ工数やお金をかけずに RAGを作って遊びたい!!

Slide 17

Slide 17 text

02 事前知識

Slide 18

Slide 18 text

事前知識 18 l 検索拡張生成(RAG)とは l Knowledge Base For Amazon Bedrockとは l Pineconeとは

Slide 19

Slide 19 text

事前知識 19 l 検索拡張生成(RAG)とは l Knowledge Base For Amazon Bedrockとは l Pineconeとは

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

事前知識 27 l 検索拡張生成(RAG)とは l Knowledge Base For Amazon Bedrockとは l Pineconeとは

Slide 28

Slide 28 text

Bedrockとは 28 "*-BCTɺ"OUISPQJDɺ$PIFSFɺ.FUBɺ4UBCJMJUZ"*ɺ"NB[POͳͲͷେख "*اۀ͕ఏڙ͢Δ ߴੑೳͳج൫Ϟσϧ '. Λ୯Ұͷ "1*Ͱબ୒Ͱ͖ΔϑϧϚωʔδυܕαʔϏε ↓これらのmodelのAPIが使える

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

事前知識 33 l 検索拡張生成(RAG)とは l Knowledge Base For Amazon Bedrockとは l Pineconeとは

Slide 34

Slide 34 text

Pineconeとは 34 ベクトルを保存するためのデータベース(freeプランを使用) 引用:https://www.pinecone.io/product/

Slide 35

Slide 35 text

03 knowledge base for amazon bedrock を使って、格安でRAG作ってみた

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

Slack Bedrock 苑田(webにない情報) って誰ですか?

Slide 38

Slide 38 text

Slack Bedrock 苑田って何ですか?

Slide 39

Slide 39 text

Slack Bedrock 苑田というのは。。。

Slide 40

Slide 40 text

Slack Bedrock 苑田というのは。。。

Slide 41

Slide 41 text

構成図 41

Slide 42

Slide 42 text

構成図 42 構築の手間がかからない

Slide 43

Slide 43 text

構成図 43 フリープランなら無料

Slide 44

Slide 44 text

構成図 44 モデル 入力トークン 1,000 個あたり 出力トークン 1,000 個あたり Claude 0.00800 USD 0.02400 USD Cohere(埋め込み — 多言語) 0.0001 USD 該当なし

Slide 45

Slide 45 text

構成図 45 モデル 入力トークン 1,000 個あたり 出力トークン 1,000 個あたり Claude 0.00800 USD 0.02400 USD Cohere(埋め込み — 多言語) 0.0001 USD 該当なし め っ ち ゃ 安 い !

Slide 46

Slide 46 text

デモ

Slide 47

Slide 47 text

04 まとめ

Slide 48

Slide 48 text

まとめ Knowledge Base for Bedrockを使⽤することで、簡単にRAGを構築することができた Point 2 Pineconeを使⽤することで、⽐較的安く構築することができた 48 Point 1 Point 3 SlackでRAGを簡単に使⽤することができた

Slide 49

Slide 49 text

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