ai_generate_textFunción

Se aplica a:check marked yes 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 y valueN: 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) y SELECT ... la subconsulta escalar.
      • 'temperature': Temperatura de muestreo que se debe usar. Su valor es un literal numérico entre 0 y 2. El valor predeterminado es 1.0.
      • stop: cadenas de detención. Su valor es un STRING literal o de ARRAY<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.

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.