カテゴリ:

:doc:`/sql-reference/functions-string`(AI 関数)

AI_PARSE_DOCUMENT

注釈

AI_PARSE_DOCUMENT は PARSE_DOCUMENT (SNOWFLAKE.CORTEX) の更新されたバージョンです。最新の関数については、 AI_PARSE_DOCUMENT を使用してください。

Snowflakeステージ上のドキュメントから抽出したコンテンツを JSON形式の文字列として返します。この関数は、2つのタイプの抽出をサポートしています。光学式文字認識(OCR)、およびレイアウト。詳細については、 AISQL に AI_PARSE_DOCUMENT をご参照ください。

構文

AI_PARSE_DOCUMENT( '@<stage>', '<path>', [ <options> ] )
Copy

引数

必須:

stage

解析するドキュメントを含むSnowflakeステージの名前。これは、サーバー側の暗号化を使用する内部ステージまたは外部ステージであり、関数を実行するユーザーがアクセスできる必要があります。

path

Snowflakeステージ上のドキュメントへの相対パス。

オプション:

options

ドキュメントを解析するためのオプションを含む OBJECT 値。サポートされているキーは以下のとおりです。すべてオプションです。

  • 'mode':解析モードを指定します。サポートされているモードは次のとおりです。

    • 'OCR':関数はテキストのみを抽出します。これがデフォルトのモードです。

    • 'LAYOUT':関数は、テーブルなどの構造化されたコンテンツを含むレイアウトとテキストを抽出します。

  • 'page_split':TRUE に設定されている場合、関数はドキュメントをページに分割し、各ページを個別に処理します。この機能は PDF、PowerPoint(.pptx)、およびWord(.docx)ドキュメントのみをサポートしています。他の形式のドキュメントはエラーを返します。デフォルトは FALSE です。

    Tip

    AI_PARSE_DOCUMENT のトークン制限を超える長いドキュメントを処理するには、このオプションを TRUE に設定します。

戻り値

抽出されたデータと関連するメタデータを含む JSON オブジェクト(文字列として)。options 引数は、返されるオブジェクトの構造を決定します。

Tip

SQL で出力を使用するには、PARSE_JSON 関数を使用して OBJECT 値に変換します。

'page_split' オプションが設定されている場合、出力は次のような構造になります。

  • "pages":JSON オブジェクトの配列。それぞれにドキュメントから抽出されたテキストが含まれます。ドキュメントが1ページのみである場合、出力には引き続き "pages" 配列(単一のオブジェクトを含む)が含まれます。各ページには以下のフィールドがあります。

    • "content":プレーンテキスト(OCR モード)またはMarkdown形式のテキスト(LAYOUT モード)。

    • "index":0から始まるファイルのページインデックス。ドキュメントで指定されたページ番号と形式は無視されます。

  • "errorInformation":ドキュメントが解析できない場合はエラー情報が含まれています。

  • "metadata":ページ数など、ドキュメントに関するメタデータが含まれます。

注釈

"pages" フィールドおよび "metadata" フィールドは、解析が成功すると出力に表示されます。"errorInformation" は、解析が失敗した場合にのみ表示されます。

'page_split' が FALSE の場合、または存在しない場合、出力は次の構造になります。

  • "content":プレーンテキスト(OCR モード)またはMarkdown形式のテキスト(LAYOUT モード)。

  • "errorInformation":ドキュメントが解析できない場合はエラー情報が含まれます。

  • "metadata":ページ数など、ドキュメントに関するメタデータが含まれます。

注釈

"content" フィールドおよび "metadata" フィールドは、解析が成功すると出力に表示されます。"errorInformation" は、解析が失敗した場合にのみ表示されます。

例については、AI_PARSE_DOCUMENT の例 をご参照ください。

制限事項

Snowflake Cortex関数は動的テーブルをサポートしていません。