Snowflake Cortex Search:RAGアプリケーションのための最先端のハイブリッド検索
Snowflake Cortex Searchは、ドキュメントなどの非構造化データを対象としたフルマネージド型の検索サービスです。Cortex Searchを使用すると、組織はSnowflakeを使用して検索拡張生成(RAG)アプリケーションを簡単に展開し、カスタマーサービス、財務調査、販売チャットボットなどのユースケースを強化できます。Cortex Searchは、直感的なユーザーインターフェイスの背後で、Snowflake内のテキストデータに対する最先端のセマンティック検索と語彙検索を提供します。Snowflakeらしい堅牢なセキュリティとガバナンス機能を備えています。
高品質のRAGアプリケーション構築の課題を解決する
創業以来、Snowflakeのミッションは、顧客がデータからより多くの価値を引き出せるようにすることです。エンタープライズAIの時代には、このミッションはこれまで以上に非構造化データにも及びます。RAGは、独自データを使用して生成チャットアプリケーションをカスタマイズするための標準的なアプローチとなっています。RAGは、組織が独自のデータを正確に活用する強力なカスタマーサービスアプリケーション、販売アプリケーション、R&Dアプリケーションなどを作成できるようにします。
しかし、検索はあらゆるAIアプリケーションスタックの基本的なコンポーネントですが、高品質で高性能なRAGシステムを作成することは、ほとんどの企業にとって依然として困難です。RAGの大規模な展開を成功させるために管理が必要なコンポーネントについて考えてみましょう。
- インフラストラクチャと運用:プラットフォームチームは、ホスト型埋め込みモデル、ベクトルデータベース、データインデックスパイプライン、ホスト型リランキングモデル、可観測性ツールなど、多数の検索コンポーネントを展開、管理する必要があります。
- 検索品質チューニング:エンジニアとデータサイエンティストは、モデルとパラメータ構成の評価に時間を費やし、検索コンポーネントとランキングコンポーネントをそれぞれのビジネスユースケースに合わせて調整する必要があります。
- セキュリティとガバナンス:セキュリティチームは、スタック内の各コンポーネントがデータを安全に扱い、ガバナンスポリシーを尊重していることを確認するために、大規模なレビューを行う必要があります。
Cortex Searchによるエンタープライズ規模のハイブリッド検索
Cortex SearchはSnowflakeにネイティブに統合されており、大量のテキストに対して200~300ミリ秒でクエリを実行します。このサービスは、自然言語クエリを取り込んで、最も関連性の高いテキスト結果と関連メタデータを返す「ファジー」検索に対応しています。低レイテンシー向けに最適化されているため、インタラクティブなエンドユーザーアプリケーションに最適なバックエンドです。また、Cortex SearchをCortex AIの業界をリードするLLMと組み合わせることで、強力なチャットボットを開発できます。
Cortex Searchは、AIを活用したワールドクラスの検索機能を低い総保有コスト(TCO)で提供します。これにより、インフラストラクチャーの管理や検索品質の微調整に費やす時間が減り、エンドユーザー向けの優れたAIアプリケーションの構築に多くの時間を費やすことができます。以下の原則を念頭に置いて設計されています。
- 使いやすい:フルマネージド型インフラストラクチャでは、運用責任はSnowflakeが処理します。Cortex Searchは、低レイテンシーで自動化された増分取り込みを提供します。
- 最先端の検索品質:最先端の「ファジー」検索機能をすぐに利用できます。微調整は必要ありません。
- セキュリティとガバナンス:Snowflakeの他のデータと同じセキュリティ機能やガバナンス機能を活用。
「私たちはCoda Brainを開発しました。これは、会社のすべての構造化データと非構造化データを理解し、ユーザーがそれに基づいて行動できるようにするAIプラットフォームです。Coda Brainの非構造化RAGシステムには高品質の検索結果が必要で、各テナントの検索インフラストラクチャを大規模に管理するビジネスにはなりたくありませんでした。「Cortex SearchはCoda Brainを強化するのに最適です。類似検索製品より優れた検索品質が得られ、運用オーバーヘッドも最小限に抑えられています。」 Shishir Mehrotra氏、Coda、共同創業者、CEO
フルマネージド型のインデックス作成と提供
Cortex Searchは、組織内の誰もが強力な検索エンジンを活用できます。このサービスでは、自動的にインデックスが作成され、基礎となるデータソースから変更された行のみが処理されます。
検索サービスの構築に伴う運用上の複雑さはすべて、サービス作成用の単一のSQLステートメントに集約されます。これにより、取り込み、埋め込み、提供のための複数のプロセスを作成、管理する必要がなくなり、最終的に最先端のAIアプリケーションの開発に時間を使えるようになります。
サービスを作成したら、アプリケーションからRESTまたはPython APIで簡単にクエリできます。これには、Snowflakeでホストされるアプリケーション(Streamlit in Snowflakeなど)と外部環境でホストされるアプリケーションの両方が含まれます。
ハイブリッド検索による最先端の検索品質
Cortex Searchは、ユーザーフレンドリーなインターフェースの背後で最先端の検索品質を提供します。Cortex Searchの検索バックボーンはベクトル検索コンポーネントであり、Snowflakeの高性能でコスト効率に優れたArctic Embed Mを搭載していますArctic Embedに加えて、Cortex Searchは、いわゆる「ハイブリッド」アプローチで語彙検索とリランキングを利用します。したがって、Cortex Searchサービスへの各検索クエリでは以下が使用されます。
- 意味的に類似するドキュメントを取得するためのベクトル検索
- 語彙的に類似するドキュメントを取得するためのキーワード検索
- 結果セット内で最も関連性の高いドキュメントをランク付けするためのセマンティックリランキング
このアンサンブル検索技術は、すべてのクエリに対するメタデータフィルタリングに追加対応しており、検索を関連文書のサブセットにフィルタリングすることができます。たとえば、カスタマーサポート担当者は、曖昧検索クエリをEMEA地域の顧客からの2024年以降のチケットのみにフィルタリングできます。
ハイブリッド検索はベクトル検索やキーワード検索のみよりもパフォーマンスが高い
Cortex Searchは、ベクトル検索、キーワード検索、セマンティックリランキングの強みを単一の検索インターフェースに統合します。私たちの社内調査では、このアプローチではさまざまなRAG指向の検索ワークロードで、ベクトル検索やキーワード検索のみよりも高品質の検索結果が得られることが示されています。これは、通常、字句検索やリランキングを行わずにベクトル検索のみを提供するスタンドアロンのベクトルデータベースよりも、すぐに使える品質が向上することを意味します。実際に、公開および独自の「質問と回答」形式のベンチマークをサンプリングしたところ、Cortex Searchのハイブリッド検索アプローチは、単純なベクトル検索のみと比較して12%以上の検索向上を達成し、単純なキーワード検索を大きく上回っていることがわかりました(以下の図3を参照)。
この複雑な検索およびリランキングスタックはフルマネージド型であるため、複数の検索およびリランキングサービスのためにハイパーパラメータをつなぎ合わせて調整する必要がありません。Cortex Searchスタックの背後にある調査の詳細については、Snowflakeエンジニアリングブログで説明します。
Snowflakeの高いセキュリティおよびガバナンス基準を順守
使いやすさと優れた検索品質は重要な機能ですが、強力なセキュリティとガバナンス体制は、AIアプリケーションを開発するすべての企業にとって非常に重要であるということが分かっています。
安全:ベクトルの埋め込みや検索クエリの提供など、すべてのCortex Search操作はSnowflakeの境界内で完全に実行され、各カスタマーのデータは他から隔離されます。
ガバナンス:Cortex Searchサービスは、Snowflakeのスキーマレベルのオブジェクトであり、Snowflakeアカウントの既存のロールベースアクセス制御(RBAC)ポリシーと統合されます。つまり、他のSnowflakeオブジェクトと同様に、サービスに使用状況を付与できます。ドキュメントレベルまたはチャンクレベルのアクセス制御では、メタデータフィルタリングを使用して、クライアントが閲覧を許可された結果のみをサービスが返すようにできます。
Cortex Searchの実際のユースケース
Snowflakeのお客様は、Snowflakeで以下のようなAIを活用したさまざまな検索アプリケーションを開発しています。
- 調査および生産性アシスタント:チャットボットを企業独自のデータのコンテキストで活用すれば、大量の文書から関連情報を検索するプロセスを簡略化し、チームの効率性を高めることができます。以下のような例があります。
- - カスタマーサポート:サポート担当者が迅速かつ効率的にチケットをトリアージし、お客様の質問に対する最適な答えを見つけるための支援をする
- - 金融:財務アナリストが会社全体の収益レポートを迅速に取得、比較できるようにする
- - セールス:営業担当者に、顧客と最も関連性の高いケーススタディとピッチ資料を提供する
- - R&D:研究者が進行中の研究に関連する科学文献を見つけて合成するための支援をする
- AIを活用した検索:関連する非構造化情報を見つけるまでの時間を短縮し、最も価値のある資産をより効果的かつ効率的に活用。以下のような例があります。
- - 製品検索:製品タイトル、仕様、レビューに基づいて、オンラインカタログで製品を語彙的かつ意味的に検索
- - ドキュメント検索:テクニカル サポートと製品ドキュメンテーションのページを移動するためのサイト検索
Cortex Searchはこれからが始まりであり、Snowflakeの強力な検索機能で次に何を構築してもらえるか楽しみです。
Cortex Searchを使ってみる
現在、Cortex SearchはこれらのSnowflakeリージョンでパブリックプレビュー中ですが、まもなくさらに多くのグローバルリージョンにも展開される予定です。開始するには、以下のリソースを参照してください。