Azure Database for PostgreSQL - フレキシブル サーバーの Azure AI 拡張機能
適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
Azure AI 用 Azure Database for PostgreSQL フレキシブル サーバー拡張機能を使用すると、大規模言語モデル (LLMS) を使用し、データベース内に機能豊富な生成 AI アプリケーションを構築できます。 Azure AI 拡張機能を使用すると、データベースで、Azure OpenAI や Azure Cognitive Services 含むさまざまな Azure AI サービスを呼び出し、開発プロセスを簡略化して、それらのサービスへのシームレスな統合を実現できます。
azure_ai
拡張機能を有効にする
Azure Database for PostgreSQL フレキシブル サーバー インスタンスで azure_ai
を有効にする前に、「PostgreSQL 拡張機能の使用方法」で説明されているように、それを許可リストに追加し、正しく追加されているかを SHOW azure.extensions;
を実行して確認する必要があります。
ヒント
azure_ai
で一般的に使用される pgvector
拡張機能を有効にすることもできます。
その後、ターゲット データベースに接続して CREATE EXTENSION コマンドを実行することで、拡張機能をインストールできます。 拡張機能を使用できるようにしたいデータベースごとに、このコマンドを個別に繰り返す必要があります。
CREATE EXTENSION azure_ai;
Note
現在接続されているデータベースから拡張機能を削除するには、DROP EXTENSION azure_ai;
を使用します。
拡張機能 azure_ai
をインストールすると、次の 3 つのスキーマが作成されます。
azure_ai
: 構成テーブルが存在するプリンシパル スキーマと、それを操作するための関数。azure_openai
: OpenAI に関連する関数と複合型。azure_cognitive
: Cognitive Services に関連する関数と複合型。
この拡張機能では、Azure OpenAI と Azure Cognitive Services を呼び出すこともできます。
azure_ai
拡張機能の構成
拡張機能を構成するには、Azure AI サービスに接続するためのエンドポイントと、認証に必要な API キーを指定する必要があります。 サービス設定は、次の関数を使用して格納されます。
アクセス許可
Azure AI アクセス キーは、アカウントの root パスワードと似ています。 アクセス キーは常に慎重に保護してください。 キーを安全に管理およびローテーションするには、Azure Key Vault を使用します。
拡張機能で使われるサービス キーを管理するには、ユーザーに azure_ai_settings_manager
ロールが付与されている必要があります。 次の関数にはこのロールが必要です。
- azure_ai.set_setting
- azure_ai.get_setting
azure_ai_settings_manager
ロールは、既定で azure_pg_admin
ロールに付与されます。
azure_ai.set_setting
構成オプションを設定するために使用されます。
azure_ai.set_setting(key TEXT, value TEXT)
引数
key
構成オプションの名前です。 key
の有効な値は次のとおりです。
azure_openai.endpoint
: サポートされている OpenAI エンドポイント (https://example.openai.azure.com
など)。azure_openai.subscription_key
: OpenAI リソースのサブスクリプション キー。azure_cognitive.endpoint
: サポートされている Cognitive Services エンドポイント (https://example.cognitiveservices.azure.com
など)。azure_cognitive.subscription_key
: Cognitive Services リソースのサブスクリプション キー。
value
TEXT
選択した設定の目的の値を表します。
azure_ai.get_setting
構成オプションの現在の値を取得するために使用されます。
azure_ai.get_setting(key TEXT)
引数
キー
構成オプションの名前です。 key
の有効な値は次のとおりです。
azure_openai.endpoint
: サポートされている OpenAI エンドポイント (https://example.openai.azure.com
など)。azure_openai.subscription_key
: OpenAI リソースのサブスクリプション キー。azure_cognitive.endpoint
: サポートされている Cognitive Services エンドポイント (https://example.cognitiveservices.azure.com
など)。azure_cognitive.subscription_key
: Cognitive Services リソースのサブスクリプション キー。
返り値の種類
TEXT
は選択した設定の現在の値を表します。
azure_ai.version
azure_ai.version()
返り値の種類
TEXT
は Azure AI 拡張機能の現在のバージョンを表します。
例
Azure OpenAI のエンドポイントと API キーを設定する
select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com');
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>');
Azure OpenAI のエンドポイントと API キーを取得する
select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');
Azure AI 拡張機能のバージョンを確認する
select azure_ai.version();
アクセス許可
azure_ai
拡張機能は、拡張機能に関連する設定の読み取りと書き込みを可能にする azure_ai_settings_manager
というロールを定義します。 azure_ai.get_settings
および azure_ai.set_settings
関数を呼び出すことができるのは、スーパーユーザーと azure_ai_settings_manager
ロールのメンバーだけです。 Azure Database for PostgreSQL フレキシブル サーバーでは、すべての管理者ユーザーに azure_ai_settings_manager
ロールが割り当てられています。
Azure AI 拡張機能をアップグレードする
拡張機能の新しいバージョンでは新しい機能が導入される可能性があり、拡張機能のインプレース アップグレードが可能です。 次の SQL コマンドを使用することで、現在インストールされているバージョンと利用可能な最新バージョンを比較できます。
SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'
インストール済みの拡張機能を、Azure でサポートされている利用可能な最新バージョンに更新するには、次の SQL コマンドを使用します。
ALTER EXTENSION azure_ai UPDATE;