Cortex AISQL Images

Mit Cortex AI Images können Sie Folgendes erreichen:

  • Bilder vergleichen

  • Bilder beschriften

  • Bilder klassifizieren

  • Entitäten aus Bildern extrahieren

  • Beantwortung von Fragen anhand von Daten in Diagrammen und Tabellen

Sie können diese Aufgaben mit den folgenden Funktionen erledigen:

Eingabeanforderungen

COMPLETE Multimodal kann Bilder mit den folgenden Merkmalen verarbeiten:

Anforderung

Wert

Dateinamen-Erweiterungen

.jpg, .jpeg, .png, .webp, .gif

Stagingbereich-Verschlüsselung

Serverseitige Verschlüsselung:

Datentyp

FILE

Bemerkung

Die Verarbeitung von Dateien aus Stagingbereichen ist derzeit nicht mit benutzerdefinierten Netzwerkrichtlinien kompatibel.

Einen Stagingbereich für die Bildverarbeitung erstellen

Erstellen Sie einen Stagingbereich, in dem die zu verarbeitenden Bilder gespeichert werden können. Der Stagingbereich muss über eine Verzeichnistabelle und eine serverseitige Verschlüsselung verfügen.

Das folgende SQL erstellt einen geeigneten internen Stagingbereich.

CREATE OR REPLACE STAGE input_stage
    DIRECTORY = ( ENABLE = true )
    ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
Copy

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>/'
    DIRECTORY = ( ENABLE = true )
    CREDENTIALS = (AWS_KEY_ID = <aws_key_id>
    AWS_SECRET_KEY = <aws_secret_key>)
    ENCRYPTION = ( TYPE = 'AWS_SSE_S3' );
Copy

Bemerkung

Um die Verzeichnistabelle für den externen Stagingbereich automatisch zu aktualisieren, wenn neue oder aktualisierte Dateien verfügbar sind, übergeben Sie beim Erstellen des Stagingbereichs die Option AUTO_REFRESH = true. Weitere Informationen dazu finden Sie unter CREATE STAGE.

Bilder verarbeiten

Die Funktion COMPLETE verarbeitet entweder ein einzelnes Bild oder mehrere Bilder (z. B. zum Extrahieren von Unterschieden in Entitäten in verschiedenen Bildern). Der Funktionsaufruf gibt Folgendes an:

  • Das zu verwendende multimodale Modell

  • Eine Aufforderung

  • Den Pfad des Stagingbereichs der Bilddatei(en) über ein FILE-Objekt

Beispiel für ein einzelnes Bild

Das folgende Beispiel verwendet das Modell Claude Sonnet 3.5 von Anthropic, um ein Tortendiagramm science-employment-slide.jpeg zusammenzufassen, das im Stagingbereich @myimages gespeichert ist.

Kreisdiagramm zur Verteilung der Berufe, in denen Mathematik im Jahr 2023 als „extrem wichtig“ angesehen wird

Die Verteilung der Berufe, in denen Mathematik im Jahr 2023 als „extrem wichtig“ angesehen wird

SELECT AI_COMPLETE('claude-3-5-sonnet',
    'Summarize the insights from this pie chart in 100 words',
    TO_FILE('@myimages', 'science-employment-slide.jpeg'));
Copy

Antwort:

This pie chart shows the distribution of occupations where mathematics is considered "extremely important" in 2023.
Data scientists dominate with nearly half (48.7%) of all such positions, followed by operations research analysts
at 29.6%. The remaining positions are distributed among statisticians (7.8%), actuaries (7.2%), physicists (5.1%),
mathematicians (0.6%), and other mathematical science occupations (1.1%). This distribution highlights the growing
importance of data science in mathematics-intensive careers, while traditional mathematics roles represent a smaller
share of the workforce.

Beispiel für mehrere Bilder

Bemerkung

Derzeit können nur die Modelle Anthropic (claude) und Meta (llama) mehrere Bilder in einer einzigen Eingabeaufforderung referenzieren. Die Unterstützung mehrerer Bilder für andere Modelle wird möglicherweise in einer zukünftigen Release verfügbar sein.

