インテリジェントな文書処理に Genie Code を使用する
Genie Code は、パース、分類、抽出、検証をオーケストレーションすることで、ドキュメント処理パイプラインをエンドツーエンドで構築します。非構造化PDF、契約書、請求書を指定すると、ラベル付きデータに対して品質が評価され、反復的に改善されるため、パイプラインの本番運用準備が整ったかどうかを判断できます。
要件
ドキュメント処理にGenie Codeを使用するには:
- Genie Codeのエージェント機能の要件を満たします。
- AI Functionsの要件を満たしていることを確認します。ドキュメント処理関数(
ai_parse_document、ai_extract、ai_classify)は、サポートされているリージョンのServerlessコンピュートまたはSQL Warehouse上で実行されます。 - ソースドキュメント用のボリュームと結果用のスキーマへのUnity Catalogアクセス権を持ちます。
Genie Code を使用してドキュメント処理パイプラインを構築する
- Jobs & Pipelines ページまたは SQL エディターで Open Genie Code をクリックします。
- 目標を述べて、ソースを指定します。 ボリューム、テーブル、ファイルを参照します。
- 構築を任せましょう。 Genie Codeに十分な情報が集まったら、ベストプラクティスに従ってLakeFlow Jobを構築します。
- 確認して実行します。 生成された SQL とタスクを確認し、必要に応じて編集し、準備ができたらジョブを実行します。
- 小さく始めて、スケールします。 サンプルでランを実行し、出力を確認し、品質を評価し、完全なデータセットを処理する前に反復処理を行います。
Genie Codeで何ができるのですか?
エンドツーエンドのドキュメント処理ジョブを構築する
結果を指定すると、Genie Code は目的のステージのみを使用して、完全な Lakeflow Job を構築します。
- ボリューム内の ソース ファイルを検出し、その識別情報と変更を追跡します。
ai_parse_documentを使用してドキュメントを構造化コンテンツ(テキスト、表、図、ページ Layout)に パース します。ai_classifyを使用して、各ドキュメントを独自のラベルに 分類 します(例:アフィリエイト、マーケティング、コンサルティング契約)。ai_extractを使用して、引用や信頼度スコアを含め、スキーマに対する構造化フィールドを抽出します。- クリーンで構造化された出力を Unity Catalog テーブルに パブリッシュ します。
各 AI 関数は独自のタスクであるため、ジョブのモジュール性が維持され、後から再実行、バックフィル、または編集を行うことができます。
評価とヒルクライミングによる抽出品質の向上
Genie Code は、品質を推測で済ませるものではなく、測定するものとして扱います。期待される出力のラベル付きテーブルが与えられると、フィールドレベルの評価を実行し、ループを閉じます。
- メジャー。 どのフィールドに問題があるのかを正確に把握できるように、現在の抽出をフィールドごとにスコアリングします。
- 改善します。 Genie Codeは修正案を提案します。多くの場合、より詳細なフィールド説明であり、適用する前に承認できるレビュー可能な差分として表示されます。
- 再評価。 承認された変更ごとに評価セットが再実行され、変更前と変更後の結果が表示されるため、改善と回帰の両方が目に見えるようになります。
品質が基準を満たすまでループが繰り返されるため、もっともらしく見える出力ではなく、スコアや信頼度から準備状況を判断します。
結果の検証と例外のルーティング
Genie Code は、パイプラインに品質ゲートを組み込みます。決定的なチェック(スキーマ、必須フィールド、合計)、モデルの信頼度、およびビジネスルールを組み合わせて通過するデータを決定し、失敗した行を可視化された状態で保持します。
ドキュメントを視覚的にデバッグする
Genie Code は Document Parsing UI を開き、レンダリングされたページを解析済みのコンテンツおよび抽出されたフィールドの横に表示します。これを使用して不正な結果を特定します。解析された出力でテキストが欠落しているか文字化けしている場合、問題は解析またはソースファイルにあります。テキストが解析されたにもかかわらずフィールドが間違っている場合、問題は抽出にあります。いずれにせよ、スケールアップする前に実際のドキュメントで確認してください。
既存のパイプラインを検査およびトラブルシューティングする
Genie Codeは、新規のパイプラインだけでなく、すでに所有しているパイプラインに対しても機能します。ジョブの説明、変更を加えることなくその設計やコストのレビュー、失敗または遅延しているステージの根本原因の特定を行い、正常に動作している部分はそのままにして最小限の修正を行うことができます。
プロンプトの例
エンドツーエンドのパイプラインを構築する
- "Contractsは
@my_catalog.raw.contractsに着地します。各契約をアフィリエイト、マーケティング、コンサルティング、ホスティング、エスクローに分類し、各タイプの契約に重要なフィールドを抽出し、ゴールドテーブルに書き込む日次ジョブを構築します。" - "
@my_catalog.raw.invoicesにスキャンされた請求書のボリュームがあります。それらを解析し、ベンダー、請求書番号、明細項目、合計を抽出して、結果をテーブルに書き込むジョブを構築します。"
評価とヒルクライミングによる品質の向上
- "これが何百万もの行に対して実行するのに十分な品質であることをどうすれば確認できますか?ラベル付きテーブル
@my_catalog.default.eval_tableに対して抽出を評価し、どのフィールドの精度が最も低いかを教えてください。" - "
invoice_total"フィールドの精度をさらに高めることができます。スキーマと指示を反復的に改善し、評価を再実行し、変更前と変更後を表示してください。 - 「評価結果からフィールドごとに信頼度のthresholdを設定し、信頼度の低い行をレビューにルーティングします。」
結果の検証と例外のルーティング
- 「必須フィールドをチェックし、明細の合計が請求書の合計と一致するかどうかを確認する検証を追加し、失敗した行を保持します。」
- "ビジネスルール(例:給与を超える納税額)を満たさないドキュメントを、人間によるレビューのために別のテーブルに隔離します。"
ドキュメントを視覚的にデバッグする
- "解析された結果を確認できるように、これらのPDFの解析結果を元のページの横に表示してください。"
- "一部のコンサルティング契約で発効日が誤っています。解析の問題か抽出の問題かを見分けられるように、解析済みビューを開いてください。"
既存のパイプラインを検査およびトラブルシューティングする
- "この文書処理ジョブ内の各タスクの動作と、結果の書き込み先について説明します。"
- "この解析タスクでエラーが発生し始めました。最近のランの出力から原因を突き止め、最小限の修正を推奨します。"
- 「このドキュメント処理パイプラインの設計をベストプラクティスに照らし合わせて確認し、完全なデータセットに対して実行する準備ができているかどうかを教えてください。」