Categories:

Funções de dados semiestruturados e estruturados (Array/Object)

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.

  • It is an error to use a placeholder in the template string that does not have a corresponding expression, but it is not an error to provide expressions that are not used in the template string.

Exemplos

Uso básico

SELECT PROMPT('Hello, {0}! Today is {1}.', 'Alice', 'Monday');

Saída:

{
    'template': 'Hello, {0}! Today is {1}.',
    'args': ['Alice', 'Monday']
}

Use with Cortex AI_FILTER

WITH reviews AS (
    SELECT 'Wow... Loved this place.' AS review, 5 AS rating
    UNION ALL
    SELECT 'Crust is not good.', 2 AS rating
)
SELECT * FROM reviews
WHERE AI_FILTER(PROMPT('The reviewer enjoyed the restaurant: {0}, Rating: {1}', review, rating));

Uso com o Cortex COMPLETE e uma coluna FILE

AI_COMPLETE('claude-4-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 AI_COMPLETE (objeto de prompt) para obter mais exemplos.