Функция ai_generate_text
Область применения: 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(scope, key) и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
".
> 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.