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 ai_query con modelli esterni.

Sintassi

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

Argomenti

  • prompt: Un'espressione di stringa, il prompt di testo che viene passato 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 stringhe letterali e sono sensibili alle 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 la sottoquery scalare SELECT ....
      • 'temperature': temperatura di campionamento da usare. Il valore è un valore letterale numerico compreso tra 0 e 2. Il valore predefinito è 1.0.
      • stop: Blocca stringhe. Il suo valore è un STRING letterale o un massimo di 4 letterali di stringa ARRAY<STRING>. 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 di 'openai/gpt-3.5-turbo' precedente ed eventuali parametri aggiuntivi per costruire l'URL dell'endpoint. Databricks supporta solo l'autenticazione con chiave API.
      • 'resourceName': richiesto. Il valore è una stringa letterale per specificare il nome della risorsa.
      • 'deploymentName': richiesto. Il suo valore è una stringa letterale per specificare il nome della distribuzione.
      • 'apiVersion': richiesto. Il suo valore è una stringa letterale per specificare la versione dell'API da usare.

Valori restituiti

L'espressione stringa che rappresenta il testo rigenerato dal modello LLM selezionato.

Esempi

Vedere Analizzare le recensioni dei clienti con ai_generate_text() e OpenAI per un esempio di caso d'uso della funzione 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.