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 ai_query con modelli esterni.
Sintassi
ai_generate_text(prompt, modelName[, param1, value1] [...])
Argomenti
-
prompt
: Un'espressione di stringa, il prompt di testo che viene passato 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 stringhe letterali e sono sensibili alle maiuscole e minuscole. I tipi di valori dipendono dalle chiavi seguenti:- Il modello
'openai/gpt-3.5-turbo'
usa l'API di completamento della chat da Open AI. Supporta i parametri seguenti:-
'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) e la sottoquery scalareSELECT ...
. -
'temperature'
: temperatura di campionamento da usare. Il valore è un valore letterale numerico compreso tra0
e2
. Il valore predefinito è1.0
. -
stop
: Blocca stringhe. Il suo valore è unSTRING
letterale o un massimo di 4 letterali di stringaARRAY<STRING>
. 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 parametri del modello di'openai/gpt-3.5-turbo'
precedente ed eventuali parametri aggiuntivi per costruire l'URL dell'endpoint. Databricks supporta solo l'autenticazione con chiave API.-
'resourceName'
: richiesto. Il valore è una stringa letterale per specificare il nome della risorsa. -
'deploymentName'
: richiesto. Il suo valore è una stringa letterale per specificare il nome della distribuzione. -
'apiVersion'
: richiesto. Il suo valore è una stringa letterale per specificare la versione dell'API da usare.
-
- Il modello
Valori restituiti
L'espressione stringa che rappresenta il testo rigenerato dal modello LLM selezionato.
Esempi
Vedere Analizzare le recensioni dei clienti con ai_generate_text()
e OpenAI per un esempio di caso d'uso della funzione 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.