Fonction PROMPT¶
La fonction PROMPT construit une structure OBJECT contenant une chaîne de modèles et une liste d’arguments. Cet objet est utile pour mettre en forme dynamiquement des messages, construire des prompts structurés ou stocker des données formatées en vue d’un traitement ultérieur, par exemple par les fonctions de Cortex AI.
Syntaxe¶
SELECT PROMPT('<template_string>', <expr_1> [ , <expr_2>, ... ] )
FROM <table>;
Arguments¶
Obligatoire :
template_string
Une chaîne contenant des caractères génériques numérotés tels que
{0}
où le nombre est au moins égal à 0 et inférieur au nombre d’expressions spécifié. La première expression est remplacée par{0}
, la seconde par{1}
, et ainsi de suite.expr_1 [ , expr_2, ... ]
Expressions dont les valeurs seront éventuellement substituées dans la chaîne du modèle à la place des espaces réservés numérotés. Il peut s’agir de noms de colonnes ou d’autres expressions. Les valeurs peuvent être de n’importe quel type compatible avec une chaîne (par exemple, VARCHAR, NUMBER, etc.) ou FILE.
Renvoie¶
Un site SQL OBJECT avec la structure suivante :
{
'template': '<template_string>',
'args': ARRAY(<value_1>, <value_2>, ...)
}
Le tableau args
contient la valeur des expressions spécifiées dans l’appel de la fonction PROMPT.
Notes sur l’utilisation¶
PROMPT n’effectue aucun formatage de chaîne lui-même. Il est destiné à construire un objet qui sera consommé par les fonctions de Cortex AI.
L’utilisation, dans la chaîne du modèle, d’un espace réservé qui n’a pas d’expression correspondante est une erreur, mais l’existence d’expressions qui ne sont pas utilisées dans la chaîne du modèle n’est pas une erreur.
Exemples¶
Utilisation de base¶
SELECT PROMPT('Hello, {0}! Today is {1}.', 'Alice', 'Monday');
Sortie :
{
'template': 'Hello, {0}! Today is {1}.',
'args': ['Alice', 'Monday']
}
A utiliser avec Cortex COMPLETE et une colonne FILE¶
SNOWFLAKE.CORTEX.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;
Voir COMPLETE (SNOWFLAKE.CORTEX) (multimodal) pour plus d’exemples.