Função ai_generate_text
Aplica-se a: SQL do Databricks
Importante
Esse recurso está em uma versão prévia.
Aviso
A função IA ai_generate_text()
foi preterida. O Databricks recomenda o uso de ai_query com modelos externos.
Retorna o texto gerado por um LLM (modelo de linguagem grande) selecionado, considerando o prompt.
Requisitos
- Essa função só está disponível no Databricks, SQL Pro e Sem servidor.
- Esta função é 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 de cadeia de caracteres, somente'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 dos 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'
: obrigatório. A chave da API OpenAI para acessar o ponto de extremidade 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 ...
subconsulta escalar.'temperature'
: a temperatura de amostragem a ser usada. Seu valor é um literal numérico entre0
e2
. O valor padrão é1.0
.stop
: interromper cadeias de caracteres. Seu valor é um literalSTRING
ou umARRAY<STRING>
de até quatro literais de cadeia de caracteres. O valor padrão é nulo.
- O modelo
'azure_openai/gpt-35-turbo'
usa a API de conclusão de bate-papo do Serviço OpenAI do Azure. Ele aceita todos os parâmetros do modelo de'openai/gpt-3.5-turbo'
acima e quaisquer parâmetros adicionais para construir a URL do ponto de extremidade. O Databricks oferece suporte apenas à autenticação de chave de API.'resourceName'
: obrigatório. Seu valor é um literal de cadeia de caracteres para especificar o nome do recurso.'deploymentName'
: obrigatório. Seu valor é um literal de cadeia de caracteres para especificar o nome da implantação.'apiVersion'
: obrigatório. Seu valor é um literal de cadeia de caracteres para especificar a versão da API a ser usada.
- O modelo
Retornos
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 função 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.