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

KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する

iidaxs
December 16, 2024

KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する

iidaxs

December 16, 2024
Tweet

Other Decks in Technology

Transcript

  1. 自己紹介 о 名前:飯田壮一 о 所属:株式会社HBA о 業務:AWS基盤環境構築、運用 о 資格:AWS認定×12 о

    家族:妻、息子(4歳)、娘(1歳) 社外初登壇です! ※発表は個人の見解に基づくものであり、所属組織を代表するものではありません。
  2. 検索 インデックス 質問 LLM 応答 Knowledge Basesで今できること Indexing •データを検索しやすい形に 構造化してインデックス化

    •扱えるデータソース •ユーザの質問に対して関連性の 高い情報を検索 Retrieval •検索インデックスを保存するDB Store Generation •ユーザの質問と検索結果(コンテキ スト)から最終応答を生成 DataSource RAGを構成する要素に分解して整理すると 理解しやすい(個人の肌感) ドキュメント
  3. 検索 インデックス 質問 LLM 応答 ドキュメント •データの取り込み - IngestionJob API

    - KnowledgeBaseDocuments API - new •データ解析戦略 - default - Foundation models - Data Automation(BDA) - new •チャンキング戦略 - default - 固定サイズ - Hierarchical - セマンティック - カスタム(Lambda) •埋め込みモデル - Titan Text Embeddings v2 - Cohere Embed Multilingual v3 •埋め込みタイプ - Floating-point vector embeddings - Binary vector embeddings •データ削除ポリシー - Delete - Retain •データソースの種類 - Amazon S3 - Web Crawler - Confluence - Salesforce - Sharepoint - Custom - new •検索タイプ - ベクトル検索 - ハイブリッド検索 - セマンティック検索 •高度なデータ操作 - メタデータフィルタ(手動) - メタデータフィルタ(自動) - new - クエリ書き換え - Reranking - new Retrieval •ストアの種類 - OpenSearch Serverless - Aurora - MongoDB Atlas - Pinecone - Redis Enterprise Cloud - Neptune Analytics - new - Amazon Redshift - new - Amazon Kendra GenAI Index - new Store Generation •生成モデル - Amazon Titan - Anthropic Claude - Cohere Command - Meta Llama - Mistral - Amazon Nova - new •応答 - ストリーミング応答 - new DataSource •その他 - ガードレール - RAG評価 – new Knowledge Basesで今できること Indexing
  4. 検索 インデックス 質問 LLM 応答 •データの取り込み - IngestionJob API -

    KnowledgeBaseDocuments API - new •データ解析戦略 - default - Foundation models - Data Automation(BDA) - new •チャンキング戦略 - default - 固定サイズ - Hierarchical - セマンティック - カスタム(Lambda) •埋め込みモデル - Titan Text Embeddings v2 - Cohere Embed Multilingual v3 •埋め込みタイプ - Floating-point vector embeddings - Binary vector embeddings •データ削除ポリシー - Delete - Retain •検索タイプ - ベクトル検索 - ハイブリッド検索 - セマンティック検索 •高度なデータ操作 - メタデータフィルタ(手動) - メタデータフィルタ(自動) - new - クエリ書き換え - Reranking - new Retrieval •ストアの種類 - OpenSearch Serverless - Aurora - MongoDB Atlas - Pinecone - Redis Enterprise Cloud - Neptune Analytics - new - Amazon Redshift - new - Amazon Kendra GenAI Index - new Store Generation •生成モデル - Amazon Titan - Anthropic Claude - Cohere Command - Meta Llama - Mistral - Amazon Nova - new •応答 - ストリーミング応答 - new •その他 - ガードレール - RAG評価 – new 本資料のテーマ Knowledge Basesで今できること Indexing ドキュメント •データソースの種類 - Amazon S3 - Web Crawler - Confluence - Salesforce - Sharepoint - Custom - new DataSource
  5. KnowledgeBaseDocuments API 【メリット】 о 時間のかかる従来のデータソース全体の同期が不要となり、運用上のボトルネックが解消 о S3イベント通知と組み合わせることで、データの取り込みや削除を自動かつリアルタイムに行え、 常に最新データを活用するよう構成可能(以下、一例) S3 追加・上書き

    削除 S3イベント通知 s3:PutObject S3イベント通知 s3:DeleteObject Lambda(ingest) Lambda(delete) DeleteKnowledgeBaseDocuments IngestKnowledgeBaseDocuments インデックス作成 インデックス削除 ベクトルストア Bedrock Knowledge Bases Bedrock Knowledge Bases
  6. 【手順】※ナレッジベースはS3をデータソースとして作成済みの前提 1. Lambda関数を作成する о Lambdaコードを実装する о アクセス権限を設定する о Lambdaレイヤーを追加する о

    Lambda関数をテストする 2. S3イベント通知を設定する о 作成したLambda関数をS3イベント通知に関連付ける 3. RAGできるか試してみる о S3にファイルアップロードする о ナレッジベースをテストする о S3からファイルを削除する さっそく試してみた