Snowflake Document Processing Playground でドキュメント処理を体験しよう
はじめに
この記事は Snowflake Advent Calendar 2025 シリーズ1、17日目 の記事です!年末に向けて Snowflake コミュニティを盛り上げていきましょう!他の日程の記事もぜひご覧ください🎅
企業には契約書、請求書、マニュアル、報告書など、膨大な量のドキュメントが存在しています。これらのドキュメントには重要なビジネス情報が含まれていますが、PDF や画像形式で保存されていることが多く、また構造化されていないためデータ分析や活用の流れに組み込むことが難しいというのが現状ではないでしょうか。
Snowflake では、このような非構造化ドキュメントからデータを抽出するための機能として AI_PARSE_DOCUMENT 関数 と AI_EXTRACT 関数 を提供しています。これらの関数を使えば、SQL クエリ一つでドキュメントからテキストやレイアウト情報を抽出したり、特定の情報を質問形式で取り出したりすることができます。
しかし、「実際にどのような出力が得られるのか?」「自社のドキュメントでうまく機能するのか?」「どうやって使えばいいのか?」といった疑問を持たれる方も多いのではないでしょうか。
そこで今回ご紹介するのが Document Processing Playground です!この機能を使えば、AI_PARSE_DOCUMENT 関数と AI_EXTRACT 関数の動作を GUI (Snowsight) 上で直感的に試すことができ、さらに 実際の SQL クエリも自動生成 されるため、すぐに実装に移ることができます。日本語ドキュメントにも対応しているため、国内企業のドキュメント処理にも活用できるのが嬉しいポイントです。
Document Processing Playground とは
Document Processing Playground は、Snowflake AI Studio 内で提供される ドキュメント処理機能の検証環境 です。ステージにアップロードしたドキュメントに対して、AI_EXTRACT 関数と AI_PARSE_DOCUMENT 関数の動作を視覚的に確認することができます。
主な特徴
| 特徴 | 説明 |
|---|---|
| GUI ベースの操作 | SQL を書かずにドキュメント処理機能を試すことができる |
| 3つの処理モード | 抽出 (Extract)、Markdown (レイアウト抽出)、Text (OCR) の3つのタブで結果を確認 |
| クエリの自動生成 | 試した内容に対応する SQL クエリが自動生成され、そのままワークスペースで再利用可能 |
| 複数ドキュメント対応 | 最大10件のドキュメントを同時にアップロードして処理可能 |
| 日本語対応 | 日本語ドキュメントの処理にも対応 |
AI_PARSE_DOCUMENT 関数と AI_EXTRACT 関数
Document Processing Playground の裏側で動作している2つの関数について、簡単にご説明します。
AI_PARSE_DOCUMENT 関数
AI_PARSE_DOCUMENT 関数は、ドキュメントからテキストとレイアウト情報を高精度で抽出するための関数です。以下の2つのモードを提供しています:
- LAYOUT モード: テーブル、ヘッダー、読み取り順序などのレイアウト要素を保持しながらテキストを抽出し、Markdown 形式で出力
- OCR モード: シンプルなテキスト抽出に最適化されており、マニュアルや契約書などのテキスト中心のドキュメントに適している
AI_EXTRACT 関数
AI_EXTRACT 関数は、ドキュメントに対して 質問形式で特定の情報を抽出 できる関数です。例えば「会社名は?」「契約日は?」といった質問を投げかけることで、ドキュメントから該当する情報を取り出すことができます。つまりドキュメントを構造的なデータとして扱いたい場合に役立つ機能です。
なぜ Document Processing Playground が重要なのか
Document Processing Playground は以下の価値を提供します:
- 学習コストの削減: SQL 構文を覚えなくても、まずは GUI でドキュメント処理機能の動作を理解できる
- 事前検証の効率化: 自社ドキュメントで AI_PARSE_DOCUMENT や AI_EXTRACT がどの程度機能するかを、実装前に確認できる
- 開発効率の向上: 試した内容に対応する SQL クエリが自動生成されるため、検証からコード化までのギャップが無い
- 日本語ドキュメント対応: 英語だけでなく日本語ドキュメントでも動作するため、日本企業においても活用しやすい
Document Processing Playground の使い方
ここからは、Document Processing Playground の具体的な使い方をステップバイステップで解説していきます。
前提条件
Document Processing Playground を使用するには、以下の条件を満たす必要があります:
- Snowflake アカウント: 任意のエディションで利用可能
-
権限:
SNOWFLAKE.CORTEX_USERデータベースロールが付与されていること - ドキュメントの準備: 処理したいドキュメント (PDF、DOCX、PPTX、画像など) をステージにアップロード済みであること
Step 1: ステージの作成とドキュメントのアップロード
まず、ドキュメントを保存するためのステージを作成し、処理したいドキュメントをアップロードします。
-- ステージの作成
CREATE OR REPLACE STAGE doc_stage
ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE')
DIRECTORY = (ENABLE = TRUE);
-- ステージへのファイルアップロードは Snowsight の UI から行うか、
-- PUT コマンドを使用します
Snowsight からステージにファイルをアップロードする場合は、左ペインから『カタログ』→『データベースエクスプローラー』→ 対象のデータベース/スキーマ → 『ステージ』→ 作成したステージを選択し、右上の『+ ファイル』ボタンからアップロードできます。
今回は以下の2つの日本語ドキュメントをアップロードして検証を行いました:
- スライド資料: 私が Snowflake BUILD JAPAN で登壇した際に使用したプレゼンテーション資料 (PDF形式)
- 顧客管理スプレッドシート: スプレッドシートを PDF 形式で保存したもの


