はじめに
背景 〜 ベクトルデータベースとしてのApache CassandraとDataStax Astra DB
2022年からの生成AIの隆盛に対して、Apache Cassandraに対して、DataStaxエンジニアによりベクトル検索機能の拡張提案が提案され、DataStax社のCassandraマネージドサービスであるAstra DBで利用可能になっています。
本記事シリーズは、このような動向の一環として同社から発表されたホワイトペーパーの内容に基づきます。
出典と日本語版
このシリーズ記事の原典は、以下で入手可能です。
ブログ記事では、忠実な訳出ではなく、読みやすさを重視して、一部省略しています。
省略のない日本語版のホワイトペーパーの入手を希望される方はinfo-jp@datastax.comまでご連絡いただければ、提供させていただきます。
【生成AIアプリのためのベクトル検索】ユースケース: セマンティック検索とチャット
セマンティック検索
セマンティック検索は、しばしば「意味や理解を伴う検索」と説明されます。それは、単語や語句の一致を前提とする語彙検索やキーワード検索とは対照的です。
セマンティック検索の威力を伝える、簡単な例を示します。 「ウェブサイトのテーマ」、「ウェブサイトのテンプレート」、および「ウェブサイトのデザイン」というフレーズはすべて、ウェブサイトの視覚的なプレゼンテーション(見た目)を表現しています。ただし、従来の語彙検索で「テーマ」というキーワードを使って検索すると、特定の製品がそれらを「テンプレート」と呼んでいる場合、そうした情報は検索結果として返されません。あるいは、画像の検索にセマンティック検索を用いると、「ハヤブサ」と「タカ」が、ベクトル空間の近接した位置に配置された結果、お互いに検索が可能とすることができます。
セマンティック検索適応例
セマンティック検索で解決できる問題の種類は数多くあります。いくつかの例を次に示します。
検索エンジン
セマンティック検索の技術を用いて構築された検索エンジンは非常に強力かつ高速なものになります。
この場合、単純にベクトル検索を実行して、検索結果の上位N件のデータを返します。ここで、N は返したいドキュメントの数です。あるベクトルに類似したベクトルの検索には、通常、近似最近傍(ANN)検索が用いられます。
ここで、より意義深い結果をユーザーに提示するために、利用可能な他のデータに基づいて検索結果を再ランク付けすることも考えられます。例えば、ドキュメントへのトラフィック、クリックスルー率、その他の指標を用いることが考えられます。
ドキュメントの要約と情報抽出
ベクトル検索で見つかったドキュメントをLLMを用いて要約したり、特定の情報を抽出した上で、ユーザーに提示することができます。
レコメンデーション
レコメンデーションシステムは、パーソナライゼーションのための強力なツールです。ユーザー毎に、そのユーザーが興味を持ちそうなコンテンツを確実に提示することで、システムによる顧客エンゲージメントの向上を実現することができます。生成AI本来のパワーと、プロプライエタリデータとの組み合わせにより、レコメンデーションシステムはさらに強力かつ広範囲をカバーするものになります。
チャット
生成AIによって、チャット(や、それを用いたカスタマーサポートアプリ)を拡張することができます。これによって、ユーザーの質問に対してあたかも人間が行っているかのような応答を行うことが可能になります。これによく似たアプリの例として、バーチャル家庭教師やパーソナルアシスタントなどがあります。
重要なのは、同様のアプローチを使用して、幅広い付加機能を提供できるということです。例えば、クエリ、またはダイアログでの会話のやりとりの中で明らかになった、ユーザーの嗜好性に基づく推薦を行うことが考えられます。たとえば、高齢の肉親のために最適な老人ホームを探そうとしているユーザーは、様々な要件や制約を持つことでしょう。アプリを適切なエンベディングデータで拡張することによって、RAGベースのエクスペリエンスによって、可能な候補の中からさらなる絞り込みを行った上で、ユーザーにリストを提供することができれば、ユーザーは選りすぐられたリストから検討を始めることができます。
様々な場面で、このような体験を実現することは容易です。なぜなら、生成AIモデルは、従来のチャットやカスタマー サポートシステムとは異なり、事前定義された回答や構造化データベースに依存することがなく、質問のコンテキストとセマンティクスを理解した上で、あたかも人間のような応答をリアルタイムで生成できるからです。
このパラダイムをさらに一歩進めて、応答の履歴をエンベディングデータに変換した上で、将来の使用のために保存しておくことが考えられます。この追加機能は、RAGアプリケーションのためのデータプラットフォームを拡張して容易に実現可能です。この拡張は、単純なチャットボット履歴の保存と比べて、はるかに強力です。なぜなら、すべての顧客とのやり取りの記録が、将来の会話のコンテキストで参照できるようになるからです。