ai_generate_text-functie

Van toepassing op:check marked yes Databricks SQL

Belangrijk

Deze functie is beschikbaar als openbare preview.

Waarschuwing

De AI-functie ai_generate_text() is afgeschaft. Databricks raadt het gebruik van ai_query aan met externe modellen.

Retourneert tekst die wordt gegenereerd door een geselecteerd LLM (Large Language Model) op basis van de prompt.

Vereisten

Syntaxis

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

Argumenten

  • prompt: Een tekenreeksexpressie, de tekstprompt die wordt doorgegeven aan de geselecteerde LLM.
  • modelName: een letterlijke tekenreeks, alleen 'openai/gpt-3.5-turbo' en 'azure_openai/gpt-35-turbo' wordt ondersteund.
  • paramN en valueN: sleutel-waardeparen voor verificatie en configuratie van de geselecteerde LLM. De sleutels moeten letterlijke tekenreeksen zijn en hoofdlettergevoelig zijn. De typen waarden zijn afhankelijk van de volgende sleutels:
    • Model 'openai/gpt-3.5-turbo' maakt gebruik van de API voor chatvoltooiing van Open AI. Het ondersteunt de volgende parameters:
      • 'apiKey':Vereist. De OpenAI API-sleutel voor toegang tot het modeleindpunt. De opgegeven waarde kan geen expliciete constante tekenreeks zijn. Aanbevolen waarde omvat de functie secret(scope, sleutel) en SELECT ... scalaire subquery.
      • 'temperature': De te gebruiken steekproeftemperatuur. De waarde is een numerieke letterlijke waarde tussen 0 en 2. De standaardwaarde is 1.0.
      • stop: Stop tekenreeksen. De waarde is een STRING letterlijke waarde of een ARRAY<STRING> waarde van maximaal 4 letterlijke tekenreeksen. De standaardwaarde is null.
    • Model 'azure_openai/gpt-35-turbo' maakt gebruik van de API voor het voltooien van chats vanuit de Azure OpenAI-service. Het accepteert alle parameters uit het bovenstaande 'openai/gpt-3.5-turbo' model en eventuele aanvullende parameters om de eindpunt-URL te maken. Databricks biedt alleen ondersteuning voor API-sleutelverificatie.
      • 'resourceName':Vereist. De waarde is een letterlijke tekenreeks om de resourcenaam op te geven.
      • 'deploymentName':Vereist. De waarde is een letterlijke tekenreeks om de implementatienaam op te geven.
      • 'apiVersion':Vereist. De waarde is een letterlijke tekenreeks om de API-versie op te geven die moet worden gebruikt.

Retouren

Een tekenreeksexpressie die de tekst weergeeft die opnieuw is gegenereerd op basis van de geselecteerde LLM.

Voorbeelden

Zie Klantbeoordelingen analyseren met ai_generate_text() en OpenAI voor een voorbeeldgebruiksscenario van de ai_generate_text functie.


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