Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Snowflake Cortex Searchについて

Snowflake Cortex Searchについて

Snowflakeが提供するフルマネージドなハイブリッド検索のCortex Searchについて
社内勉強会で発表をしたので、そちらを放流したいと思います。

https://zenn.dev/churadata/articles/da7eae290b6ae4
に、Cortex Search のチュートリアル3連発をやってみたりしたので、そちらと合わせてみていただけると、理解が進むんじゃないかなーーと

Gaku TASHIRO

February 28, 2025
Tweet

More Decks by Gaku TASHIRO

Other Decks in Technology

Transcript

  1. • キーワード検索(=全文検索?) • ベクトル検索 • リランキング を実現 © 2025 Chura

    DATA inc. PROPRIETARY & CONFIDENTIAL. Cortex Searchとは① 〜フルマネージドなハイブリッド検索
  2. • 入力キーワードで完全一致 or 部分一致 • めっちゃ高速 • 同義語や文脈を理解しない • 見逃しが発生

    • 一応、あいまい検索などはあるか • tf-idf、n-gramとか © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. Cortex Searchとは① :キーワード検索の特徴
  3. • 文脈や意味など類似性を評価 • →同義語や関連概念を拾い上げる • 精度高い • →意図しないものが入り込む可能性も • 計算コスト高い

    • →高次元ベクトル計算 • 学習必要 © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. Cortex Searchとは① :ベクトル検索の特徴
  4. • データの取り込み • 埋め込み • インデックス作成 • 検索、 • リランキング

    などが全自動化 • ただし、画像内のテキスト抽出やPDFは前処理としてテ キスト抽出処理が必要 © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. Cortex Searchとは②色々自動化
  5. Cortex Searchのチュートリアルを3つやってみた https://zenn.dev/churadata/articles/da7eae290b6ae4 大まかな流れ 1. データをStageにPut 2. TableにLoad 3. CORTEX

    SEARCH SERVICEをCreate 4. Streamlit in Snowflakeで検索アプリを実装 5. 検索してみる © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 検索アプリを作ってみる
  6. 1. (内部)Stageを作る 2. Stageに取り込みファイルを置く 1. json形式 2. csv形式 3. pdf形式

    など © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 検索アプリを作ってみる:データをStageにPut
  7. 1. ファイルを解析するFunctionの作成 1. PDF→Text(PyPDF2など) 2. (OPTION)CHUNKに分割 © 2025 Chura DATA

    inc. PROPRIETARY & CONFIDENTIAL. 検索アプリを作ってみる:TableにLoad① chunkerの作成
  8. 3. テーブルへロード 1. FUNCTION:pdf_text_chunkerを使用 © 2025 Chura DATA inc. PROPRIETARY

    & CONFIDENTIAL. 検索アプリを作ってみる:TableにLoad② Tableへ
  9. 1. CREATE CORTEX SEARCH SERVICE © 2025 Chura DATA inc.

    PROPRIETARY & CONFIDENTIAL. 検索アプリを作ってみる:CORTEX SEARCH SERVICEをCreate
  10. © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 検索アプリを作ってみる:CORTEX SEARCH

    SERVICEをCreate オプション 説明 ON chunk 検索対象のカラム ATTRIBUTES 検索結果のフィルタリングに使える WAREHOUSE 検索サービスを更新するのWAREHOUSE TARGET_LAG ソースクエリで指定されたベーステーブル の更新から遅れる最大時間 EMBEDDING_M ODEL multilingual-e5-large, nv-embed-qa-4, snowflake-arctic-embed- l-v2.0, voyage-multilingual-2, e5-base-v2, snowflake-arctic- embed-m, snowflake-arctic-embed-m-v1.5 AS サービスが作成されるベース・テーブルを 定義するクエリを指定
  11. voyage-multilingual-2 だけ 32,000 参考:Snowflake のベクトル化は何を使えばいいのか? (Cortex LLM Embedding) © 2025

    Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 追加情報:トークン制限とテキスト分割
  12. Credit Consumption Table • AI Services - Serving costs •

    6.3 Credits per GB/mo of indexed data • AI Services - Embedding costs(100万トークン毎) • Cortex Embed Text 1024 – multilingual-e5-large 0.05 • Cortex Embed Text 1024 – nv-embed-qa-4 0.05 • Cortex Embed Text 1024 – snowflake-arctic-embed-l-v2.0 0.05 • Cortex Embed Text 1024 – voyage-multilingual-2 0.07 • Cortex Embed Text 768 – e5-base-v2 0.03 • Cortex Embed Text 768 – snowflake-arctic-embed-m 0.03 • Cortex Embed Text 768 – snowflake-arctic-embed-m-v1.5 0.03 © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 追加情報:コスト①
  13. • Virtual warehouse • SERVICE作成時、更新時 • → TARGET_LAG しだい •

    Storage • テーブルの容量(TBあたり) • Cloud Service • ソースオブジェクトに対して変更があった際のト リガーの料金 © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 追加情報:コスト②
  14. • Cortex Search ServiceにはMEDIUM 以下のサイズを推奨 • ウェアハウスを大きくしてもパフォーマンスが向上しない • Snowflake Cortex

    LLM 関数では、処理されるトークン の数に基づいて計算コストが発生 © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. 追加情報:利用ウェアハウス
  15. • 設定事項が少なくとてもシンプル • ニアゼロメンテナンスで楽 • 検索対象に検索したいカラムを文字列連結必要 • いにしえの全文検索の技法(?) • カラムごとの重み付けって難しそう

    • PDFやPPXからの抽出は、日本語で最適化されてない • ここは実装を待つか、外部関数を使う © 2025 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. まとめ