2.1K Views
February 03, 24
スライド概要
2024.02.03 エンジニアの輪 at 東京 渋谷(第14回)
name: - いけだしんのすけ work: - インフラ・情シス like: - バイク - 読書 - 映画 - アニメ - ゲーム
ベクトルデータベースを⽐較した所感
⾃⼰紹介 name: いけだしんのすけ X: @orc_jj like: - バイク - 読書 - 映画 - アニメ - ゲーム work: - インフラ ・ SRE 🐣 topic: - 年明けからぎっくり背中になった。 運動不⾜解消の為に 剣道を再開 (したい)
ベクトルデータベースって︖ ベクトルデータベースとは、特に機械学習と深層学習の分野で活⽤さ れており、⾼次元のベクトルデータを効率的に格納、検索、処理する ために設計されているデータベース。 最近の応⽤例としては、RAG(Retrieval-Augmented Generation) における活⽤が特に盛ん。
⾃社の過去から現在に⾄る調査&回答データをどのベクトルデ ータベースに保管するのがよいかを検証。 Embedding 過去のQAデータを保管 するのに最適なものを検 証。 Front Doorでerror Question ベクトルデータベース タイトル: “Front Doorでエラー✗✗” 回答: まずリソース正常性を... Response 質問 + Docs Front Doorのエラーです ね。まずリソース正常性 を... LLM Bot
⽐較したベクトルデータベース ● Pinecone ● Momento Vector Index ● Amazon OpenSearch Service ● Azure Cosmos for MongoDB vCore ● Azure AI Search
Pineconeを使ってみた所感 https://www.pinecone.io/ • Hybrid search and sparse vectors • • たとえば、テキストデータと画像データの両⽅から特 徴を抽出し、これらを組み合わせて1つの検索クエリ を実⾏するなど。 https://docs.pinecone.io/docs/hybrid-search • 豊富なドキュメント • ドキュメントが充実してる。各種アルゴリズムや類似 性の違いなど、ベクトルデータベースを扱う上での基 礎的な解説も豊富に揃っており、教材としても活⽤で きる。 • 👈 https://www.pinecone.io/learn/ • 価格形態 • • ポッドベース(定額+従量課⾦) とサーバーレス(完全 従量課⾦) の 2 種類から選択できる。 https://www.pinecone.io/pricing/
Momento Vector Indexを使ってみた所感 https://jp.gomomento.com/services/momento-vector-index/ • アカウント開設から使⽤開始するまでが超簡単 • • コンソール画⾯がわかりやすくて迷うことがない。 ⽇本語ドキュメント • サンプルコード他、⽇本語訳のドキュメントが整備されてい るのが嬉しい。 • 価格形態がシンプル • 毎⽉ 5GB まで無料。それ以降は 1GB あたり 0.05 ドルです。 他プランもありますが、どの課⾦体系もシンプル。 • https://jp.gomomento.com/pricing/
Amazon OpenSearch Serviceを使ってみた所感 https://aws.amazon.com/jp/opensearch-service/ ● まずOpenSearchを知る必要がある... ○ 多機能な検索エンジンなので⾊々キャッチアップせねば... ● zero-ETL ○ Lambdaなどのグルーコードを⽤いずに、S3やDynamoDB のテーブルをOpenSearch Serviceに同期、変換することが 可能に。Bedrockと組み合わせる事でベクトル化も⾃動で。 ● Bedrock ○ ナレッジベース作成機能を使う事で驚くほど簡単にベクター ストアを構築できる。
Azure Cosmos DB for MongoDB vCoreを使ってみた所感 https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/vcore/vector-search ● Mongo DB 互換 • Mongo DBに慣れていると嬉しいのかも。 • 👈 Mongo DB Compassで操作した図 ● HNSWアルゴリズムはプレビュー段階 • • プレビュー機能を有効にすれば使える HNSWとIVFの違い ● 価格 • Free レベルの SKU がある。 気軽に検証できる。
Azure AI Searchを使ってみた所感 https://learn.microsoft.com/en-us/azure/search/ • 全⽂検索×ベクトル検索×セマンティックランカー • • • 今回の検証では、⼀番精度が良かった。 多機能なので、まずは機能を知るところから... 統合ベクトル化機能 & 組み込みスキル • Azure OpenAI Serviceと連携して簡単にベクトルデータベース を構築できる機能。 • https://learn.microsoft.com/en-us/azure/search/vectorsearch-integrated-vectorization • 価格 • • 全⽂検索×ベクトル検索まではFree レベルで検証できる。 統合ベクトル化機能はBasic以上
Azure AI Search 統合ベクトル化機能 1⃣ 2⃣ 3⃣ テキスト コンテンツ、⾮構造化ドキュメン ト。PDFに埋め込んである画像からOCRし てテキストを認識なども。
数クリックですぐにチャンキング & 全⽂検索 & ベクトル検索 & セマンティックランカー構成のベ クトルデータベースが構築できた。 Python SDK クエリのベクトル化は必要なし。 (⼀部プレビュー段階) https://github.com/Azure/azure-search-vector-samples/blob/main/demo-python/code/azure-search-integrated-vectorization-sample.ipynb
まとめ ● やれることにすごく大きな差は無いと感じた。ただ独自機能が 求める精度に本当に必要?という意味で検証と比較は大事。 ● 価格含めた要件次第ではある... ● 開発者の開発体験の良さも割と重要かも。 ○ ドキュメント読みやすい。コンソール画面が分かりやすいと か。
ご清聴有難うございました。