ai_generate_text()
の設定と考慮事項
重要
この機能はパブリック プレビュー段階にあります。
警告
AI 関数 ai_generate_text()
は非推奨です。 Databricks では、外部モデルで ai_query を使うことをお勧めします。
この記事では、ai_generate_text()
関数の使用を始める前に考慮すべき内容と設定する内容、特に認証資格情報を取得して安全に保存する方法について説明します。 また、機能に関する制限事項とコスト パフォーマンスに関する考慮事項についても説明します。
ai_generate_text()
の概要
ai_generate_text()
関数は、SQL から大規模な言語モデル (LLM) に直接アクセスできる組み込みの Azure Databricks SQL 関数です。 この関数は現在、OpenAI モデルと Azure OpenAI モデルへのアクセスをサポートしており、顧客はそれらをデータ パイプラインと機械学習ワークロードの構成要素として使用できます。 構文と設計パターンについては、ai_generate_text関数の言語の手動コンテンツを参照してください。
ai_generate_text()
には、翻訳、要約、推奨アクション、トピック、またはテーマの識別などのユース ケースが考えられます。
Azure Databricks で LLM を使用する利点を次に示します。
- オープン ソースと独自の LLM 間の統合されたアクセスと管理レイヤー。
- サーバーレス、自動スケーリング、データ統合 LLM インフラストラクチャ。
- ポイント アンド クリックが簡素化され、ビジネス要件とユース ケースに合わせて LLM をカスタマイズできます。
- 高度なユーザーの場合は、オープンソース LLM の迅速な開発とカスタマイズ用のツールです。
要件
- AI 関数のパブリック プレビューへの登録。 パブリック プレビューに登録するには、「AI 機能パブリック プレビュー登録フォーム」に入力して送信します。
- Azure Databricks SQL Pro または Serverless。
- この機能の有効化と使用により、データが SQL 環境を離れ、サードパーティの LLM モデル プロバイダー (OpenAI と Azure OpenAI) に渡されることを理解します。
- Azure OpenAI または OpenAI にアクセスできます。
- GPT 3.5 Turbo モデルがデプロイされました。
認証の詳細を取得する
ai_generate_text()
関数を使用するには、Azure OpenAI または OpenAI にアクセスできる必要があります。
次の手順を使用して、Azure OpenAI の認証の詳細を取得します。 認証の詳細によって、resourceName
の deploymentName
パラメーターと ai_generate_text()
パラメーターが設定されます。
- Azure Portal で Cognitive Services に移動し、Azure OpenAI を選択します。
- 使用するリソースを選びます。
- [リソース管理] で [キーとエンドポイント] を選択します。
- キーとリソースの名前をコピーします。
- [リソース管理] で [モデル デプロイ] を選択します。
- モデル デプロイ名をコピーします。
OpenAI の場合は、OpenAI に移動し、API キーを選択してキーを作成できます。
Note
既存のキー構成のキーをコピーすることはできません。
次のいずれかを実行できます。
- 構成を作成したユーザー (プリンシパルとも呼ばれます) からキーを取得します。
- 新しいキーを作成し、正常に作成された時点で指定されたキーをコピーします。
アクセス トークンを保存する
重要
ノートブック、コード、または git リポジトリのプレーン テキストにトークンを含めないでください。
Azure Databricks シークレットを使用して API トークンを保持できます。 Databricks CLI または シークレット API 2.0 を使用してシークレットを作成します。 次の例の手順では、Secrets CLI を使用します。
OpenAI キーを保持するシークレット スコープがまだない場合は、次のように作成します。
databricks secrets create-scope openai
OpenAI への接続を許可されているユーザーまたはグループに対して、READ 以上のアクセス許可を付与する必要があります。 Databricks では、グループ
openai-users
を作成し、許可されたユーザーをそのグループに追加することをお勧めします。databricks secrets put-acl openai openai-users READ
API アクセス トークンのシークレットを作成します。 Databricks では、次の形式
<resource-name>-key
を推奨しています。databricks secrets put-secret openai demo-key --string-value yourkey123
制限事項
ai_generate_text()
は、対話型クラスターまたはジョブ クラスターではサポートされていません。- プレビューでサポートされているモデルは
openai/gpt-3.5-turbo
とazure_openai/gpt-35-turbo
のみです。 openai/gpt-3.5-turbo
およびazure_openai/gpt-35-turbo
でのトークンの制限数は 4096 です。
コストおよびパフォーマンスに関する注意点
- OpenAI と Azure OpenAI Services には、Azure Databricks とは別にサブスクリプションと料金が必要です。
- OpenAI と Azure OpenAI Service のトークン コストは、入力と出力の両方に適用されます。
- 詳細については、OpenAI の価格ページおよび Azure OpenAI の価格に関するページを参照してください。
- 特定のクエリ内で、LLM API の呼び出しは、関数が呼び出される列に対して順番に行われます。
- ほとんどの SQL 関数と比較して、
ai_generate_text()
を使用するクエリでは実行速度が低下する傾向があります。
- ほとんどの SQL 関数と比較して、
- AI Functions を呼び出すクエリの応答時間は、プロンプトで指定されたタスクと、提供および要求されたトークンの数の両方によって異なります。
- Azure OpenAI Service は、このプレビューの時点で少数の Azure リージョンでのみ使用できます。
その他のリソース
ai_generate_text 関数の構文と設計パターンについては、言語マニュアルのドキュメントを参照してください。