Categories:

Funktionen für semistrukturierte und strukturierte Daten (Array/Object)

PROMPT

Die Funktion PROMPT erstellt ein strukturiertes OBJECT, das eine Vorlagenzeichenfolge und eine Liste von Argumenten enthält. Dieses Objekt ist nützlich, um Nachrichten dynamisch zu formatieren, strukturierte Prompts zu erstellen oder formatierte Daten für die weitere Verarbeitung zu speichern, z. B. durch Cortex AI-Funktionen.

Syntax

SELECT PROMPT('<template_string>', <expr_1> [ , <expr_2>, ... ] )
    FROM <table>;

Argumente

Benötigt:

template_string

Eine Zeichenfolge, die nummerierte Platzhalter wie {0} enthält, wobei die Zahl mindestens 0 und kleiner als die Anzahl der angegebenen Ausdrücke ist. Der erste Ausdruck wird durch {0} ersetzt, der zweite durch {1}, und so weiter.

expr_1 [ , expr_2, ... ]

Ausdrücke, deren Werte schließlich anstelle der nummerierten Platzhalter in die Vorlagenzeichenfolge eingefügt werden sollen. Dies können Spaltennamen oder andere Ausdrücke sein. Die Werte können von jedem Typ sein, der in eine Zeichenfolge umgewandelt werden kann (z. B. VARCHAR, NUMBER, usw.), oder FILE.

Rückgabewerte

Ein SQL-OBJECT mit der folgenden Struktur:

{
  'template': '<template_string>',
  'args': ARRAY(<value_1>, <value_2>, ...)
}

Das Array args enthält den Wert der im PROMPT-Funktionsaufruf angegebenen Ausdrücke.

Nutzungshinweise

  • PROMPT führt selbst keine Zeichenfolgenformatierung durch. Er ist dazu gedacht, ein Objekt zu konstruieren, das von den Funktionen von Cortex AI verwendet werden kann.

  • 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.

Beispiele

Grundlegende Verwendung

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

Ausgabe:

{
    '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));

Verwendung mit Cortex COMPLETE und einer FILE-Spalte

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;

Weitere Beispiele finden Sie unter AI_COMPLETE (Prompt-Objekt).