Функция ai_generate_text

Область применения:check marked yes Databricks SQL

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

Предупреждение

Функция ИИ ai_generate_text() не рекомендуется. Databricks рекомендует использовать ai_query с внешними моделями.

Возвращает текст, созданный выбранной крупной языковой моделью (LLM), с помощью запроса.

Требования

  • Эта функция доступна только в Databricks SQL Pro и бессерверном режиме.
  • Эта функция устарела. Databricks рекомендует ai_query с внешними моделями.

Синтаксис

ai_generate_text(prompt, modelName[, param1, value1] [...])

Аргументы

  • prompt: строковое выражение, текстовое предложение, передаваемое выбранному LLM.
  • modelName: строковый литерал, поддерживается только 'openai/gpt-3.5-turbo' и 'azure_openai/gpt-35-turbo' поддерживается.
  • paramN и valueN: пары "ключ-значение" для проверки подлинности и настройки выбранного LLM. Ключи должны быть строковыми литералами и чувствительны к регистру. Типы значений зависят от следующих ключей:
    • Модель 'openai/gpt-3.5-turbo' использует API завершения чата из Open AI. Он поддерживает следующие параметры:
      • 'apiKey': обязательный. Ключ API OpenAI для доступа к конечной точке модели. Указанное значение не может быть явной строкой константы. Рекомендуемое значение включает в себя функцию secret(область, ключ) и SELECT ... скалярный вложенный запрос.
      • 'temperature': используемая температура выборки. Его значение — числовый литерал между 0 и 2. Значение по умолчанию — 1.0.
      • stop: стоп-строки. Его значение — литерал STRING или ARRAY<STRING> до 4 строковых литералов. По умолчанию используется значение NULL.
    • Модель 'azure_openai/gpt-35-turbo' использует API завершения чата из службы Azure OpenAI. Он принимает все параметры из приведенной выше 'openai/gpt-3.5-turbo' модели и все дополнительные параметры для создания URL-адреса конечной точки. Databricks поддерживает только проверку подлинности ключа API.
      • 'resourceName': обязательный. Его значение — строковый литерал для указания имени ресурса.
      • 'deploymentName': обязательный. Его значение — строковый литерал для указания имени развертывания.
      • 'apiVersion': обязательный. Его значение — строковый литерал для указания используемой версии API.

Возвраты

Строковое выражение, представляющее текст, созданный из выбранного LLM.

Примеры

Пример использования ai_generate_text функции см. в статье "Анализ отзывов клиентов с помощью ai_generate_text() и OpenAI".


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