Funktionen ai_generate_text

Gäller för: markerad ja Databricks SQL

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Varning

AI-funktionen ai_generate_text() är inaktuell. Databricks rekommenderar att du använder ai_query med externa modeller.

Returnerar text som genererats av en vald stor språkmodell (LLM) givet kommandotolken.

Krav

  • Den här funktionen är endast tillgänglig på Databricks SQL Pro och Serverless.
  • Den här funktionen är inaktuell. Databricks rekommenderar ai_query med externa modeller.

Syntax

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

Argument

  • prompt: Ett stränguttryck, textprompten som skickas till den valda LLM:en.
  • modelName: En STRING-literal, endast 'openai/gpt-3.5-turbo' och 'azure_openai/gpt-35-turbo' stöds.
  • paramN och valueN: nyckel/värde-par för att autentisera och konfigurera den valda LLM. Nycklarna måste vara strängliteraler och skiftlägeskänsliga. Vilka typer av värden som är beroende av följande nycklar:
    • Modellen 'openai/gpt-3.5-turbo' använder API:et för chattens slutförande från Open AI. Den stöder följande parametrar:
      • 'apiKey':Krävs. OpenAI API-nyckeln för åtkomst till modellslutpunkten. Det angivna värdet kan inte vara en explicit konstant sträng. Det rekommenderade värdet inkluderar funktionen secret(scope, key) och SELECT ... scalar subquery.
      • 'temperature': Den samplingstemperatur som ska användas. Dess värde är en numerisk literal mellan 0 och 2. Standardvärdet är 1.0.
      • stop: Stoppa strängar. Dess värde är en STRING literal eller en ARRAY<STRING> på upp till 4 strängliteraler. Standardvärdet är null.
    • Modellen 'azure_openai/gpt-35-turbo' använder API:et för chattens slutförande från Azure OpenAI-tjänsten. Den accepterar alla parametrar från ovanstående 'openai/gpt-3.5-turbo' modell och eventuella ytterligare parametrar för att konstruera slutpunkts-URL:en. Databricks stöder endast API Key-autentisering.
      • 'resourceName':Krävs. Dess värde är en strängliteral för att ange resursnamnet.
      • 'deploymentName':Krävs. Dess värde är en strängliteral för att ange distributionsnamnet.
      • 'apiVersion':Krävs. Dess värde är en strängliteral för att ange den API-version som ska användas.

Returer

Ett stränguttryck som representerar texten som återskapats från den valda LLM.

Exempel

Se Analysera kundrecensioner med ai_generate_text() och OpenAI för ett exempel på användningsfall för ai_generate_text funktionen.


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