Funkcja ai_generate_text

Dotyczy:check marked yes Databricks SQL

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Ostrzeżenie

Funkcja ai_generate_text() sztucznej inteligencji jest przestarzała. Usługa Databricks zaleca używanie ai_query z modelami zewnętrznymi.

Zwraca tekst wygenerowany przez wybrany duży model językowy (LLM) na podstawie monitu.

Wymagania

  • Ta funkcja jest dostępna tylko w usłudze Databricks SQL Pro i bezserwerowej.
  • Ta funkcja jest przestarzała. Usługa Databricks zaleca ai_query z modelami zewnętrznymi.

Składnia

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

Argumenty

  • prompt: wyrażenie ciągu, monit tekstowy przekazywany do wybranego modułu LLM.
  • modelName: literał CIĄGU, tylko 'openai/gpt-3.5-turbo' i 'azure_openai/gpt-35-turbo' są obsługiwane.
  • paramN i valueN: pary klucz-wartość do uwierzytelniania i konfigurowania wybranej usługi LLM. Klucze muszą być literałami ciągów i uwzględniać wielkość liter. Typy wartości zależą od następujących kluczy:
    • Model 'openai/gpt-3.5-turbo' używa interfejsu API uzupełniania czatu z poziomu interfejsu Open AI. Obsługuje on następujące parametry:
      • 'apiKey':Wymagane. Klucz interfejsu API openAI umożliwiający dostęp do punktu końcowego modelu. Określona wartość nie może być jawnym ciągiem stałym. Zalecana wartość obejmuje funkcję secret(scope, key) i SELECT ... podzapytania skalarną.
      • 'temperature': temperatura próbkowania do użycia. Jego wartość jest literałem liczbowym między 0 i 2. Domyślna wartość to 1.0.
      • stop: Zatrzymaj ciągi. Jego wartość jest literałem STRING lub ARRAY<STRING> do 4 literałów ciągu. Wartością domyślną jest wartość null.
    • Model 'azure_openai/gpt-35-turbo' używa interfejsu API uzupełniania czatu z usługi Azure OpenAI. Akceptuje wszystkie parametry z powyższego 'openai/gpt-3.5-turbo' modelu i wszelkie dodatkowe parametry do konstruowania adresu URL punktu końcowego. Usługa Databricks obsługuje tylko uwierzytelnianie za pomocą klucza interfejsu API.
      • 'resourceName':Wymagane. Jego wartość to literał ciągu określający nazwę zasobu.
      • 'deploymentName':Wymagane. Jego wartość to literał ciągu określający nazwę wdrożenia.
      • 'apiVersion':Wymagane. Jego wartość to literał ciągu określający wersję interfejsu API do użycia.

Zwraca

Wyrażenie ciągu reprezentujące tekst wygenerowany ponownie z wybranego modułu LLM.

Przykłady

Zobacz Analizowanie recenzji klientów za pomocą ai_generate_text() i interfejsu ai_generate_text OpenAI, aby zapoznać się z przykładem przypadku użycia funkcji.


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