ai_generate_text
-Funktion
Gilt für: Databricks SQL
Wichtig
Dieses Feature befindet sich in der Public Preview.
Warnung
Die KI-Funktion ai_generate_text()
ist veraltet. Databricks empfiehlt die Verwendung von ai_query mit externen Modellen.
Gibt Text zurück, der von einem ausgewählten LLM (Large Language Model) generiert wurde, wenn die Eingabeaufforderung angezeigt wird.
Anforderungen
- Diese Funktion ist nur in Databricks SQL-Instanzen vom Typ „Pro“ und „Serverlos“ verfügbar.
- Diese Funktion ist als veraltet markiert. Databricks empfiehlt ai_query mit externen Modellen.
Syntax
ai_generate_text(prompt, modelName[, param1, value1] [...])
Argumente
prompt
: Ein Zeichenfolgenausdruck, die Texteingabeaufforderung, die an das ausgewählte LLM übergeben wirdmodelName
: Ein STRING-Literal, nur'openai/gpt-3.5-turbo'
und'azure_openai/gpt-35-turbo'
werden unterstützt.paramN
undvalueN
: Schlüssel-Wert-Paare zum Authentifizieren und Konfigurieren des ausgewählten LLM. Bei den Schlüsseln muss es sich um Zeichenfolgenliterale handeln, und die Groß-/Kleinschreibung muss beachtet werden. Die Typen der Werte hängen von den folgenden Schlüsseln ab:- Das Modell
'openai/gpt-3.5-turbo'
verwendet die Chatvervollständigungs-API von Open AI. Die folgenden Parameter werden unterstützt:'apiKey'
: Erforderlich. Der OpenAI-API-Schlüssel für den Zugriff auf den Modellendpunkt. Der angegebene Wert darf keine explizite konstante Zeichenfolge sein. Der empfohlene Wert umfasst die Funktion „secret(scope, key)“ und die skalare UnterabfrageSELECT ...
.'temperature'
: Die zu verwendende Temperatur für die Stichprobenentnahme. Der Wert ist ein numerisches Literal zwischen0
und2
. Der Standardwert ist1.0
.stop
: Zeichenfolgen vom Typ „stop“. Der Wert ist einSTRING
-Literal oderARRAY<STRING>
mit bis zu 4 Zeichenfolgenliteralen. Der Standardwert ist "null".
- Das Modell
'azure_openai/gpt-35-turbo'
verwendet die Chatvervollständigungs-API aus Azure OpenAI Service. Es akzeptiert alle Parameter aus dem obigen'openai/gpt-3.5-turbo'
-Modell und alle zusätzlichen Parameter, um die Endpunkt-URL zu erstellen. Databricks unterstützt nur die API-Schlüsselauthentifizierung.'resourceName'
: Erforderlich. Der Wert ist ein Zeichenfolgenliteral zum Angeben des Ressourcennamens.'deploymentName'
: Erforderlich. Der Wert ist ein Zeichenfolgenliteral zum Angeben des Bereitstellungsnamens.'apiVersion'
: Erforderlich. Der Wert ist ein Zeichenfolgenliteral zum Angeben der zu verwendenden API-Version.
- Das Modell
Gibt zurück
Ein Zeichenfolgenausdruck, der den vom ausgewählten LLM erneut generierten Text darstellt.
Beispiele
Einen Beispielanwendungsfall für die ai_generate_text
-Funktion finden Sie unter Analysieren von Kundenbewertungen mit „ai_generate_text()“ und 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.