ステージへのファイルアップロード画面
Step 2: Document Processing Playground へのアクセス
- Snowsight にログインします
- 左ペインから『Cortex AI』→『AI Studio』をクリックします
- Studio 内の『ドキュメント処理プレイグラウンド』を見つけ、『開く』をクリックします

AI Studio のメイン画面
Step 3: ドキュメントの選択
- 『ステージから追加』ボタンをクリックします
- ドキュメントが保存されているデータベース、スキーマ、ステージを選択します
- 処理したいドキュメントファイルを選択します (最大10件まで選択可能)
- 『プレイグラウンドを開く』をクリックしてプレイグラウンドを開きます


ドキュメント選択ダイアログ
Step 4: ドキュメント処理の実行
プレイグラウンドが開くと、右側にドキュメントのプレビュー、左側にプロンプト入力エリアが表示されます。

Document Processing Playground のメイン画面
抽出タブ:情報抽出
『抽出』タブでは、AI_EXTRACT 関数を使った情報抽出を試すことができます。
- キー (抽出したい情報の名前) と 質問 (質問文) のペアを入力します
- 抽出タイプを選択します (「質問する」「リスト」「テーブルを抽出」の3種類)
- 『プロンプトを追加』をクリックして追加します
- 抽出結果が表示されます
例えば、スライド資料に対して以下のような質問を投げかけることができます。main_features では「リスト」形式を使用して複数の項目を抽出しています:
| キー | 抽出タイプ | 質問 | 抽出結果 |
|---|---|---|---|
presenter_organization_name |
質問する | このプレゼンテーションの発表者の所属部署名は何ですか? | ソリューションエンジニアリング統括本部 |
presentation_title |
質問する | このプレゼンテーションのタイトルは? | Snowflake で実現するデータ活用の未来: Snowflake Intelligence と Snowflake Managed MCP Server によるエージェント型分析 |
main_features |
リスト | このプレゼンテーションで紹介する機能は? | Snowflake Intelligence Snowflake Managed MCP Server |

抽出タブの使用例 (スライド資料)
顧客管理スプレッドシートに対しては、「リスト」形式を使用して列名を抽出してみました:
| キー | 抽出タイプ | 質問 | 抽出結果 |
|---|---|---|---|
columns |
リスト | このスプレッドシートにはどのような列がありますか? | 顧客ID 会社名 担当者名 業種 連絡先電話番号 メールアドレス 所在地 (都道府県) 契約ステータス 最終コンタクト日 次回アクション |

抽出タブの使用例 (顧客管理スプレッドシート)
Markdown タブ:レイアウト抽出
『Markdown』タブでは、AI_PARSE_DOCUMENT 関数の LAYOUT モード の結果を確認できます。ドキュメントの構造 (テーブル、見出し、段落など) を保持した Markdown 形式での出力が表示されます。
特に顧客管理スプレッドシートでは、テーブル構造が Markdown のテーブル形式で再現されていることを確認できました。

Markdown タブの表示結果
Text タブ:OCR 結果
『Text』タブでは、AI_PARSE_DOCUMENT 関数の OCR モード の結果を確認できます。ドキュメントから抽出されたプレーンテキストが表示されます。
日本語テキストも高い精度で認識され、プレーンテキストとして正確に抽出されていることを確認できました。

