はじめに

完了

セマンティック検索は、セマンティック類似性を持つ標準キーワード検索を強化します。 この類似性は、字句の重複が 1 文字を超えない場合でも、"sunny" のクエリが "明るい自然光" というテキストと一致する可能性があることを意味します。 セマンティック検索では、文字の類似性ではなく、人工知能 (AI) によって生成された埋め込みベクターを使用してクエリとドキュメントの類似性を測定し、関連性の高い検索結果を提供します。

このモジュールでは、Azure Database for PostgreSQL フレキシブル サーバーでセマンティック検索を有効にする方法と、Azure OpenAI を使用してベクター埋め込みを生成する方法を示します。

ベクター拡張機能とazure_ai拡張機能を含む Azure Database の図。

シナリオ

たとえば、休暇物件の一覧を管理する会社で働いているとします。 顧客がオンラインでリストを検索して予約できるようにする必要があります。 課題の 1 つは、ユーザーが同じことを説明するために使用するさまざまな単語です。 説明の変更やプロパティの変更に伴い、キーワード リストを開発および管理するためのリソースが限られており、手動のキーワード 入力はエラーが発生しやすくなります。 キーワード リストを手動で指定せずに、関連する検索結果を提供する場合。

学習目標

セマンティック検索、埋め込み、ベクター データベースの概要を確認できます。 次に、 pgvectorazure_ai 拡張機能を有効にします。 これらの拡張機能では、 azure_ai 拡張機能を使用して、Azure OpenAI 埋め込みから生成されたベクター列に対してセマンティック検索を実行します。 最後に、クエリ文字列を受け取り、そのクエリの埋め込みを生成し、データベースに対してセマンティック検索を実行する検索機能を記述します。

このセッションを終了すると、Azure OpenAI によって生成されたベクター埋め込みに対して、Azure Database for PostgreSQL フレキシブル サーバー データベースを使用してセマンティック検索を実行できます。