- Kategorien:
Zeichenfolgen- und Binärfunktionen (AI-Funktionen)
AI_PARSE_DOCUMENT¶
Bemerkung
AI_PARSE_DOCUMENT ist die aktualisierte Version von PARSE_DOCUMENT (SNOWFLAKE.CORTEX). Die neueste Funktionalität finden Sie unter AI_PARSE_DOCUMENT.
Gibt den extrahierten Inhalt eines Dokuments in einem Snowflake-Stagingbereich als JSON-formatierte Zeichenfolge zurück. Diese Funktion unterstützt zwei Arten der Extraktion: Optische Zeichenerkennung (OCR) und Layout. Weitere Informationen dazu finden Sie unter Parsen von -Dokumenten mit AI_PARSE_DOCUMENT.
Syntax¶
Argumente¶
Benötigt:
file_objectEin FILE-Objekt, das das zu parsende Dokument angibt, das in einem Snowflake-Stagingbereich gespeichert ist. Weitere Informationen zum Erstellen von Dateiobjekten finden Sie unter TO_FILE.
Optional:
optionsEin OBJECT-Wert, der Optionen für das Parsen von -Dokumenten enthält. Die unterstützten Schlüssel sind unten aufgeführt. Alle sind optional.
'extract_images': Bei Einstellung TRUE extrahiert die Funktion die im Dokument eingebetteten Bilder. Erfordert LAYOUT-Modus'mode': Gibt den Parsing-Modus an. Folgende Modi werden unterstützt:'OCR': Die Funktion extrahiert nur Text. Dies ist der Standardmodus.'LAYOUT': Die Funktion extrahiert sowohl das Layout als auch Text, einschließlich struktureller Inhalte wie Tabellen.
'page_split': Wenn auf TRUE gesetzt, teilt die Funktion das Dokument in Seiten auf und verarbeitet jede Seite separat. Dieses Feature unterstützt nur Dokumente im PDF-, PowerPoint (.pptx)- und Word (.docx)-Format. Dokumente in anderen Formaten geben einen Fehler zurück. Der Standardwert ist FALSE.Tipp
Zum Verarbeiten von langen Dokumenten, die die Token-Limit von AI_PARSE_DOCUMENT überschreiten, setzen Sie diese Option auf TRUE.
'page_filter': Ein Array, das Bereiche von Seiten eines mehrseitigen Dokuments angibt, die verarbeitet werden sollen. Jeder Bereich ist ein Objekt mitstart- undend-Feldern, die die erste (inklusive) und letzte (exklusive) Seite im Bereich angeben. Seitenindizes beginnen bei 0. Beispiel:{'start': 0, 'end': 1}gibt die erste Seite des Dokuments an.Bemerkung
Die Angabe von
page_filterimpliziertpage_split. Wenn Sie Seitenbereiche angeben, ist es nicht notwendig, auchpage_splitfestzulegen.
return_error_detailsEin BOOLEAN Flag, das angibt, ob im Fehlerfall Fehlerdetails zurückgegeben werden sollen. Wenn auf TRUE gesetzt, gibt die Funktion ein OBJECT zurück, das die Felder
value,errorundmetadataenthält. Das Feldvalueenthält die analysierten Dokumentdaten, das Feld``error`` die Fehlermeldung (oderNULL bei Erfolg) undmetadataist ein Feld der obersten Ebene und kein Unterfeld der analysierten Ausgabe. Siehe Fehlerverhalten für Details.
Rückgabewerte¶
Ein JSON-Objekt (als Zeichenfolge), das die extrahierten Daten und die zugehörigen Metadaten enthält. Das options-Argument bestimmt die Struktur des zurückgegebenen Objekts.
Tipp
Um die Ausgabe inSQL zu verwenden, konvertieren Sie es anhand der PARSE_JSON-Funktion in einen OBJECT-Wert.
Wenn die 'page_split'-Option festgelegt ist, hat die Ausgabe die folgende Struktur:
"pages": Ein Array von JSON-Objekten, die jeweils Text enthalten, der aus dem Dokument extrahiert wurde. Wenn das Dokument nur eine Seite hat, enthält die Ausgabe trotzdem ein"pages"-Array (das ein einzelnes Objekt enthält). Jede Seite hat die folgenden Felder:
"content": Klartext (im OCR-Modus) oder Markdown-formatierter Text (im LAYOUT-Modus).
"index": Der Seitenindex in der Datei, beginnend bei 0. Die im Dokument angegebenen Seitenzahlen und Formate werden ignoriert.
"metadata": Enthält Metadaten zum Dokument, z. B. die Seitenanzahl.
Wenn 'page_split' FALSE oder nicht vorhanden ist, hat die Ausgabe die folgende Struktur:
"content": Klartext (im OCR-Modus) oder Markdown-formatierter Text (im LAYOUT-Modus).
"metadata": Enthält Metadaten zum Dokument, z. B. die Seitenanzahl.
Wenn die Option "extract_images" auf TRUE gesetzt ist, enthält die Ausgabe ein zusätzliches Feld:
"images": Ein Array von JSON-Objekten, die jeweils ein extrahiertes Bild darstellen. Jedes Objekt hat die folgenden Felder:
"id": Ein eindeutiger Bezeichner für das Bild.
"top_left_x","top_left_y","bottom_right_x","bottom_right_y": Die Koordinaten des Begrenzungsrahmens des Bildes auf der Seite.
"image_base64": Die extrahierten Bilddaten, die als base64-Zeichenfolge codiert sind.
Fehlerverhalten¶
Wenn AI_PARSE_DOCUMENT die Eingabe nicht verarbeiten kann, gibt die Funktion standardmäßig NULL zurück. Wenn die Abfrage mehrere Zeilen verarbeitet, geben Zeilen mit Fehlern NULL zurück, verhindern aber nicht, dass die Abfrage abgeschlossen wird.
Der Rückgabewert hängt bei einem Fehler vom return_error_details-Argument ab. Die folgende Tabelle zeigt den Rückgabewert in Abhängigkeit von dem return_error_details-Argument:
return_error_detailsRückgabewert
Beschreibung
FALSENicht übergebenNULL
TRUE
OBJECT mit den Feldern
value,errorundmetadatavalue: Ein OBJECT, das die analysierten Dokumentdaten enthält, oder NULL, wenn ein Fehler aufgetreten ist.error: Ein VARCHAR -Wert, der bei Auftreten eines Fehlers die Fehlermeldung enthält, oder NULL, wenn die Funktion erfolgreich war. Das Felderrorinvalue(umbenannt vonerrorInformation) enthält, sofern vorhanden, Fehlerdetails pro Dokument.metadata: Ein OBJECT mit Dokument-Metadaten, wie z. B. der Seitenzahl. Dieses Feld befindet sich auf der obersten Ebene und nicht innerhalb der analysierten Ausgabe.
Weitere Informationen zur Fehlerbehandlung für AI-Funktionen finden Sie unter Snowflake Cortex AI Function: Multirow error handling improvements.
Beispiele¶
Weitere Beispiele finden Sie unter AI_PARSE_DOCUMENT-Beispiele.