- Kategorien:
Zeichenfolgen- und Binärfunktionen (Large Language Model)
AI_COMPLETE (Prompt-Objekt)¶
Bemerkung
AI_COMPLETE ist die aktualisierte Version von COMPLETE (SNOWFLAKE.CORTEX). Die neueste Funktionalität finden Sie unter AI_COMPLETE.
Erzeugt eine Antwort (Vervollständigung) für ein Prompt-Objekt. Das Prompt-Objekt verweist auf eine oder mehrere Spalten, die Text- oder Bilddaten enthalten.
Syntax¶
Die Funktion kann entweder mit der Syntax für positionale oder benannte Argumente verwendet werden.
AI_COMPLETE(
<model>, <prompt> [ , <model_parameters> ] )
Argumente¶
model
Zeichenfolge, die das zu verwendende Modell angibt. Für reine Texteingaben können Sie eines der folgenden Modelle verwenden:
claude-4-opus
claude-4-sonnet
claude-3-7-sonnet
claude-3-5-sonnet
deepseek-r1
gemma-7b
jamba-1.5-mini
jamba-1.5-large
jamba-instruct
llama2-70b-chat
llama3-8b
llama3-70b
llama3.1-8b
llama3.1-70b
llama3.1-405b
llama3.2-1b
llama3.2-3b
llama3.3-70b
llama4-maverick
llama4-scout
mistral-large
mistral-large2
mistral-7b
mixtral-8x7b
openai-gpt4.1
openai-o4-mini
reka-core
reka-flash
snowflake-arctic
snowflake-llama-3.1-405b
snowflake-llama-3.3-70b
- Für die Bildeingabe können Sie eines der folgenden Modelle verwenden:
claude-4-opus
claude-4-sonnet
claude-3-7-sonnet
claude-3-5-sonnet
llama-4-maverick
llama-4-scout
pixtral-large
Unterstützte Modelle können unterschiedliche Kosten haben.
prompt
Ein Prompt-Objekt, das Text und/oder Bilder enthält
model_parameters
Ein Objekt, das null oder mehr der folgenden Optionen enthält, die die Hyperparameter des Modells beeinflussen. Siehe LLM-Einstellungen.
temperature
: Ein Wert von 0 bis 1 (einschließlich), der die Zufälligkeit der Ausgabe des Sprachmodells steuert. Eine höhere Modelltemperatur (z. B. 0,7) führt zu einer vielfältigeren und zufälligeren Ausgabe, während eine niedrigere Modelltemperatur (z. B. 0,2) die Ausgabe deterministischer und konzentrierter macht.Standardeinstellung: 0
top_p
: Ein Wert von 0 bis 1 (einschließlich), der die Zufälligkeit und Diversität des Sprachmodells steuert und im Allgemeinen als Alternative zutemperature
verwendet wird. Der Unterschied besteht darin, dasstop_p
die Menge der möglichen Token, die das Modell ausgibt, einschränkt, währendtemperature
beeinflusst, welche Token bei jedem Schritt ausgewählt werden.Standardeinstellung: 0
max_tokens
: Legt die maximale Anzahl der Ausgabe-Token in der Antwort fest. Kleine Werte können zu abgeschnittenen Antworten führen.Standardwert: 4.096 Maximal zulässiger Wert: 8.192
guardrails
: Filtert potenziell unsichere und schädliche Antworten aus einem Sprachmodell unter Verwendung von Cortex Guard. EntwederTRUE
oderFALSE
. Der Standardwert istFALSE
.
Beispiel¶
Übergabe mehrerer Bilder als Eingabe¶
Das folgende Beispiel vergleicht zwei Bilder, indem es beide als Eingabe an die Funktion AI_COMPLETE übergibt und fragt, ob es sich bei beiden um Bilder von Katzen handelt:
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Are both image {0} and image {1} pictures of cats?',
TO_FILE('@myimages', 'sleepingcat.png'), TO_FILE('@myimages', 'jumpingcat.png')) AS image_classification
FROM image_table;
Batchverarbeitung von Bildern aus einem Verzeichnis oder einer Tabelle¶
Für die Batchverarbeitung mehrerer Bilder, bei der für jedes Bild die gleiche Operation durchgeführt wird, speichern Sie die Bilddateien im gleichen Stagingbereich. Wenden Sie die Funktion AI_COMPLETE auf jede Zeile der Tabelle an.
Bemerkung
Der Stagingbereich muss über eine Verzeichnistabelle verfügen, um die Pfade zu seinen Dateien abrufen zu können.
Erstellen Sie zunächst die Tabelle, indem Sie die Speicherorte der Bilder aus dem Verzeichnis abrufen, diese in FILE-Objekte konvertieren und die resultierenden FILE-Objekte in einer Spalte in einer Tabelle speichern. Verwenden Sie SQL wie folgt:
CREATE TABLE image_table AS
(SELECT TO_FILE('@myimages', RELATIVE_PATH) AS img FROM DIRECTORY(@myimages));
Wenden Sie dann die Funktion AI_COMPLETE auf die Spalte an, die die FILE-Objekte enthält. Das folgende Beispiel klassifiziert jedes Bild in der Tabelle:
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Classify the input image {0} in no more than 2 words. Respond in JSON', img_file)) AS image_classification
FROM image_table;
Antwort:
{ "classification": "Inflation Rates" }
{ "classification": "beverage refrigerator" }
{ "classification": "Space Needle" }
{ "classification": "Modern Kitchen" }
{ "classification": "Pie Chart" }
{ "classification": "Economic Graph" }
{ "classification": "Persian Cat" }
{ "classification": "Labrador Retriever" }
{ "classification": "Jedi Cat" }
{ "classification": "Sleeping cat" }
{ "classification": "Persian Cat" }
{ "classification": "Garden Costume" }
{ "classification": "Floral Fashion" }
Wenn Sie bereits über eine Tabelle mit Pfaden zu den Bildern verfügen, können Sie die Funktion TO_FILE verwenden, um die FILE-Objekte innerhalb der Abfrage zu erstellen:
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Classify the input image {0} in no more than 2 words. Respond in JSON',
TO_FILE('@myimages', img_path)) AS image_classification
FROM image_table;
Sie können die zu verarbeitenden Bilder auch direkt aus dem Verzeichnis eines Stagingbereichs abrufen, wie hier gezeigt:
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Classify the input image {0} in no more than 2 words. Respond in JSON',
TO_FILE('@myimages', RELATIVE_PATH))) as image_classification
FROM DIRECTORY(@myimages);
Bilder und Prompts in einer Tabelle bereitstellen¶
Wenn Sie für jedes Bild in einer Tabelle eine andere Operation durchführen möchten, stellen Sie die Bilder und die entsprechenden Prompts in einer Tabelle bereit. Im folgenden Beispiel enthält die Tabelle den Stagingbereichspfad eines jeden Bildes in der Spalte img_path
und den Prompt in der Spalte prompt
.
AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Given the input image {0}, {1}. Respond in JSON',
TO_FILE('@myimages', img_path), prompt) as image_result)
FROM image_table;
Nutzungshinweise für die Bildverarbeitung¶
Um mehrere Bilder zu verarbeiten, geben Sie in dem Funktionsaufruf ein Prompt-Objekt an, das eine Prompt-Vorlage und die zugehörigen Bilddateien definiert. Sie können die Funktion Funktion PROMPT verwenden, um dieses Objekt zu erstellen. Die Prompt-Vorlage kann nummerierte Platzhalter enthalten (
{0}
,{1}
usw.), die den Bildern im Prompt-Objekt entsprechen.Es werden nur Text und Bilder unterstützt. Video- und Audiodateien werden nicht unterstützt.
Unterstützte Bildformate:
.jpg
.jpeg
.png
.gif
.webp
Die Modelle
pixtral
undllama4
unterstützen auch.bmp
.
Die maximale Bildgröße beträgt 10 MB für die meisten Modelle und 3,75 MB für
claude
-Modelle.claude
-Modelle unterstützen keine Bilder mit Auflösungen über 8000 x 8000.Für den Stagingbereich, der die Bilder enthält, muss die serverseitige Verschlüsselung aktiviert sein. Clientseitig verschlüsselte Stagingbereiche werden nicht unterstützt.
Die Funktion unterstützt keine benutzerdefinierten Netzwerkrichtlinien.
Bei Stagingbereichen wird die Groß-/Kleinschreibung nicht beachtet, bei Pfaden die Groß-/Kleinschreibung.