Condividi tramite


Funzione ai_generate_text

Si applica a:segno di spunta sì Databricks SQL

Importante

Questa funzionalità è disponibile in anteprima pubblica.

Avviso

La funzione di IA ai_generate_text() è 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 values dipendono dalle chiavi seguenti:
    • Il modello 'openai/gpt-3.5-turbo' usa l'API di completamento della chat da Open AI. Supporta i parametersseguenti:
      • '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 parameters dal modello di 'openai/gpt-3.5-turbo' precedente ed eventuali parameters 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 funzione, vedere 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.