Função ai_generate_text

Aplica-se a:check marked yes Databricks SQL

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 e valueN: 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) e SELECT ... subconsulta escalar.
      • 'temperature': a temperatura de amostragem a ser usada. Seu valor é um literal numérico entre 0 e 2. O valor padrão é 1.0.
      • stop: interromper cadeias de caracteres. Seu valor é um literal STRING ou um ARRAY<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.

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.