Kategorien:

Zeichenfolgen- und Binärfunktionen (Large Language Model)

PARSE_DOCUMENT (SNOWFLAKE.CORTEX)

Gibt den extrahierten Inhalt eines Dokuments auf einem Snowflake-Stagingbereich als OBJECT zurück, das JSON-kodierte Objekte als Zeichenfolgen enthält. Diese Funktion unterstützt 2 Arten von Extraktionen, optische Zeichenerkennung (OCR) und Layout. Weitere Informationen dazu finden Sie unter Übersicht über Cortex Parse.

Syntax

SNOWFLAKE.CORTEX.PARSE_DOCUMENT( '@<stage>', '<path>', [ { 'mode': '<mode>' }, ] )
Copy

Argumente

Benötigt:

stage

Name des Snowflake-Stagingbereichs.

path

Relativer Pfad zu dem Dokument im Snowflake-Stagingbereich.

Optional:

mode

Gibt einen Wert vom Typ OBJECT zurück. In dem Objekt enthält der Wert für den Schlüssel content die extrahierten Daten in Form einer JSON-kodierten Zeichenfolge. Die Daten können entweder formatiert oder im Nur-Text-Format vorliegen, je nachdem, welcher Modus beim Aufruf angegeben wurde:

  • Wenn mode auf LAYOUT steht, handelt es sich bei den Daten um Markdown mit strukturellem Inhalt einschließlich Tabellen.

  • Wenn mode OCR ist, sind die Daten der Textinhalt.

Standard: 'OCR'

Rückgabewerte

Ein OBJECT-Datentyp, der die extrahierten Daten in Form einer JSON-kodierten Zeichenfolge enthält. Der Inhalt hängt von dem beim Aufruf verwendeten Modus ab:

  • LAYOUT Modus: JSON mit Schlüssel-„Inhalt“, der Markdown mit aus dem Dokument extrahierten Tabellen enthält.

  • OCR Modus: JSON mit Schlüssel-„Inhalt“, der den Textinhalt des Dokuments enthält.

Beispiele

OCR-Modus

SELECT TO_VARCHAR(
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'OCR'}):content
    ) AS OCR;
Copy

Ausgabe:

{
    "content of the document"
}

LAYOUT-Modus

In diesem Beispiel wird ein Dokument mit einer Tabelle analysiert, die im folgenden Screenshot gezeigt wird:

Beispiel PDF-Inhalt mit einer Tabelle
SELECT
  TO_VARCHAR (
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT (
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'LAYOUT'} ):content ) AS LAYOUT;
Copy

Ausgabe:

{
  "content": "# This is PARSE DOCUMENT example
     Example table:
     |Header|Second header|Third Header|
     |:---:|:---:|:---:|
     |First row header|Data in first row|Data in first row|
     |Second row header|Data in second row.|Data in second row.|

     Some more text."
 }