Verwenden Sie die PROMPT-Hilfsfunktion, um mehrere Bilder in einem einzigen COMPLETE-Aufruf zu verarbeiten. Im folgenden Beispiel wird das Modell Claude Sonnet 3.5 von Anthropic verwendet, um zwei verschiedene Werbemittel aus dem Stagingbereich @myimages zu vergleichen.

Bilder von zwei Anzeigen für Elektroautos

Bild von zwei Anzeigen für Elektroautos

SELECT AI_COMPLETE('claude-3-5-sonnet',
    PROMPT('Compare this image {0} to this image {1} and describe the ideal audience for each in two concise bullets no longer than 10 words',
    TO_FILE('@myimages', 'adcreative_1.png'),
    TO_FILE('@myimages', 'adcreative_2.png')
));
Copy

Antwort:

First image ("Discover a New Energy"):
• Conservative luxury SUV buyers seeking a subtle transition to electrification

Second image ("Electrify Your Drive"):
• Young, tech-savvy urbanites attracted to bold, progressive automotive design

Modellbeschränkungen

Alle Modelle, die Snowflake Cortex zur Verfügung stehen, haben Beschränkungen für die Gesamtzahl der Eingabe- und Ausgabe-Token, bekannt als das Kontextfenster des Modells **. Die Größe des Kontextfensters wird in Token gemessen. Eingaben, die das Limit des Kontextfensters überschreiten, führen zu einem Fehler.

Bei Textmodellen entsprechen Token in der Regel etwa vier Zeichen Text, so dass die Wortanzahl, die einem Limit entspricht, geringer ist als die Anzahl der Token.

Bei Bildmodellen hängt die Anzahl der Token pro Bild von der Architektur des Bildmodells ab. Token innerhalb einer Eingabeaufforderung (z. B. „Welches Tier ist das?“) tragen ebenfalls zum Kontextfenster des Modells bei.

Modell

Kontextfenster (Token)

Dateitypen

Dateigröße

Bilder pro Aufforderung

claude-4-opus

200,000

.jpg, .jpeg, .png, .webp, .gif

3,75 MB [L1]

20

claude-4-sonnet

200,000

.jpg, .jpeg, .png, .webp, .gif

3,75 MB [L1]

20

claude-3-7-sonnet

200,000

.jpg, .jpeg, .png, .webp, .gif

3,75 MB [L1]

20

claude-3-5-sonnet

200,000

.jpg, .jpeg, .png, .webp, .gif

3,75 MB [L1]

20

llama4-maverick

128,000

.jpg, .jpeg, .png, .webp, .gif, .bmp [L2]

10 MB

10

llama-4-scout

128,000

.jpg, .jpeg, .png, .webp, .gif

10 MB

10

pixtral-large

128,000

.jpg, .jpeg, .png, .webp, .gif, .bmp [L2]

10 MB

1

[L1] (1,2,3,4)

Die Bilder müssen kleiner als 8000x8000 Pixel sein. Anthropische (claude) Modelle unterstützen bis zu 100 Bilder in einem einzigen Aufruf. Die Beschränkungen gelten für jedes einzelne Bild.

[L2] (1,2)

Die Modelle Mistral (pixtral) und Meta (llama) unterstützen neben den üblichen Formaten auch .bmp-Dateien.

Hinweise zu Kosten

Die Abrechnung richtet sich nach der Anzahl der verarbeiteten Token. Die Anzahl der Token pro Bild hängt von der Architektur des Bildmodells ab.

  • Die Formel für anthropische Modelle (claude) lautet in etwa: Token = (Breite in Pixel x Höhe in Pixel) / 750.

  • Die Mistral-Modelle (pixtral) teilen jedes Bild in Batches von 16x16 Pixeln auf und wandeln jeden Batch in ein Token um. Die Gesamtzahl der Token entspricht ungefähr (Breite in Pixel / 16) * (Höhe in Pixel / 16).

  • Meta (llama)-Modelle versuchen, das Bild mit quadratischen Kacheln zu kacheln. Je nach Seitenverhältnis und Größe des Bildes kann die Anzahl der Kacheln bis zu 16 betragen, die jeweils durch etwa 153 Token dargestellt werden.

