Função ai_generate_text
Aplica-se a: Databricks SQL
Importante
Esta funcionalidade está em Pré-visualização Pública.
Aviso
A função ai_generate_text()
de IA está obsoleta. A Databricks recomenda o uso de ai_query com modelos externos.
Retorna o texto gerado por um modelo de linguagem grande (LLM) selecionado dado o prompt.
Requisitos
- Esta função só está disponível no Databricks SQL Pro e Serverless.
- Esta função foi preterida. A Databricks recomenda ai_query com modelos externos.
Sintaxe
ai_generate_text(prompt, modelName[, param1, value1] [...])
Argumentos
prompt
: Uma expressão de cadeia de caracteres, o prompt de texto que é passado para o LLM selecionado.modelName
: Um literal STRING, apenas'openai/gpt-3.5-turbo'
e'azure_openai/gpt-35-turbo'
são suportados.paramN
evalueN
: pares chave-valor para autenticar e configurar o LLM selecionado. As chaves devem ser literais de cadeia de caracteres e diferenciam maiúsculas de minúsculas. Os tipos de valores dependem das seguintes chaves:- O modelo
'openai/gpt-3.5-turbo'
usa a API de conclusão de bate-papo da Open AI. Ele suporta os seguintes parâmetros:'apiKey'
:Necessário. A chave da API OpenAI para acessar o endpoint do modelo. O valor especificado não pode ser uma cadeia de caracteres constante explícita. O valor recomendado inclui a função secret(scope, key) eSELECT ...
a subconsulta escalar.'temperature'
: A temperatura de amostragem a utilizar. Seu valor é um literal numérico entre0
e2
. O valor predefinido é1.0
.stop
: Parar strings. Seu valor é umSTRING
literal ou umARRAY<STRING>
de até 4 literais de cordas. O valor padrão é null.
- O modelo
'azure_openai/gpt-35-turbo'
usa a API de conclusão de chat do Serviço OpenAI do Azure. Ele aceita todos os parâmetros do modelo acima'openai/gpt-3.5-turbo'
e quaisquer parâmetros adicionais para construir a URL do ponto final. O Databricks suporta apenas a autenticação de chave de API.'resourceName'
:Necessário. Seu valor é um literal de cadeia de caracteres para especificar o nome do recurso.'deploymentName'
:Necessário. Seu valor é um literal de cadeia de caracteres para especificar o nome da implantação.'apiVersion'
:Necessário. Seu valor é um literal de cadeia de caracteres para especificar a versão da API a ser usada.
- O modelo
Devoluções
Uma expressão de cadeia de caracteres que representa o texto regenerado a partir do LLM selecionado.
Exemplos
Consulte Analisar avaliações de clientes com ai_generate_text() e OpenAI para obter um exemplo de caso de uso da ai_generate_text
função.
> 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.