Funzione ai_generate_text
Si applica a: Databricks SQL
Importante
Questa funzionalità è disponibile in anteprima pubblica.
Avviso
La funzione di IA ai_generate_text()
è deprecata. Databricks consiglia di usare ai_query con modelli esterni.
Restituisce il testo generato da un modello LLM (Large Language Model) selezionato in base al prompt.
Requisiti
- Questa funzione è disponibile solo in Databricks SQL Pro e Serverless.
- Questa funzione è deprecata. Databricks consiglia di ai_query con modelli esterni.
Sintassi
ai_generate_text(prompt, modelName[, param1, value1] [...])
Argomenti
-
prompt
: espressione stringa, richiesta di testo passata all'LLM selezionato. -
modelName
: valore letterale STRING, solo'openai/gpt-3.5-turbo'
e'azure_openai/gpt-35-turbo'
sono supportati. -
paramN
evalueN
: coppie chiave-valore per autenticare e configurare l'LLM selezionato. Le chiavi devono essere valori letterali stringa e distinzione tra maiuscole e minuscole. I tipi di values dipendono dalle chiavi seguenti:- Il modello
'openai/gpt-3.5-turbo'
usa l'API di completamento della chat da Open AI. Supporta i parametersseguenti:-
'apiKey'
: richiesto. Chiave API OpenAI per accedere all'endpoint del modello. Il valore specificato non può essere una stringa costante esplicita. Il valore consigliato include la funzione secret(scope, key) eSELECT ...
la sottoquery scalare. -
'temperature'
: temperatura di campionamento da usare. Il valore è un valore letterale numerico compreso tra0
e2
. Il valore predefinito è1.0
. -
stop
: stringhe di arresto. Il valore è unSTRING
valore letterale o diARRAY<STRING>
un massimo di 4 valori letterali stringa. Il valore predefinito è null.
-
- Il modello
'azure_openai/gpt-35-turbo'
usa l'API di completamento della chat dal servizio OpenAI di Azure. Accetta tutti i parameters dal modello di'openai/gpt-3.5-turbo'
precedente ed eventuali parameters aggiuntivi per costruire l'URL dell'endpoint. Databricks supporta solo l'autenticazione con chiave API.-
'resourceName'
: richiesto. Il valore è un valore letterale stringa per specificare il nome della risorsa. -
'deploymentName'
: richiesto. Il valore è un valore letterale stringa per specificare il nome della distribuzione. -
'apiVersion'
: richiesto. Il valore è un valore letterale stringa per specificare la versione dell'API da usare.
-
- Il modello
Valori restituiti
Espressione stringa che rappresenta il testo rigenerato dall'LLM selezionato.
Esempi
Per un esempio di caso d'uso della funzione, vedere ai_generate_text
.
> SELECT ai_generate_text('Hello', 'openai/gpt-3.5-turbo',
'apiKey', secret('ml', 'key'),
'temperature', 0.1);
Hello! How can I assist you today?
> SELECT ai_generate_text('Hello',
'azure_openai/gpt-35-turbo',
'apiKey', secret('ml', 'key'),
'resouceName', 'resource',
'deploymentName', 'deploy',
'apiVersion', '2023-03-15-preview',
'temperature', 0.1);
Hello! How can I assist you today?
> SELECT ai_generate_text('Hello', 'openai/gpt-3.5-turbo',
'apiKey', (SELECT secret FROM secrets.open_ai_tokens LIMIT 1),
'temperature', 0.1);
Hello! How can I assist you today?
> CREATE FUNCTION summarize(text STRING)
RETURNS STRING
RETURN AI_GENERATE_TEXT(
CONCAT('Summarize the following text: ',
text),
'openai/gpt-3.5-turbo',
'apiKey', (SELECT secret FROM secrets.open_ai_tokens LIMIT 1),
'temperature', 0.1
);
SELECT summarize('This is the text to be summarized.')
This is the summarization.
> SELECT ai_generate_text('Hello',
'openai/gpt-3.5-turbo',
'apiKey', 'sg-xxxxxxxxxxxxxxxxxxxxxx',
'temperature', 0.1);
Error: DATATYPE_MISMATCH.INVALID_SECRET
The parameter value of the "apiKey" argument to the ai_generate_text function can not be a constant 'sg-xxxxxxxxxxxxxxxxxxxxxx'. Recommended usages include `secret(scope, key)` function or a `SELECT ...` subquery.