ai_generate_text
関数
適用対象: 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'
のみがサポートされています。paramN
andvalueN
: 選択した 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() と 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.