Share via


Funzione ai_generate_text

Si applica a:check marked yes Databricks SQL

Importante

Questa funzionalità è disponibile in anteprima pubblica.

Avviso

La funzione ai_generate_text() di intelligenza artificiale è deprecata. Databricks consiglia di usare ai_query con modelli esterni.

Restituisce il testo generato da un modello LLM (Large Language Model) selezionato in base al prompt.

Requisiti

  • Questa funzione è disponibile solo in Databricks SQL Pro e Serverless.
  • Questa funzione è deprecata. Databricks consiglia di ai_query con modelli esterni.

Sintassi

ai_generate_text(prompt, modelName[, param1, value1] [...])

Argomenti

  • prompt: espressione stringa, richiesta di testo passata all'LLM selezionato.
  • modelName: valore letterale STRING, solo 'openai/gpt-3.5-turbo' e 'azure_openai/gpt-35-turbo' sono supportati.
  • paramN e valueN: coppie chiave-valore per autenticare e configurare l'LLM selezionato. Le chiavi devono essere valori letterali stringa e distinzione tra maiuscole e minuscole. I tipi di valori dipendono dalle chiavi seguenti:
    • Il modello 'openai/gpt-3.5-turbo' usa l'API di completamento della chat da Open AI. Supporta i parametri seguenti:
      • 'apiKey': richiesto. Chiave API OpenAI per accedere all'endpoint del modello. Il valore specificato non può essere una stringa costante esplicita. Il valore consigliato include la funzione secret(scope, key) e SELECT ... la sottoquery scalare.
      • 'temperature': temperatura di campionamento da usare. Il valore è un valore letterale numerico compreso tra 0 e 2. Il valore predefinito è 1.0.
      • stop: stringhe di arresto. Il valore è un STRING valore letterale o di ARRAY<STRING> un massimo di 4 valori letterali stringa. Il valore predefinito è null.
    • Il modello 'azure_openai/gpt-35-turbo' usa l'API di completamento della chat dal servizio OpenAI di Azure. Accetta tutti i parametri del modello precedente 'openai/gpt-3.5-turbo' ed eventuali parametri aggiuntivi per costruire l'URL dell'endpoint. Databricks supporta solo l'autenticazione con chiave API.
      • 'resourceName': richiesto. Il valore è un valore letterale stringa per specificare il nome della risorsa.
      • 'deploymentName': richiesto. Il valore è un valore letterale stringa per specificare il nome della distribuzione.
      • 'apiVersion': richiesto. Il valore è un valore letterale stringa per specificare la versione dell'API da usare.

Valori restituiti

Espressione stringa che rappresenta il testo rigenerato dall'LLM selezionato.

Esempi

Per un esempio di caso d'uso della ai_generate_text funzione, vedere Analizzare le recensioni dei clienti con ai_generate_text() e OpenAI.


> 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.