Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RAG構築におけるKendraとPineconeの使い分け

 RAG構築におけるKendraとPineconeの使い分け

【connpass】
【6/29(土)】DevelopersIO 2024 in FUKUOKA Day2
https://classmethod.connpass.com/event/318652/

そのだ

June 29, 2024
Tweet

More Decks by そのだ

Other Decks in Technology

Transcript

  1. ©Fusic Co., Ltd. 2 苑⽥ 朝彰 Sonoda Tomotada - X:

    sonoda_mj - 2023 AWS Jr.Champions - 2024 AWS Community Builders (ML & GenAI) - 2024 Japan AWS Top Engineers (Services) - 甲賀流忍者検定(初級) コメント 最近忍者になりました。 ⾃⼰紹介 はじめに 株式会社Fusic
  2. ©Fusic Co., Ltd. 3 CONTENTS ⽬次 1. 背景 2. 検索拡張⽣成(RAG)とは

    3. 各種サービスの紹介 4. RAG構築におけるKendraとPineconeの使い分け 5. まとめ
  3. ©Fusic Co., Ltd. 5 背景 • 現状 • PineconeとKendraを使⽤してRAGを構築している •

    新たな要望 • PDFやWord以外のドキュメントを使⽤したい • 精度を向上させたい • 運⽤コストが⾼いので下げたい • KendraとPineconeの使い分け • これらの要望を適切に応えるために、KendraとPineconeのどち らを使うべきかを検討し、その使い分けをまとめた。
  4. ©Fusic Co., Ltd. 7 Retrieval Augmented Generation(RAG) ⽣成系の⾔語 AI モデルに外部メモリをつけるというコンセプトのことを指す

    検索拡張⽣成(RAG)とは Vector Database LLM 質問 検索 返答 検索結果 引用:https://github.com/aws-samples/jp-rag-sample
  5. ©Fusic Co., Ltd. 16 AI21 Labs、Anthropic、Cohere、Meta、Stability AI、Amazon などの⼤⼿ AI 企業が提供する⾼性能な基盤モ

    デル (FM) を単⼀の API で選択できるフルマネージド型サービス Amazon Bedrock 引⽤: https://aws.amazon.com/jp/bedrock/
  6. ©Fusic Co., Ltd. 17 Amazon Bedrock 内から基盤モデルをデータソースに接続して、検索拡張⽣成 (RAG) を⾏うことができる。 Knowledge

    Base for Amazon Bedrock Bedrock LLM Bedrock Embedding Model Vector DB Data Source or or or S3 様々なデータを⼊れる .txt, .md, .html, .doc/docx .csv, .xls/.xlsx, .pdf
  7. ©Fusic Co., Ltd. 30 データがpdfやword, textファイルなどの場合、Knowledge Base for Amazon Bedrockで事⾜りる

    しかし、slackやgithubなど、AWS外部のサービスと連携する場合はAmazon Kendraを使⽤する必要がある ドキュメントの種類 KendraとPineconeを使⽤するときの判断基準 • Adobe Experience Manager • Alfresco • Aurora (MySQL) • Aurora (PostgreSQL) • Amazon FSx (Windows) • Amazon FSx (NetApp ONTAP) • Database data sources • Amazon RDS (Microsoft SQL Server) • Amazon RDS (MySQL) • Amazon RDS (Oracle) • Amazon RDS (PostgreSQL) • Amazon S3 buckets • Amazon Kendra Web Crawler • Amazon WorkDocs • Box • Confluence • Custom data sources • Dropbox • Drupal • GitHub • Gmail • Google Workspace Drives • IBM DB2 • Jira • Microsoft Exchange • Microsoft OneDrive • Microsoft SharePoint • Microsoft Teams • Microsoft SQL Server • Microsoft Yammer • MySQL • Oracle Database • PostgreSQL • Quip • Salesforce • ServiceNow • Slack • Zendesk
  8. ©Fusic Co., Ltd. 42 ドキュメント # AWSでインフラを構築する⽅法 CDKを使⽤して、hogehoge… # AWS環境の説明

    データベースはDynamoDBを使⽤ 理由はhogehoge… # ローカルでの開発⽅法 Docker使ってhogehoge… あとはやる気で頑張って Pineconeを使⽤する場合のRAG ドキュメント ベクトル化 Pineconeに登録 Amazon Titan Text Embeddings
  9. ©Fusic Co., Ltd. 43 Amazon Titan Text Embeddings ドキュメント #

    AWSでインフラを構築する⽅法 CDKを使⽤して、hogehoge… # AWS環境の説明 データベースはDynamoDBを使⽤ 理由はhogehoge… # ローカルでの開発⽅法 Docker使ってhogehoge… あとはやる気で頑張って Pineconeを使⽤する場合のRAG ドキュメント ベクトル化 Pineconeに登録 データのまとまりがない
  10. ©Fusic Co., Ltd. 44 Amazon Titan Text Embeddings ドキュメント #

    AWSでインフラを構築する⽅法 CDKを使⽤して、hogehoge… # AWS環境の説明 データベースはDynamoDBを使⽤ 理由はhogehoge… # ローカルでの開発⽅法 Docker使ってhogehoge… あとはやる気で頑張って Pineconeを使⽤する場合のRAG ドキュメント ベクトル化 Pineconeに登録 ⽂字を分割するサイズを変更
  11. ©Fusic Co., Ltd. 45 ドキュメント # AWSでインフラを構築する⽅法 CDKを使⽤して、hogehoge… # AWS環境の説明

    データベースはDynamoDBを使⽤ 理由はhogehoge… # ローカルでの開発⽅法 Docker使ってhogehoge… あとはやる気で頑張って Pineconeを使⽤する場合のRAG ドキュメント ベクトル化 Pineconeに登録 内容を重複させる Amazon Titan Text Embeddings
  12. ©Fusic Co., Ltd. 46 ドキュメント # AWSでインフラを構築する⽅法 CDKを使⽤して、hogehoge… # AWS環境の説明

    データベースはDynamoDBを使⽤ 理由はhogehoge… # ローカルでの開発⽅法 Docker使ってhogehoge… あとはやる気で頑張って Pineconeを使⽤する場合のRAG ドキュメント ベクトル化 Pineconeに登録 LLM LLMを使ってドキュメントの データを抽出する
  13. ©Fusic Co., Ltd. 47 検証として使⽤したい場合はPineconeとKBの組み合わせを使った⽅が良さそう データソースの種類が多く、すぐに構築したいならKendra KendraとPineconeの使い分けのまとめ Kendra Pinecone ドキュメント

    ◯ 多様な形式に対応 △ 標準的な形式 値段 × かなり⾼コスト ◎ ⽐較的安価 実装の容易さと柔軟性 ◯ 導⼊が容易 △ ⼀部専⾨知識必要 ◎:とても良い ◯:良い △:普通 ×:悪い
  14. ©Fusic Co., Ltd. 48 検証として使⽤したい場合はPineconeとKBの組み合わせを使った⽅が良さそう データソースの種類が多く、すぐに構築したいならKendra KendraとPineconeの使い分けのまとめ Kendra Pinecone ドキュメント

    ◯ 多様な形式に対応 △ 標準的な形式 値段 × かなり⾼コスト ◎ ⽐較的安価 実装の容易さと柔軟性 ◯ 導⼊が容易 △ ⼀部専⾨知識必要 ◎:とても良い ◯:良い △:普通 ×:悪い Webクローリングしたデータを使って 迅速にデモアプリを作成
  15. ©Fusic Co., Ltd. 49 検証として使⽤したい場合はPineconeとKBの組み合わせを使った⽅が良さそう データソースの種類が多く、すぐに構築したいならKendra KendraとPineconeの使い分けのまとめ Kendra Pinecone ドキュメント

    ◯ 多様な形式に対応 △ 標準的な形式 値段 × かなり⾼コスト ◎ ⽐較的安価 実装の容易さと柔軟性 ◯ 導⼊が容易 △ ⼀部専⾨知識必要 ◎:とても良い ◯:良い △:普通 ×:悪い mdで管理されているドキュメントを 使ってRAGを構築