ai_generate_text
-functie
Van toepassing op: Databricks SQL
Belangrijk
Deze functie is beschikbaar als openbare preview.
Waarschuwing
De AI-functie ai_generate_text()
is afgeschaft. Databricks raadt het gebruik van ai_query aan met externe modellen.
Retourneert tekst die wordt gegenereerd door een geselecteerd LLM (Large Language Model) op basis van de prompt.
Vereisten
- Deze functie is alleen beschikbaar op Databricks SQL Pro en serverloos.
- Deze functie is afgeschaft. Databricks raadt ai_query aan met externe modellen.
Syntaxis
ai_generate_text(prompt, modelName[, param1, value1] [...])
Argumenten
prompt
: Een tekenreeksexpressie, de tekstprompt die wordt doorgegeven aan de geselecteerde LLM.modelName
: een letterlijke tekenreeks, alleen'openai/gpt-3.5-turbo'
en'azure_openai/gpt-35-turbo'
wordt ondersteund.paramN
envalueN
: sleutel-waardeparen voor verificatie en configuratie van de geselecteerde LLM. De sleutels moeten letterlijke tekenreeksen zijn en hoofdlettergevoelig zijn. De typen waarden zijn afhankelijk van de volgende sleutels:- Model
'openai/gpt-3.5-turbo'
maakt gebruik van de API voor chatvoltooiing van Open AI. Het ondersteunt de volgende parameters:'apiKey'
:Vereist. De OpenAI API-sleutel voor toegang tot het modeleindpunt. De opgegeven waarde kan geen expliciete constante tekenreeks zijn. Aanbevolen waarde omvat de functie secret(scope, sleutel) enSELECT ...
scalaire subquery.'temperature'
: De te gebruiken steekproeftemperatuur. De waarde is een numerieke letterlijke waarde tussen0
en2
. De standaardwaarde is1.0
.stop
: Stop tekenreeksen. De waarde is eenSTRING
letterlijke waarde of eenARRAY<STRING>
waarde van maximaal 4 letterlijke tekenreeksen. De standaardwaarde is null.
- Model
'azure_openai/gpt-35-turbo'
maakt gebruik van de API voor het voltooien van chats vanuit de Azure OpenAI-service. Het accepteert alle parameters uit het bovenstaande'openai/gpt-3.5-turbo'
model en eventuele aanvullende parameters om de eindpunt-URL te maken. Databricks biedt alleen ondersteuning voor API-sleutelverificatie.'resourceName'
:Vereist. De waarde is een letterlijke tekenreeks om de resourcenaam op te geven.'deploymentName'
:Vereist. De waarde is een letterlijke tekenreeks om de implementatienaam op te geven.'apiVersion'
:Vereist. De waarde is een letterlijke tekenreeks om de API-versie op te geven die moet worden gebruikt.
- Model
Retouren
Een tekenreeksexpressie die de tekst weergeeft die opnieuw is gegenereerd op basis van de geselecteerde LLM.
Voorbeelden
Zie Klantbeoordelingen analyseren met ai_generate_text() en OpenAI voor een voorbeeldgebruiksscenario van de ai_generate_text
functie.
> 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.