Text タブの表示結果
Step 5: コードスニペットの取得と再利用
抽出タブで少なくとも1つの質問を追加すると、『コードスニペット』ボタンから実際のコードを取得できます。SQL だけでなく Python のコードも取得可能 なので、お好みの開発環境ですぐに活用できます。
- 画面右上の『コードスニペット』をクリックします
- AI_EXTRACT 関数と AI_PARSE_DOCUMENT 関数の SQL / Python コードが表示されます
- 『ワークスペースで開く』をクリックすると、新しいワークスペースでクエリを開くことができます


コードスニペットの表示
生成されるクエリの例:
-- AI_EXTRACT の例
SELECT AI_EXTRACT(
TO_FILE('@doc_stage', 'sample_document.pdf'),
{
'company_name': 'この書類に記載されている会社名は何ですか?',
'contract_date': '契約日はいつですか?'
}
) AS extraction_result;
-- AI_PARSE_DOCUMENT の例 (LAYOUT モード)
SELECT AI_PARSE_DOCUMENT(
TO_FILE('@doc_stage', 'sample_document.pdf'),
{'mode': 'LAYOUT'}
) AS parsed_document;
-- AI_PARSE_DOCUMENT の例 (OCR モード)
SELECT AI_PARSE_DOCUMENT(
TO_FILE('@doc_stage', 'sample_document.pdf'),
{'mode': 'OCR'}
) AS ocr_result;
対応ドキュメント形式と制限事項
AI_EXTRACT 関数と AI_PARSE_DOCUMENT 関数では、対応しているドキュメント形式や言語が異なります。また、これらの対応は今後も拡充されていく可能性がありますので、最新情報は公式ドキュメントをご確認ください。
AI_EXTRACT 関数
対応ドキュメント形式
| フォーマット | 説明 |
|---|---|
| 最も一般的なドキュメント形式 | |
| DOC / DOCX | Microsoft Word 形式 |
| PPT / PPTX | Microsoft PowerPoint 形式 |
| JPEG / JPG | 画像形式 |
| PNG | 画像形式 |
| TIF / TIFF | 画像形式 |
| BMP / GIF / WEBP | 画像形式 |
| HTM / HTML | Web ページ形式 |
| TEXT / TXT | プレーンテキスト形式 |
| MD | Markdown 形式 |
| EML | メール形式 |
対応言語
日本語、英語、中国語、韓国語、フランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語、オランダ語、ロシア語、アラビア語、ヒンディー語、ベンガル語、インドネシア語、タイ語、ベトナム語、トルコ語、ポーランド語、チェコ語、ペルシャ語、ヘブライ語、マレー語、タガログ語、セブアノ語、ビルマ語、クメール語、ラオ語、ウルドゥー語 など 30言語以上
制限事項
| 制限項目 | 詳細 |
|---|---|
| 最大ファイルサイズ | 100MB |
| 最大ページ数 | 125ページ |
| エンティティ抽出の質問数 | 最大100件/クエリ |
| テーブル抽出の質問数 | 最大10件/クエリ |
AI_PARSE_DOCUMENT 関数
📄 AI_PARSE_DOCUMENT 関数の公式ドキュメント
対応ドキュメント形式
| フォーマット | 説明 |
|---|---|
| 最も一般的なドキュメント形式 | |
| DOCX | Microsoft Word 形式 |
| PPTX | Microsoft PowerPoint 形式 |
| JPEG / JPG | 画像形式 (1ページとして処理) |
| PNG | 画像形式 (1ページとして処理) |
| TIF / TIFF | 画像形式 (1ページとして処理) |
| HTML | Web ページ形式 |
| TXT | プレーンテキスト形式 |
対応言語
日本語、英語、フランス語、ドイツ語、ヒンディー語、イタリア語、ポルトガル語、ルーマニア語、ロシア語、スペイン語、トルコ語、ウクライナ語 の 12言語
制限事項
| 制限項目 | 詳細 |
|---|---|
| 最大ファイルサイズ | 100MB |
| 最大ページ数 | 500ページ |
| 最大ページサイズ | 50x50 インチ (3600x3600 pt) |
| 最大画像解像度 | 10000x10000 ピクセル |
Playground での制限
| 制限項目 | 詳細 |
|---|---|
| 同時選択ドキュメント数 | 最大10件 |
ビジネス活用シーン
Document Processing Playground で検証し、AI_PARSE_DOCUMENT や AI_EXTRACT を活用できる代表的なビジネスシーンをご紹介します:
1. 請求書・領収書の自動処理
経理部門での請求書処理を効率化できます。AI_EXTRACT 関数で請求日、金額、取引先名などを自動抽出し、経費精算システムやデータウェアハウスに取り込むことが可能です。
2. 契約書管理の効率化
法務部門での契約書管理において、契約日、契約期間、当事者名、金額条項などを自動抽出。大量の契約書から必要な情報を迅速に検索・分析できるようになります。
3. RAG (検索拡張生成) パイプラインの構築
AI_PARSE_DOCUMENT の LAYOUT モードで抽出した Markdown テキストを Cortex Search に取り込むことで、ドキュメントベースの RAG チャットアプリを構築できます。社内マニュアルや技術文書を AI で検索・回答できるようになります。
4. 多言語ドキュメントの一元管理
AI_EXTRACT は30言語以上、AI_PARSE_DOCUMENT は12言語に対応しているため、グローバル企業での多言語ドキュメント処理を統一的に行うことが可能です。各国の支社から届くドキュメントを同じパイプラインで処理できます。
5. 過去文書のデジタル化
紙でしか残っていない過去の重要文書をスキャンし、AI_PARSE_DOCUMENT でテキスト化することで、検索可能なデジタルアーカイブを構築できます。
コストについて
AI_PARSE_DOCUMENT 関数の課金は ページ単位 で行われます:
| ドキュメント形式 | 課金単位 |
|---|---|
| PDF、DOCX、PPTX | ドキュメント内の各ページが1ページとしてカウント |
| 画像形式 (JPEG, PNG, TIF) | 各画像ファイルが1ページとしてカウント |
| HTML、TXT | 3,000文字ごとに1ページとしてカウント |
詳細な料金については Snowflake Service Consumption Table をご参照ください。
最後に
Document Processing Playground は、ドキュメント処理 AI 機能への入り口 として非常に優れたツールです。SQL を書かずに AI_PARSE_DOCUMENT 関数と AI_EXTRACT 関数の動作を視覚的に確認でき、さらに実際の SQL クエリも自動生成されるため、検証から実装までのギャップを最小限に抑える ことができます。
特に以下の点で大きな価値があります:
- 学習コストの削減: GUI による直感的な操作で、まずは機能の動作を理解できる
- 事前検証の効率化: 自社ドキュメントでの動作確認が容易
- 開発効率の向上: 検証結果をそのままコード化できる
- 日本語対応: 国内企業のドキュメント処理にも活用可能
企業には眠っている非構造化ドキュメントが数多く存在しています。これらのドキュメントを Snowflake を通じてデータ活用の流れに合流させる ことで、新たなビジネス価値を生み出すことができるのではないでしょうか。まずは Document Processing Playground で、自社ドキュメントの処理を試してみてください!
宣伝
SNOWFLAKE DISCOVER でバーチャルハンズオンをデリバリしました!
2025/7/8-9に開催されました Snowflake のエンジニア向け大規模ウェビナー『SNOWFLAKE DISCOVER 第2弾』において『Snowflake Cortex AI で実現する次世代の VoC (顧客の声) 分析』という実践的なバーチャルハンズオンをデリバリさせていただきました。多くの業種で関連する顧客の声を Snowflake の最新機能を用いて分析する方法を体感いただけますので、是非非構造化データの分析のヒントを得たい方はご視聴いただければ幸いです!
以下リンクでご登録いただけるとオンデマンドですぐにご視聴いただくことが可能です。
SNOWFLAKE DISCOVER で登壇しました!
2025/4/24-25に開催されました Snowflake のエンジニア向け大規模ウェビナー『SNOWFLAKE DISCOVER』において『ゼロから始めるSnowflake:モダンなデータ&AIプラットフォームの構築』という一番最初のセッションで登壇しました。Snowflake の概要から最新状況まで可能な限り分かりやすく説明しておりますので是非キャッチアップにご活用いただければ嬉しいです!
以下リンクでご登録いただけるとオンデマンドですぐにご視聴いただくことが可能です。

生成AI Conf 様の Webinar で登壇しました!
『生成AI時代を支えるプラットフォーム』というテーマの Webinar で NVIDIA 様、古巣の AWS 様と共に Snowflake 社員としてデータ*AI をテーマに LTをしました!以下が動画アーカイブとなりますので是非ご視聴いただければ幸いです!
X で Snowflake の What's new の配信してます
X で Snowflake の What's new の更新情報を配信しておりますので、是非お気軽にフォローしていただければ嬉しいです。
日本語版
Snowflake の What's New Bot (日本語版)
English Version
Snowflake What's New Bot (English Version)
変更履歴
(20251217) 新規投稿

Discussion