Partager via


Fonction ai_generate_text

S’applique à : coche marquée oui Databricks SQL

Important

Cette fonctionnalité est disponible en préversion publique.

Avertissement

La fonction IA ai_generate_text() est déconseillée. Databricks recommande d’utiliser ai_query avec des modèles externes.

Retourne le texte généré par un modèle LLM (Grand Language Model) sélectionné en fonction de l’invite.

Spécifications

Syntaxe

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

Arguments

  • prompt : expression de chaîne, invite de texte passée au LLM sélectionné.
  • modelName : littéral STRING, uniquement 'openai/gpt-3.5-turbo' et 'azure_openai/gpt-35-turbo' sont pris en charge.
  • paramN et valueN : paires clé-valeur pour authentifier et configurer le LLM sélectionné. Les clés doivent être des littéraux de chaîne et sont sensibles à la casse. Les types des valeurs dépendent des clés suivantes :
    • Le modèle 'openai/gpt-3.5-turbo' utilise l’API de saisie semi-automatique de conversation d’Open AI. Il prend en charge les paramètres suivants :
      • 'apiKey': requis. Clé API OpenAI pour accéder au point de terminaison du modèle. La valeur spécifiée ne peut pas être une chaîne de constante explicite. La valeur recommandée inclut la fonction secret(scope, key) et la sous-requête scalaire SELECT ....
      • 'temperature' : la température d’échantillonnage utiliser. Sa valeur est un littéral numérique compris entre 0 et 2. La valeur par défaut est 1.0.
      • stop : chaînes d’arrêt. Sa valeur est un STRING littéral ou un ARRAY<STRING> d’au plus quatre littéraux de chaîne. La valeur par défaut est null.
    • Le modèle 'azure_openai/gpt-35-turbo' utilise l’API de saisie semi-automatique de conversation à partir d’Azure OpenAI Service. Il accepte tous les paramètres du modèle 'openai/gpt-3.5-turbo' ci-dessus et tous les paramètres supplémentaires pour construire l’URL du point de terminaison. Databricks prend uniquement en charge l’authentification par clé API.
      • 'resourceName': requis. Sa valeur est un littéral de chaîne pour spécifier le nom de la ressource.
      • 'deploymentName': requis. Sa valeur est un littéral de chaîne pour spécifier le nom du déploiement.
      • 'apiVersion': requis. Sa valeur est un littéral de chaîne pour spécifier le nom de la version de l’API à utiliser.

Retours

Expression de chaîne représentant le texte régénéré à partir du LLM sélectionné.

Exemples

Voir Analyser les avis clients avec ai_generate_text() et OpenAI pour un exemple de cas d’usage de la fonction 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.