- Kategorien:
Zeichenfolgen- und Binärfunktionen (AI-Funktionen)
AI_EXTRACT¶
Extrahiert Informationen aus einer Eingabezeichenfolge oder Datei.
Syntax¶
Extract information from an input string:
Extract information from a file:
Argumente¶
textEine Eingabezeichenfolge für die Extraktion.
fileEine FILE für die Extraktion.
Unterstützte Dateiformate:
PDF
PNG
PPTX, PPT
EML
DOC, DOCX
JPEG, JPG
HTM, HTML
TEXT, TXT
TIF, TIFF
BMP, GIF, WEBP
MD
Die Dateien müssen kleiner als 100 MB sein.
responseFormatZu extrahierende Informationen. Das Format hängt von der Art der Extraktion ab.
Entitätsextraktionsformate
Extrahieren Sie einzelne Werte, indem Sie eines der folgenden Formate angeben:
Einfaches Objektschema, welches das Label und die zu extrahierenden Informationen zuordnet, z. B.:
Ein Array von Zeichenfolgen, die die zu extrahierenden Informationen enthalten:
Ein Array von Arrays, die zwei Zeichenfolgen enthalten (Label und die zu extrahierenden Informationen):
Ein JSON-Schema mit
'type': 'string'für das Unterobjekt:
Listenextraktionsformat
Extrahieren von Arrays von Werten mit einem JSON-Schema mit
'type': 'array'für das Unterobjekt:Tabellenextraktionsformat
Extrahieren von tabellarischen Daten mit einem JSON-Schema mit
'type': 'object'undcolumn_ordering. Jede Spalte ist als verschachtelte Eigenschaft mit'type': 'array'unddescriptiondefiniert, die mit dem Spaltennamen in der Datei übereinstimmt:Bemerkung
Sie können das JSON-Schemaformat nicht mit anderen Antwortformaten kombinieren. Wenn
responseFormatdenschema-Schlüssel enthält, müssen Sie alle Fragen innerhalb des JSON-Schemas definieren. Zusätzliche Schlüssel werden nicht unterstützt.Das -Modell akzeptiert nur bestimmte Formen des JSON-Schemas. Der Typ der obersten Ebene muss immer ein Objekt sein, das unabhängig voneinander extrahierte Unterobjekte enthält. Unterobjekte können eine Tabelle (Objekt von Listen von Zeichenfolgen, die Spalten darstellen), eine Liste von Zeichenfolgen oder eine Zeichenfolge sein.
Zeichenfolge ist derzeit der einzige unterstützte Skalartyp.
Verwenden Sie das
description-Feld, um Kontext für das Modell bereitzustellen; zum Beispiel, um dem Modell zu helfen, die richtige Tabelle in einem Dokument zu lokalisieren. Sie können den Namen der Spaltenüberschrift eingeben oder die Spalte auf andere Weise beschreiben.Verwenden Sie das Feld
column_ordering, um die Reihenfolge aller Spalten in der extrahierten Tabelle anzugeben. Im Feldcolumn_orderingwird zwischen Groß- und Kleinschreibung unterschieden, und dieses muss mit den im Feldpropertiesdefinierten Spaltennamen übereinstimmen. Die Reihenfolge sollte die Reihenfolge der Spalten im Dokument widerspiegeln.
config => config_objectEin OBJECT-Wert, der die Konfigurationseinstellungen angibt. Sie können eine OBJECT-Konstante verwenden, um dieses Objekt anzugeben.
Sie können die folgenden Schlüssel-Wert-Paare in diesem Objekt angeben:
Schlüssel
Beschreibung
scale_factorEin numerischer Wert von 1,0 bis 4,0. Skaliert die Seiten einer Eingabedatei, bevor sie vom zugrunde liegenden Modell verarbeitet werden, was die OCR-Qualität und die Extraktionsergebnisse verbessern kann.
Verwenden Sie
scale_factor, wenn Sie in den folgenden Szenarien unerwartete oder unklare Antworten erhalten:Dokumente, deren Seiten größer als A4 sind
Dokumente, die kleinen Text, detaillierte visuelle Elemente oder dichte Layouts enthalten
Der extrahierte Text enthält Rechtschreibfehler oder OCR-Fehler auf Zeichenebene
Wenn weggelassen, verwendet AI_EXTRACT den Standardwert (
'scale_factor': 1.0').
Rückgabewerte¶
Ein JSON-Objekt, das die extrahierten Informationen enthält. Die Struktur der Antwort hängt vom Typ der Extraktion ab.
Entitätsextraktion¶
Gibt ein JSON-Objekt mit Schlüssel-Wert-Paaren für jede extrahierte Entität zurück:
Listenextraktion¶
Gibt ein JSON-Objekt mit Arrays von extrahierten Werten zurück:
Tabellenextraktion¶
Gibt ein JSON-Objekt mit Spaltenarrays zurück, die die extrahierte Tabelle darstellen:
Kombinierte Extraktion¶
Wenn Entitäten, Listen und Tabellen mit einem einzigen Aufruf extrahiert werden, enthält die Antwort alle Extraktionstypen:
Anforderungen an die Zugriffssteuerung¶
Benutzer müssen eine Rolle verwenden, der die Datenbankrolle SNOWFLAKE.CORTEX_USER zugewiesen wurde: Weitere Informationen zum Erteilen dieser Berechtigung finden Sie unter Cortex LLM-Berechtigungen.
Nutzungshinweise¶
AI_EXTRACT ist sowohl für digital erstellte als auch für gescannte Dokumente optimiert.
Sie können im selben Funktionsaufruf nicht beides gleichzeitig verwenden,
text- undfile-Parameter.Sie können entweder Fragen in natürlicher Sprache stellen oder die zu extrahierenden Informationen beschreiben ( z. B. Stadt, Straße, ZIP-Code), zum Beispiel:
Die folgenden Sprachen werden unterstützt:
Arabisch
Bengalisch
Birmanisch
Cebuano
Chinesisch
Tschechisch
Holländisch
Englisch
Französisch
Deutsch
Hebräisch
Hindi
Indonesisch
Italienisch
Japanisch
Khmer
Koreanisch
Lao
Malaiisch
Persisch
Polnisch
Portugiesisch
Russisch
Spanisch
Tagalog
Thailändisch
Türkisch
Urdu
Vietnamesisch
Die Dokumente dürfen nicht mehr als 125 Seiten umfassen.
In einem einzigen AI_EXTRACT-Aufruf können Sie maximal 100 Fragen zur Extraktion von Entitäten und maximal 10 Fragen zur Extraktion von Tabellen stellen.
Eine Frage zur Extraktion von Tabellen entspricht 10 Fragen zur Extraktion von Entitäten. Sie können in einem einzigen AI_EXTRACT-Aufruf zum Beispiel 4 Fragen zur Extraktion von Tabellen und 60 Fragen zur Extraktion von Entitäten auf einmal stellen.
Die maximale Ausgabelänge für die Extraktion von Entitäten beträgt 512 Token pro Frage. Bei der Tabellenextraktion liefert das Modell Antworten, die maximal 4.096 Token umfassen.
Clientseitig verschlüsselte Stagingbereiche werden nicht unterstützt.
Konfidenzwerte werden nicht unterstützt.
Hinweise zu Kosten¶
Die Cortex AI_EXTRACT-Funktion verursacht Kosten, die von der Anzahl der Seiten pro Dokument, den Token der Eingabeaufforderung und den verarbeiteten Ausgabe-Token abhängen.
Für seitenbasierte Dateiformate (PDF, DOCX, TIF, TIFF) wird jede Seite als 970 Token gezählt.
Für Bilddateiformate (JPEG, JPG, PNG) wird jede einzelne Bilddatei als Seite abgerechnet und als 970 Token gezählt.
Die Verwendung des
scale_factor-Parameters ändert, wie viele Token verbraucht werden und wie viele Seiten pro Aufruf verarbeitet werden können:Die Anzahl der verbrauchten Eingabe-Token steigt proportional zu
scale_factor.Die maximale Anzahl von Seiten pro Dokument, die von AI_EXTRACT verarbeitet werden können, sinkt um den
scale_factor.
Beziehung von scale_factor zur Anzahl der Token und Seiten
scale_factor-WertAnzahl der Token pro Seite
Max. Anzahl der Seiten pro Dokument
2
970 * 2 = 1940 Token
125/2 = 62,5 (abgerundet auf 62)
2.5
970 * 2,5 = 2425 Token
125/2
4
970 * 4 = 3880 Token
125/4 = 31,25 (abgerundet auf 31)
Snowflake empfiehlt die Ausführung von Abfragen, die die Cortex-Funktion AI_EXTRACT aufrufen, in einem kleineren Warehouse (nicht größer als MEDIUM). Größere Warehouses erhöhen die Leistung nicht.
Regionale Verfügbarkeit¶
AI_EXTRACT ist für Konten in den folgenden Regionen verfügbar:
Cloudplattform |
Name der Region |
|---|---|
Amazon Web Services (AWS) |
|
Microsoft Azure |
|
AI_EXTRACT bietet regionenübergreifende Unterstützung. Weitere Informationen zur Aktivierung der regionenübergreifenden Unterstützung von Cortex AI finden Sie unter Regionenübergreifende Inferenz.
Fehlerbedingungen¶
AI_EXTRACT kann die folgenden Fehlermeldungen erzeugen:
Meldung |
Erläuterung |
|---|---|
|
Es ist ein Systemfehler aufgetreten. Warten Sie und versuchen Sie es erneut. Wenn der Fehler weiterhin besteht, wenden Sie sich an den Snowflake-Support. |
|
Die Datei wurde nicht gefunden. |
|
Die Datei wurde nicht gefunden. |
|
Der aktuelle Benutzer hat nicht die erforderlichen Berechtigungen für den Zugriff auf die Datei. |
|
Das Dokument hat kein unterstütztes Format. |
|
Das Dokument ist nicht in einem Stagingbereich mit serverseitiger Verschlüsselung gespeichert. |
|
Es wurden keine Parameter angegeben. |
|
Es wurde kein Antwortformat angegeben. |
|
Das Antwortformat ist kein gültiges JSON-Format. |
|
Das Antwortformat enthält einen oder mehrere doppelte Feature-Namen. |
|
Die Anzahl der Fragen überschreitet das zulässige Limit. |
|
Das Dokument überschreitet das Limit von 125 Seiten. |
|
Ein eingegebenes Bild oder eine konvertierte Dokumentseite ist größer als die unterstützten Abmessungen. |
|
Die Seite ist größer als die unterstützten Abmessungen. |
|
Das Dokument ist größer als 100 MB. |
Beispiele¶
Entitätsextraktion¶
Das folgende Beispiel extrahiert Entitäten aus dem Eingabetext mithilfe eines einfachen Objektschemas:
Im folgenden Beispiel werden Informationen aus dem Eingabetext extrahiert und zurückgegeben:
Das folgende Beispiel extrahiert Entitäten aus der
document.pdf-Datei:Im folgenden Beispiel werden Entitäten aus allen Dateien in einem Stagingverzeichnis extrahiert:
Bemerkung
Stellen Sie sicher, dass die Verzeichnistabelle aktiviert ist. Weitere Informationen dazu finden Sie unter Manage directory tables.
Im folgenden Beispiel wird die
title-Entität derreport.pdf-Datei unter Verwendung eines JSON-Schemas extrahiert:
Listenextraktion¶
Im folgenden Beispiel wird die employees-Liste aus der report.pdf-Datei extrahiert:
Tabellenextraktion¶
Im folgenden Beispiel wird die income_table-Tabelle aus der report.pdf-Datei extrahiert:
Kombinierte Extraktion¶
Im folgenden Beispiel wird eine Tabelle (income_table), Entität (title) und Liste (employees) aus der``report.pdf``-Datei mit einem einzigen Aufruf extrahiert:
Extraktion mit einem kundenspezifischen Skalierungsfaktor¶
Im folgenden Beispiel wird das employees-Array aus der report.pdf-Datei mit einem Skalierungsfaktor von 2,0 extrahiert:
Extraktion mit einem Fine-Tuning arctic-extract-Modell¶
Zur Verwendung des Fine-Tuning arctic-extract-Modells für die Ableitung mit der Funktion AI_EXTRACT geben Sie das Modell mit dem model-Parameter wie im folgenden Beispiel gezeigt an:
Sie können Fragen, die für das Fine-Tuning verwendet werden, mit dem responseFormat-Parameter überschreiben, wie im folgenden Beispiel gezeigt:
Das folgende Beispiel extrahiert Daten aus der invoice.pdf-Datei unter Verwendung eines Fine-Tuning arctic-extract-Modells mit einem Skalierungsfaktor von 2,0:
Weitere Informationen dazu finden Sie unter Fine-Tuning von arctic-extract-Modellen.
Rechtliche Hinweise¶
Siehe KI und ML in Snowflake für rechtliche Hinweise.