適用対象:
Databricks SQL
重要
この機能はパブリック プレビュー段階にあります。
警告
AI 関数 ai_generate_text() は非推奨です。 Databricks では、外部モデルで ai_query を使うことをお勧めします。
与えられた "prompt" に応じて、選択した大規模言語モデル (LLM) で生成されたテキストを返します。
要件
- この機能は、Databricks SQL Pro と Serverless でのみ利用できます。
- この関数の使用は非推奨とされます。 Databricks では、外部モデルを使用したai_query をお勧めします。
構文
ai_generate_text(prompt, modelName[, param1, value1] [...])
引数
-
prompt: 文字列式。選択した LLM に渡されるテキスト プロンプト。 -
modelName: STRING リテラル。'openai/gpt-3.5-turbo'と'azure_openai/gpt-35-turbo'のみがサポートされています。 -
paramNandvalueN: 選択した LLM を認証および構成するためのキーと値のペア。 キーは、文字列リテラルである必要があり、大文字と小文字が区別されます。 値の種類は、次のキーによって異なります:- モデル
'openai/gpt-3.5-turbo'には、Open AI のチャット補完 API が使われます。 これは、次のパラメーターをサポートしています。-
'apiKey': 必須。 モデル エンドポイントにアクセスするための OpenAI API キー。 指定した値を明示的な定数文字列にすることはできません。 推奨値には、secret(scope, key) 関数とSELECT ...スカラー サブクエリが含まれます。 -
'temperature': 使用するサンプリング温度。 その値は、0と2の間の数値リテラルです。 既定値は1.0です。 -
stop: 文字列を停止します。 その値は、STRINGリテラルまたは最大 4 つの文字列リテラルのARRAY<STRING>です。 既定値は null です。
-
- モデル
'azure_openai/gpt-35-turbo'には、Azure OpenAI Service のチャット補完 API が使われます。 上記の'openai/gpt-3.5-turbo'モデルのすべてのパラメーターと、エンドポイント URL を構築するためのすべての追加のパラメーターを受け入れます。 Databricks は、API キー認証のみをサポートしています。-
'resourceName': 必須。 その値は、リソース名を指定する文字列リテラルです。 -
'deploymentName': 必須。 その値は、デプロイ名を指定する文字列リテラルです。 -
'apiVersion': 必須。 その値は、API バージョンを指定する文字列リテラルです。
-
- モデル
返品
選択した LLM から再生成されたテキストを表す文字列式。
例
ai_generate_text()関数のユース ケースの例については、「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.