Funktionen ai_generate_text
Gäller för: 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
ochvalueN
: 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) ochSELECT ...
scalar subquery.'temperature'
: Den samplingstemperatur som ska användas. Dess värde är en numerisk literal mellan0
och2
. Standardvärdet är1.0
.stop
: Stoppa strängar. Dess värde är enSTRING
literal eller enARRAY<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.
- Modellen
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.