PROMPT
PROMPT
템플릿 문자열과 인자 목록을 담은 구조화된 OBJECT를 구성하는 함수예요. 메시지를 동적으로 포맷하거나 구조화된 프롬프트를 만들 때, 또는 Cortex AI 함수 같은 곳에서 처리할 포맷된 데이터를 저장할 때 유용합니다.
본문
프리뷰 기능 — 공개: 모든 계정에서 사용할 수 있어요.
SELECT PROMPT('<template_string>', <expr_1> [ , <expr_2>, ... ] )
FROM <table>;
template_string — {0} 같은 번호 매겨진 자리표시자를 포함한 문자열. 여기서 번호는 0 이상이고 지정한 표현식 수보다 작아야 해요. 첫 번째 표현식이 {0}에, 두 번째가 {1}에 대입되는 식이에요.
expr_1 [, expr_2, ...] — 결국 템플릿 문자열의 번호 매겨진 자리표시자 자리에 대입될 값을 가진 표현식들. 컬럼 이름이나 다른 표현식일 수 있어요. 값은 문자열로 변환될 수 있는 모든 타입(예: VARCHAR, NUMBER) 또는 FILE일 수 있어요.
반환값 — 다음 구조의 SQL OBJECT:
{
'template': '<template_string>',
'args': ARRAY(<value_1>, <value_2>, ...)
}
args 배열에는 PROMPT 함수 호출에서 지정한 표현식의 값이 담겨요.
사용 메모
- PROMPT는 자체적으로 문자열 포맷팅을 하지 않아요. Cortex AI 함수가 소비할 객체를 구성하기 위한 것이에요.
- 템플릿 문자열에 대응하는 표현식이 없는 자리표시자를 쓰는 것은 오류이지만, 템플릿 문자열에서 쓰이지 않는 표현식을 제공하는 것은 오류가 아니에요.
예시 (기본 사용)
SELECT PROMPT('Hello, {0}! Today is {1}.', 'Alice', 'Monday');
{
'template': 'Hello, {0}! Today is {1}.',
'args': ['Alice', 'Monday']
}
예시 (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));