Partilhar via


Função ai_generate_text

Aplica-se a: Marque Sim 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 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 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) e SELECT ... a subconsulta escalar.
      • 'temperature': A temperatura de amostragem a utilizar. Seu valor é um literal numérico entre 0 e 2. O valor predefinido é 1.0.
      • stop: Parar strings. Seu valor é um STRING literal ou um ARRAY<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.

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.