Cloud SQL for MySQL と Vertex AI でインテリジェント検索機能を強化
Julia Offerman
Software Engineer
※この投稿は米国時間 2025 年 7 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。
オンライン ストアで商品を探す、サポートケースの解決策を見つける、完璧なプレイリストを作成するなど、検索機能は現代の多くのアプリケーションにおいて欠かせないコンポーネントです。しかし、従来のキーワード検索では、データのより深い意味を見逃すことがよくあります。一方、ベクトル エンベディングはデータの複雑さを捉え、非常に正確で強力な検索を可能にします。ベクトル エンベディングとは、モデルによって生成されるデータの数値表現のことで、コンピュータが微妙なニュアンスを理解し、データ同士を意味的に比較するのに役立ちます。
Cloud SQL for MySQL の一般提供されているベクトル機能により、ベクトル エンベディングを保存して永続的なインデックスを構築したうえで、そのインデックスを用いた ANN(近似最近傍)検索を実行できます。このプロセスを簡単にするため、新たに Vertex AI との統合が導入されました。シンプルな SQL 関数を使用してベクトル エンベディングを生成できるため、外部でエンベディングを生成する必要がなくなりました。また、MySQL から直接 Vertex AI モデルを活用できるため、高度な AI 機能をデータにより近い場所で利用することが可能です。
ここでは、AI を活用してアプリケーションの検索機能を改善し、顧客のトレンドを把握および予測する方法をご紹介します。それでは詳しく見ていきましょう。
ベクトル エンベディングの生成、保存、検索
たとえば、e コマース アプリケーションの Vertex AI と Cloud SQL for MySQL のベクトル検索で商品検索機能を強化し、購入者レビューの分析に役立てる方法を検討しているとします。
Vertex AI の権限を設定して機能を有効にしたら、「mysql.ml_embedding」関数を使って既存の商品データのエンベディングを開始できます。モデル名を指定して、エンベディングするテキストを渡すだけで、Vertex AI リクエストのすべてのフォーマットと解析が処理されます。
たとえば、e コマース アプリケーションで次のようなクエリを使用し、「mysql.ml_embedding」の出力を VECTOR 型指定された列に直接保存できます。
類似商品をすばやく見つけるには、ANN 検索用のベクトル インデックスを作成します。ユースケースに応じて最適な距離測定を選択し、リーフの数をカスタマイズすることで速度と再現率を微調整できます。
アプリケーションで起訳者が検索を行う際、「mysql.ml_embedding」を使ってクエリをエンベディングし、その結果を ANN 検索に渡すことができます。たとえば、特定の機会に着用する服をデータベースで見つけるには、次のような SQL クエリを使用します。
Gemini と他の Vertex AI モデルから回答を得る
Cloud SQL と Vertex AI の統合により、データセットに合わせて微調整されたカスタムモデルや、Gemini などの事前トレーニング済みモデルを含む、あらゆる Vertex AI エンドポイントに対してリクエストを行うことができます。つまり、Vertex AI を使うと、商品説明のベクトル エンベディングを生成できるだけでなく、ユーザーが購入する商品や購入行為が不正かどうかなどを予測することもできます。
たとえば、自社商品の購入者レビューを MySQL データベースに保存して分析し、顧客のセンチメントを把握したいとします。その場合、MySQL クライアントから直接 Vertex AI LLM を呼び出して顧客満足度を判断し、評価を保存することが可能です。
構築を開始
MySQL と Vertex AI の統合によって商品検索と分析が強化される方法についてご説明しましたが、いかがだったでしょうか?詳しいエンべディング ワークフローのチュートリアルについては、Codelab をご覧ください。すべての機能の包括的な概要については、こちらの Cloud SQL ドキュメントをご覧ください。
-ソフトウェア エンジニア Julia Offerman



