Cortex PARSE_DOCUMENT¶
Die PARSE_DOCUMENT-Funktion ist eine Cortex-AI AISQL-Funktionen, die die Möglichkeit bietet, Text, Daten und Layoutelemente aus Dokumenten zu extrahieren. Sie können PARSE_DOCUMENT verwenden, um Text aus verschiedenen Dokumenten und Formularen zu extrahieren, um Folgendes zu realisieren:
RAG-Pipelines für Cortex Search
LLM-Verarbeitung wie Dokumentenzusammenfassung oder Übersetzung mit Cortex AI-Funktionen
Extraktion von Zero-Shot-Entitäten mit strukturierten Cortex AI-Ausgaben
Wie funktioniert PARSE_DOCUMENT?¶
Die PARSE_DOCUMENT-Funktion bietet zwei Modi für die Verarbeitung von PDF-Dokumenten:
Der Modus OCR ist die empfohlene Option für die schnelle, qualitativ hochwertige Textextraktion aus Dokumenten wie Handbüchern, Verträgen, Produktdetailseiten, Versicherungspolicen und -ansprüchen sowie SharePoint-Dokumenten.
Der Modus LAYOUT ist für die Extraktion von Text und Layoutelementen wie Tabellen optimiert. Dies ist die empfohlene Option zur Verbesserung des Kontexts einer Dokument-Wissensdatenbank, um die Abrufinformationssystemen zu optimieren, und für die Inferenz des Large Language Model (LLM).
Bemerkung
Der Layout-Modus PARSE_DOCUMENT befindet sich derzeit in der Vorschau. Der OCR-Modus ist in den meisten Regionen allgemein verfügbar.
Verwenden von PARSE_DOCUMENT¶
Cortex PARSE_DOCUMENT ist eine SQL-Funktion. Da es vollständig von Snowflake gehostet und verwaltet wird, ist für die Nutzung kein Setup erforderlich. Richten Sie die PARSE_DOCUMENT-Funktion auf einen Stagingbereich, der Ihre PDF-Dokumente enthält, um Daten aus ihnen zu extrahieren. Das folgende Beispiel extrahiert die Text- und Layoutinformationen aus der Datei document_1.pdf
im documents
-Stagingbereich in der Datenbank parse_document
und im Schema demo
.
Bemerkung
PARSE_DOCUMENT ist derzeit nicht mit den benutzerdefinierten von Netzwerkrichtlinien kompatibel.
SELECT
SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
@parse_document.demo.documents,
'document_1.pdf',
{'mode': 'LAYOUT'}
) AS layout;
Einen Stagingbereich für die Dokumentenverarbeitung erstellen¶
Erstellen Sie einen internen oder externen Stagingbereich, um die zu verarbeitenden Dokumente zu speichern. Aktivieren Sie bei der Erstellung Ihres Stagingbereichs Serverseitige Verschlüsselung. Andernfalls gibt PARSE_DOCUMENT einen Fehler zurück, dass die angegebene Datei nicht das erwartete Format hat oder clientseitig verschlüsselt ist.
Das folgende SQL erstellt einen geeigneten internen Stagingbereich.
CREATE OR REPLACE STAGE input_stage
DIRECTORY = ( ENABLE = true )
ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
Das folgende SQL erstellt einen externen Stagingbereich auf Amazon S3. Auch die externen Stagingbereiche von Azure und GCP werden unterstützt.
CREATE OR REPLACE STAGE input_stage
URL='s3://<s3-path>/'
CREDENTIALS=(AWS_KEY_ID=<aws_key_id>
AWS_SECRET_KEY=<aws_secret_key>)
ENCRYPTION=( TYPE = 'AWS_SSE_S3' );
Bemerkung
Die Verarbeitung von Dateien aus Stagingbereichen ist derzeit nicht mit benutzerdefinierten Netzwerkrichtlinien kompatibel.
Tipp
Wenn Sie von einem externen Stagingbereich die Fehlermeldung „Ablauf in Sekunden für AWS-Rolle ist ungültig“ erhalten, vergewissern Sie sich, dass die vorgegebene URL-Ablaufzeit korrekt eingestellt ist. Der Standardwert dieses Kontoparameters ist für interne Stagingbereiche optimiert, aber es gibt eine Option, ihn für externe Stagingbereiche anzupassen. Um sie zu ändern, wenden Sie sich an den Snowflake-Support.
Beispiel¶
In diesem Beispiel wird PARSE_DOCUMENTim Modus OCR verwendet, um Text aus der ersten Seite eines Wetterversicherungsdokuments zu extrahieren (siehe unten).

