Share via


Azure Database for PostgreSQL - フレキシブル サーバーの Azure AI 拡張機能

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Azure AI 用 Azure Database for PostgreSQL フレキシブル サーバー拡張機能を使用すると、大規模言語モデル (LLMS) を使用し、データベース内に機能豊富な生成 AI アプリケーションを構築できます。  Azure AI 拡張機能を使用すると、データベースで、Azure OpenAIAzure 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;

次のステップ