Bemerkung

Die Funktion COUNT_TOKENS unterstützt derzeit keine Bildeingaben.

Auswahl eines Bildmodells

Die Funktion COMPLETE unterstützt mehrere Modelle mit unterschiedlicher Leistungsfähigkeit, Latenzzeit und Kosten. Um eine optimale Leistung pro Credit zu erzielen, wählen Sie ein Modell, das auf den Umfang des Inhalts und die Komplexität der Aufgabe abgestimmt ist.

Modell

MMMU

Mathvista

ChartQA

DocVQA

VQAv2

GPT-4o

68,6

64,6

85,1

88,9

77,8

claude-3-5-sonnet

68,0

64,4

87,6

90,3

70,7

lama-4-maverick

73,4

673,7

90

94,4

llama-4-scout

69,4

70,7

88,8

94,4

pixtral-large

64,0

69,4

88,1

85,7

67

Die Benchmarks sind:

  • MMMU: Bewertet multimodale Modelle bei multidisziplinären Aufgaben, die logisches Denken auf College-Niveau erfordern.

  • Mathvista: Benchmark für mathematisches Denken in einem visuellen Kontext.

  • ChartQA: Bewertet komplexe Argumentationsfragen zu Diagrammen.

  • DocVQA und VQv2: Benchmarks für die visuelle Beantwortung von Fragen zu Dokumenten.

Regionale Verfügbarkeit

Die Unterstützung für dieses Feature ist für Konten in den folgenden Snowflake-Regionen nativ verfügbar:

Modell
AWS US West 2
(Oregon)
AWS US East 1
(N. Virginia)
AWS Europe Central 1
(Frankfurt)

claude-3-5-sonnet

claude-3-7-sonnet [A1]

claude-4-sonnet [A1]

claude-4-opus [A1]

pixtral-large

llama4-maverick

llama4-scout

[A1] (1,2,3)

Das Modell ist nur über regionsübergreifende Inferenz verfügbar.

COMPLETE multimodal ist in anderen Regionen über Regionenübergreifende Inferenz verfügbar.

Fehlerbedingungen

Meldung

Erläuterung

Anfrage für externe Funktion SYSTEM$COMPLETE_WITH_IMAGE_INTERNAL mit Remotedienstfehler: 400 „Ungültiger Bildpfad“ fehlgeschlagen

Entweder die Dateierweiterung oder die Datei selbst wird von dem Modell nicht akzeptiert. Die Meldung kann auch bedeuten, dass der Dateipfad falsch ist, d. h. dass die Datei am angegebenen Speicherort nicht existiert. Bei Dateinamen wird zwischen Groß- und Kleinschreibung unterschieden.

Fehler in sicherem Objekt

Kann anzeigen, dass der Stagingbereich nicht existiert. Überprüfen Sie den Namen des Stagingbereichs und stellen Sie sicher, dass der Bereich existiert und zugänglich ist. Achten Sie darauf, das at (@)-Zeichen am Anfang des Pfads zum Stagingbereich zu verwenden, z. B. @myimages.

Anfrage für externe Funktion _COMPLETE_WITH_PROMPT mit Remotedienstfehler: 400 „“invalid request parameters: unsupported image format: image/**“ fehlgeschlagen

Nicht unterstütztes Bildformat, das an claude-3-5-sonnet übergeben wurde, d. h. ein anderes als .jpeg, .png, .webp oder .gif.

Anfrage für externe Funktion _COMPLETE_WITH_PROMPT mit Remotedienstfehler: 400 „invalid request parameters: Image data exceeds the limit of 5.00 MB“ fehlgeschlagen

Das an claude-3-5-sonnet übermittelte Bild überschreitet 5 MB.