ai_generate_text
Función
Se aplica a Databricks SQL
Importante
Esta característica está en versión preliminar pública.
Advertencia
La función de IA, ai_generate_text()
está en desuso. Databricks recomienda usar ai_query con modelos externos.
Devuelve el texto generado por un modelo de lenguaje grande (LLM) seleccionado según el símbolo del sistema.
Requisitos
- Esta función sólo está disponible en Databricks SQL Pro y Serverless.
- Esta función es desusada. Databricks recomienda ai_query con modelos externos.
Sintaxis
ai_generate_text(prompt, modelName[, param1, value1] [...])
Argumentos
prompt
: una expresión de cadena, el mensaje de texto que se pasa al LLM seleccionado.modelName
: solo'openai/gpt-3.5-turbo'
se admite un literal STRING y'azure_openai/gpt-35-turbo'
.paramN
yvalueN
: pares clave-valor para autenticar y configurar el LLM seleccionado. Las claves deben ser literales de cadena y distinguen mayúsculas de minúsculas. Los tipos de los valores dependen de las claves siguientes:- El modelo
'openai/gpt-3.5-turbo'
usa la API de finalización de chat de Open AI. SAC admite los siguientes parámetros:'apiKey'
: obligatorio. Clave de API de OpenAI para acceder al punto de conexión del modelo. El valor especificado no puede ser una cadena constante explícita. El valor recomendado incluye la función secret(scope, key) ySELECT ...
la subconsulta escalar.'temperature'
: Temperatura de muestreo que se debe usar. Su valor es un literal numérico entre0
y2
. El valor predeterminado es1.0
.stop
: cadenas de detención. Su valor es unSTRING
literal o deARRAY<STRING>
hasta 4 literales de cadena. El valor predeterminado es null.
- El modelo
'azure_openai/gpt-35-turbo'
usa la API de finalización de chat de Azure OpenAI Service. Acepta todos los parámetros del modelo anterior'openai/gpt-3.5-turbo'
y cualquier parámetro adicional para construir la dirección URL del punto de conexión. Databricks solo admite la autenticación de clave de API.'resourceName'
: obligatorio. Su valor es un literal de cadena para especificar el nombre del recurso.'deploymentName'
: obligatorio. Su valor es un literal de cadena para especificar el nombre de la implementación.'apiVersion'
: obligatorio. Su valor es un literal de cadena para especificar la versión de la API que se va a usar.
- El modelo
Devoluciones
Expresión de cadena que representa el texto regenerado a partir del LLM seleccionado.
Ejemplos
Consulte Análisis de revisiones de clientes con ai_generate_text() y OpenAI para ver un caso de uso de ejemplo de la ai_generate_text
función.
> 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.