ベクトル検索(ベータ版)の概要

TiDB Vector Search (ベータ版) は、ドキュメント、画像、音声、ビデオなど、さまざまなデータ タイプにわたってセマンティック類似性検索を実行するための高度な検索ソリューションを提供します。この機能により、開発者は使い慣れた MySQL スキルを使用して、生成型人工知能 (AI) 機能を備えたスケーラブルなアプリケーションを簡単に構築できます。

注記

TiDB Vector Search は現在ベータ版であり、 TiDB Cloudサーバーレスクラスターでのみ使用できます。

コンセプト

ベクトル検索は、データの意味を優先して関連性の高い結果を提供する検索方法です。これは、主にキーワードの正確な一致と単語の頻度に依存する従来の全文検索とは異なります。

たとえば、「泳ぐ動物」の全文検索では、正確なキーワードを含む結果のみが返されます。対照的に、ベクター検索では、正確なキーワードが存在しない場合でも、魚やアヒルなど、他の泳ぐ動物の結果が返されます。

ベクトル埋め込み

ベクトル埋め込みは、埋め込みとも呼ばれ、高次元空間内の現実世界のオブジェクトを表す数値のシーケンスです。ドキュメント、画像、音声、ビデオなどの非構造化データの意味とコンテキストをキャプチャします。

ベクトル埋め込みは機械学習に不可欠であり、意味的類似性検索の基盤として機能します。

TiDB では、ベクトル埋め込みのstorageと取得を最適化し、AI アプリケーションでの使用を強化するように設計されたベクトルデータ型導入されています。ベクトル埋め込みを TiDB に保存し、ベクトル検索クエリを実行して、これらのデータ タイプを使用して最も関連性の高いデータを見つけることができます。

埋め込みモデル

埋め込みモデルは、データをベクトル埋め込みに変換するアルゴリズムです。

適切な埋め込みモデルを選択することは、セマンティック検索結果の正確性と関連性を保証するために重要です。非構造化テキスト データの場合、 大規模テキスト埋め込みベンチマーク (MTEB) リーダーボードで最高のパフォーマンスを発揮するテキスト埋め込みモデルを見つけることができます。

特定のデータ型のベクトル埋め込みを生成する方法については、埋め込みプロバイダーの統合チュートリアルまたは例を参照してください。

ベクトル検索の仕組み

生データをベクトル埋め込みに変換して TiDB に保存した後、アプリケーションはベクトル検索クエリを実行して、ユーザーのクエリに意味的または文脈的に最も関連性の高いデータを見つけることができます。

TiDB Cloudのベクトル検索では、 距離関数を使用して指定されたベクトルとデータベースに保存されているベクトル間の距離を計算し、上位 k 近傍 (KNN) ベクトルを識別します。クエリに最も近いベクトルは、意味の最も類似したデータを表します。

The Schematic TiDB Vector Search

統合ベクトル検索機能を備えたリレーショナル データベースである TiDB を使用すると、データとそれに対応するベクトル埋め込みを 1 つのデータベースにまとめて保存できます。異なる列を使用して同じテーブルに保存することも、異なるテーブルに分割して、取得時にJOINクエリを使用して組み合わせることもできます。

ユースケース

検索拡張生成 (RAG)

検索拡張生成 (RAG) は、大規模言語モデル (LLM) の出力を最適化するために設計されたアーキテクチャです。ベクトル検索を使用することで、RAG アプリケーションはベクトル埋め込みをデータベースに保存し、LLM が応答を生成するときに関連ドキュメントを追加のコンテキストとして取得できるため、回答の品質と関連性が向上します。

セマンティック検索は、単にキーワードを一致させるのではなく、クエリの意味に基づいて結果を返す検索テクノロジーです。埋め込みを使用して、さまざまな言語やさまざまな種類のデータ (テキスト、画像、音声など) の意味を解釈します。次に、ベクター検索アルゴリズムがこれらの埋め込みを使用して、ユーザーのクエリを満たす最も関連性の高いデータを検索します。

推奨エンジン

推奨エンジンは、ユーザーにとって関連性がありパーソナライズされたコンテンツ、製品、またはサービスを積極的に提案するシステムです。これは、ユーザーの行動と好みを表す埋め込みを作成することで実現されます。これらの埋め込みは、他のユーザーが操作した、または興味を示した類似のアイテムをシステムが識別するのに役立ちます。これにより、推奨事項がユーザーにとって関連性があり魅力的になる可能性が高まります。

参照

TiDB Vector Search を使い始めるには、次のドキュメントを参照してください。

このページは役に立ちましたか?