Um dieses Dokument zu analysieren, laden Sie es in einen Stagingbereich namens document_stage
hoch und führen die folgende Abfrage aus:
SELECT SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
@document_stage,
'weather_policy.pdf'
) AS weather_policy_doc
Die Rohfassung der Antwort von PARSE_DOCUMENT lautet wie folgt:
{
"content": "SOME INSURANCE COMPANY\nWEATHER PROTECTION INSURANCE POLICY\nPolicy Number: WP-2025-789456\nEffective Date: April 1, 2025\nExpiration Date: April 1, 2026\nNAMED INSURED AND PROPERTY:\nJohn and Mary Homeowner\n123 Shelter Lane\nWeatherton, ST 12345\n
SECTION I - DEFINITIONS\nThroughout this policy, \"you\" and \"your\" refer to the Named Insured shown in the Declarations and the spouse if a\nresident of the same household. \"We,\" \"us,\" and \"our\" refer to Evergreen Insurance Company providing this\ninsurance. In addition, certain words and phrases are defined as follows:\n1. Weather Event means a natural atmospheric occurrence including but not limited to: a. Wind (including\nhurricanes, tornadoes, and straight-line winds) b. Hail c. Lightning d. Snow, ice, and freezing rain e.\nExcessive rainfall resulting in flooding f. Extreme temperatures causing damage\n2. Named Storm means any storm or weather disturbance that has been declared and named as a tropical\nstorm or hurricane by the National Weather Service or National Hurricane Center.\n3. Actual Cash Value (ACV) means the cost to repair or replace damaged property with new material of like\nkind and quality, less depreciation due to age, wear and condition.\n4. Replacement Cost means the cost to repair or replace damaged property with new material of like kind\nand quality, without deduction for depreciation.\n5. Dwelling means the building structure at the insured location including attached structures and fixtures.\n6. Other Structures means structures on the residence premises separated from the dwelling by clear\nspace or connected only by a fence, utility line, or similar connection.\n7. Personal Property means movable items owned by you and located at the insured property.\n
SECTION II - COVERAGE\nA. PROPERTY COVERAGE\nWe will pay for direct physical loss to property described in the Declarations caused by a Weather Event unless\nthe loss is excluded in Section III - Exclusions.\n1. Dwelling Protection We will cover: a. Your dwelling, including attached structures b. Materials and\nsupplies located on or adjacent to the residence premises for use in construction, alteration, or repair of\nthe dwelling or other structures c. Foundation, floor slab, and footings supporting the dwelling d.\nWall-to-wall carpeting attached to the dwelling\n2. Other Structures Protection We will cover structures on your property separated from your dwelling by\nclear space, including: a. Detached garages b. Storage sheds c. Fences d. Driveways and walkways e.\nPatios and retaining walls\n3. Personal Property Protection We will cover personal property owned or used by you while it is on the\nresidence premises. Coverage includes but is not limited to: a. Furniture b. Clothing c. Electronic\nequipment d. Appliances e. Sporting goods\n4. Loss of Use Protection If a Weather Event makes your residence uninhabitable, we will cover: a.\nAdditional living expenses incurred to maintain your normal standard of living b. Fair rental value if part of\nyour residence is rented to others c. Necessary expenses required to make the residence habitable or\nmove to temporary housing\nB. ADDITIONAL COVERAGES",
"metadata": {
"pageCount": 1
}
}
Durch die Verarbeitung dieser Antwort mit Cortex AI LLM-Funktionen können Sie problemlos unstrukturierte Datenanalysen durchführen. Das folgende Beispiel demonstriert eine einfache Frage-Antwort-Aufgabe:
SELECT SNOWFLAKE.CORTEX.COMPLETE('claude-3-5-sonnet',
CONCAT ('Is clothing covered as part of the weather protection insurance policy?',
TO_VARCHAR(weather_policy_doc))) FROM ocr_example_docs
Antwort:
Yes, clothing is covered under the insurance policy. According to Section II - Coverage, Part A.3 (Personal Property Protection), clothing is specifically listed as one of the covered personal property items while it is on the residence premises. The policy states: "We will cover personal property owned or used by you while it is on the residence premises. Coverage includes but is not limited to: a. Furniture b. Clothing c. Electronic equipment d. Appliances e. Sporting goods"
Eingabeanforderungen¶
PARSE_DOCUMENT ist sowohl für digital erstellte als auch für gescannte Dokumente optimiert. In der folgenden Tabelle sind die Beschränkungen und Anforderungen für Eingabedokumente aufgeführt:
Maximale Dateigröße |
100 MB |
Maximale Seitenzahl pro Dokument |
300 Seiten |
Erlaubter Dateityp |
PDF, PPTX, DOCX, JPEG, JPG, PNG, TIFF, TIF |
Stagingbereich-Verschlüsselung |
Serverseitige Verschlüsselung: |
Schriftgröße |
8 Punkt oder größer für beste Ergebnisse |
Unterstützte Features für Dokumente¶
Feature |
Beschreibung |
---|---|
Seitenausrichtung |
PARSE_DOCUMENT erkennt automatisch die Seitenausrichtung. |
Zeichen |
PARSE_DOCUMENT erkennt die folgenden Zeichen:
|
Bemerkung
PARSE_DOCUMENT ist nicht für die Handschrifterkennung trainiert.
Unterstützte Sprachen¶
PARSE_DOCUMENT ist gezielt für die folgenden Sprachen trainiert:
OCR-Modus |
LAYOUT-Modus |
---|---|
|
|
Der LAYOUT-Modus unterstützt auch Französisch, Deutsch, Italienisch, Norwegisch, Polnisch, Portugiesisch, Spanisch und Schwedisch, ist aber nicht dafür optimiert.
Regionale Verfügbarkeit¶
Dieses Feature ist für Konten in den folgenden Snowflake Regionen verfügbar:
AWS |
Azure |
Google Cloud Platform |
---|---|---|
US West 2 (Oregon) |
East US 2 (Virginia) |
US Central 1 (Iowa) |
US East (Ohio) |
West US 2 (Washington) |
|
US East 1 (N. Virginia) |
Europa (Niederlande) |
|
Europa (Irland) |
||
Europe Central 1 (Frankfurt) |
||
Asia Pacific (Sydney) |
||
Asia Pacific (Tokio) |
Anforderungen an die Zugriffssteuerung¶
Um die Funktion PARSE_DOCUMENT zu verwenden, muss ein Benutzer mit der Rolle ACCOUNTADMIN dem Benutzer, der die Funktion aufruft, die Datenbankrolle SNOWFLAKE.CORTEX_USER erteilen. Siehe Erforderliche Berechtigungen für weitere Informationen.
Hinweise zu Kosten¶
Die Cortex PARSE_DOCUMENT-Funktion verursacht Rechenkosten, die sich nach der Anzahl der verarbeiteten Seiten pro Dokument richten.
Bei Dokumentdateiformaten (PDF, DOCX) wird jede Seite des Dokuments als eine Seite abgerechnet.
Bei Bilddateiformaten (JPEG, JPG, TIF, TIFF, PNG) wird jede einzelne Bilddatei als eine Seite abgerechnet.
Snowflake empfiehlt die Ausführung von Abfragen, die die Cortex-Funktion PARSE_DOCUMENT aufrufen, in einem kleineren Warehouse (nicht größer als MEDIUM). Größere Warehouses erhöhen die Leistung nicht.
Fehlerbedingungen¶
Snowflake Cortex PARSE_DOCUMENT kann die folgenden Fehlermeldungen erzeugen:
Meldung |
Erläuterung |
---|---|
Dokument enthält Sprache, die nicht unterstützt wird. |
Eingabedokument enthält nicht unterstützte Sprache |
Das bereitgestellte Dateiformat {file_extension} wird nicht unterstützt. Unterstützte Formate: .[‚.docx‘, ‚.pptx‘, ‚.pdf‘]. |
Wird zurückgegeben, wenn das Dokument nicht in einem unterstützten Format vorliegt. |
Das bereitgestellte Dateiformat .bin wird nicht unterstützt. Unterstützte Formate: [‚.docx‘, ‚.pptx‘, ‚.pdf‘]. Stellen Sie sicher, dass die Datei mit serverseitiger Verschlüsselung gespeichert wird. |
Wird zurückgegeben, wenn das Dateiformat nicht unterstützt und als Binärdatei verstanden wird. Stellen Sie sicher, dass der Stagingbereich serverseitige Verschlüsselung verwendet. |
Maximale Anzahl von 300 Seiten überschritten. |
Wird zurückgegeben, wenn PDF mehr als 300 Seiten enthält. |
Maximale Dateigröße von 104857600 Bytes überschritten. |
Wird zurückgegeben, wenn das Dokument größer als 100 MB ist. |
Die bereitgestellte Datei kann nicht gefunden werden. |
Die Datei existiert nicht. |
Auf die bereitgestellte Datei kann nicht zugegriffen werden. |
Der Zugriff auf die Datei ist aufgrund unzureichender Berechtigungen nicht möglich. |
Die Funktion Parse Document hat nicht in der zulässigen Zeit geantwortet. |
Timeout aufgetreten. |
Interner Fehler. |
Es ist ein Systemfehler aufgetreten. Warten Sie und versuchen Sie es erneut. |
Rechtliche Hinweise¶
Die Datenklassifizierung der Eingaben und Ausgaben ist in der folgenden Tabelle aufgeführt.
Klassifizierung von Eingabedaten |
Klassifizierung von Ausgabedaten |
Benennung |
---|---|---|
Usage Data |
Customer Data |
Die allgemein verfügbaren Funktionen sind abgedeckte AI-Features. Die Vorschaufunktionen sind Vorschau-AI-Features. [1] |
Weitere Informationen dazu finden Sie unter KI und ML in Snowflake.