Função PROMPT¶
A função PROMPT constrói um OBJECT estruturado que contém uma cadeia de caracteres de modelo e uma lista de argumentos. Esse objeto é útil para formatar mensagens dinamicamente, criar prompts estruturados ou armazenar dados formatados para processamento posterior, como pelas funções do Cortex AI.
Sintaxe¶
SELECT PROMPT('<template_string>', <expr_1> [ , <expr_2>, ... ] )
FROM <table>;
Argumentos¶
Obrigatório:
template_string
Uma cadeia de caracteres que contém espaços reservados numerados, como
{0}
, em que o número é pelo menos 0 e menor que o número de expressões especificadas. A primeira expressão é substituída por{0}
, a segunda por{1}
, e assim por diante.expr_1 [ , expr_2, ... ]
Expressões cujos valores serão eventualmente substituídos na cadeia de caracteres de modelo no lugar dos espaços reservados numerados. Podem ser nomes de colunas ou outras expressões. Os valores podem ser de qualquer tipo compatível com uma cadeia de caracteres (por exemplo, VARCHAR, NUMBER etc.) ou FILE.
Retornos¶
Um SQL OBJECT com a seguinte estrutura:
{
'template': '<template_string>',
'args': ARRAY(<value_1>, <value_2>, ...)
}
A matriz args
contém o valor das expressões especificadas na chamada de função PROMPT.
Notas de uso¶
PROMPT não executa nenhuma formatação de cadeia de caracteres. O objetivo é construir um objeto a ser consumido pelas funções do Cortex AI.
É um erro usar um espaço reservado na cadeia de caracteres de modelo que não tenha uma expressão correspondente, mas não é um erro ter expressões que não são usadas na cadeia de caracteres de modelo.
Exemplos¶
Uso básico¶
SELECT PROMPT('Hello, {0}! Today is {1}.', 'Alice', 'Monday');
Saída:
{
'template': 'Hello, {0}! Today is {1}.',
'args': ['Alice', 'Monday']
}
Uso com o Cortex COMPLETE e uma coluna 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;
Consulte COMPLETE (SNOWFLAKE.CORTEX) (multimodal) para obter mais exemplos.