はじめに

完了

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

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

vector と azure_ai の拡張機能を使用した Azure Database の図。

シナリオ

あなたは、バケーション物件のリストを管理する会社で働いているとします。 あなたは、顧客がオンラインでリストを検索して予約できるようにしたいと考えています。 課題の 1 つは、同じことを説明するために多くの異なる単語が使われるということです。 説明の変更や不動産物件の入れ替えの際にキーワード リストを作成して管理するためのリソースが限られいる上、手動でのキーワード入力はエラーが発生しやすくなります。 あなたは、手動でキーワード リストを扱うことなく、関連する検索結果を提供したいと考えています。

学習の目的

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

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