Funkce ai_generate_text

Platí pro:check marked yes Databricks SQL

Důležité

Tato funkce je ve verzi Public Preview.

Upozorňující

Funkce ai_generate_text() AI je zastaralá. Databricks doporučuje používat ai_query s externími modely.

Vrátí text vygenerovaný vybraným velkým jazykovým modelem (LLM) vzhledem k výzvě.

Požadavky

  • Tato funkce je dostupná jenom v Databricks SQL Pro a bezserverové verzi.
  • Tato funkce je zastaralá. Databricks doporučuje ai_query s externími modely.

Syntaxe

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

Argumenty

  • prompt: Řetězcový výraz, textový řádek, který se předá vybranému LLM.
  • modelName: Pouze 'openai/gpt-3.5-turbo' literál STRING a 'azure_openai/gpt-35-turbo' jsou podporovány.
  • paramN a valueN: páry klíč-hodnota pro ověření a konfiguraci vybraného LLM. Klíče musí být řetězcové literály a rozlišují velká a malá písmena. Typy hodnot závisí na následujících klíčích:
    • Model 'openai/gpt-3.5-turbo' používá rozhraní API pro dokončování chatu z open AI. Podporuje následující parametry:
      • 'apiKey':Požadované. Klíč rozhraní API OpenAI pro přístup ke koncovému bodu modelu. Zadaná hodnota nemůže být explicitním řetězcem konstanty. Doporučená hodnota zahrnuje funkci secret(scope, key) a SELECT ... skalární poddotaz.
      • 'temperature': Teplota vzorkování, která se má použít. Jeho hodnota je číselný literál mezi 0 a 2. Výchozí hodnota je 1.0.
      • stop: Zastavte řetězce. Jeho hodnota je STRING literál nebo ARRAY<STRING> až 4 řetězcové literály. Výchozí hodnotou je hodnota null.
    • Model 'azure_openai/gpt-35-turbo' používá rozhraní API pro dokončování chatu ze služby Azure OpenAI. Přijímá všechny parametry z výše uvedeného 'openai/gpt-3.5-turbo' modelu a všechny další parametry pro vytvoření adresy URL koncového bodu. Databricks podporuje pouze ověřování pomocí klíče rozhraní API.
      • 'resourceName':Požadované. Jeho hodnota je řetězcový literál pro zadání názvu prostředku.
      • 'deploymentName':Požadované. Jeho hodnota je řetězcový literál pro zadání názvu nasazení.
      • 'apiVersion':Požadované. Jeho hodnota je řetězcový literál určující verzi rozhraní API, která se má použít.

Návraty

Řetězcový výraz představující text vygenerovaný z vybraného LLM.

Příklady

Příklad použití ai_generate_text funkce najdete v tématu Analýza kontrol zákazníků pomocí ai_generate_text() a 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.