Azure Database for PostgreSQLの azure_ai 拡張機能を使用すると、大規模言語モデル (LLM) をデータベース内で使用して生成 AI アプリケーションを構築できます。 データベースは、Azure OpenAI を Microsoft Foundry モデル、Azure OpenAI Service、Azure Cognitive Services (Foundry Tools の Azure Language)、および Azure Machine Learning Services に呼び出すことができ、これらのサービスとのシームレスな統合によって開発を簡素化します。
azure_ai 拡張機能を有効にする
azure_ai拡張機能を使用するには、その拡張機能を許可リストに登録してから、Azure Database for PostgreSQL インスタンスにインストールする必要があります。 開始するには、次の手順に従います。
拡張機能を許可リストする
Azure Database for PostgreSQL フレキシブル サーバーの許可リストに azure_ai を追加する方法については、PostgreSQL 拡張機能の使用方法に従ってください。
SHOW azure.extensions; クエリを実行して、正しく追加されていることを確認します。
拡張機能をインストールする
データベースに接続し、 CREATE EXTENSION コマンドを実行します。
CREATE EXTENSION IF NOT EXISTS azure_ai;
拡張機能が必要なデータベースごとに、このコマンドを繰り返します。
azure_aiをインストールすると、次のスキーマが作成されます。
-
azure_ai: 構成と関連する関数のプリンシパル スキーマ -
azure_openai: Foundry モデルの Azure OpenAI および Microsoft Foundry の OpenAI モデルの関数と型 -
azure_cognitive: Azure Cognitive Services の関数と型 (Foundry Tools のAzure言語) -
azure_ml: Azure Machine Learning サービスの関数と型
ヒント
また、Azure Database for PostgreSQL で pgvector を有効にして使用することをお勧めします。それはazure_aiと一般的に一緒に利用されます。
注
現在のデータベースから拡張機能を削除するには、 DROP EXTENSION azure_ai;実行します。
azure_ai 拡張機能を構成する
拡張機能を構成するには、使用する Azure AI + 機械学習サービスのエンドポイントと認証の詳細 (API キーまたはマネージド ID) を指定します。
azure_ai.set_setting構成関数をさまざまな構成キーと共に使用して、これらの値を格納します。
Permissions
拡張機能では、azure_ai_settings_manager関数とazure_ai.set_getting関数を使用して、構成設定の読み取りと書き込みのアクセス許可を付与するロール azure_ai.set_settingを定義します。 これらの関数を呼び出すことができるのは、このロールのスーパーユーザーとメンバーだけです。 Azure Database for PostgreSQL フレキシブル サーバーでは、azure_pg_admin ロールは既定でこのロールを付与します。
構成関数
azure_ai_set_setting
AI + 機械学習の構成を設定します。
使用法:
-- Syntax
azure_ai.set_setting(key TEXT, value TEXT)
-- Usage example: Set the Endpoint and an API Key for Azure OpenAI
select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com');
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>');
サポートされている構成キーと値の一覧:
key |
value |
|---|---|
azure_openai.endpoint |
サポートされている OpenAI エンドポイント (たとえば、 https://example.openai.azure.com)。 |
azure_openai.auth_type |
subscription-key または managed-identity |
azure_openai.subscription_key |
OpenAI リソースのサブスクリプション キー。 |
azure_cognitive.endpoint |
サポートされている Cognitive Services エンドポイント ( https://example.cognitiveservices.azure.com など) |
azure_cognitive.auth_type |
subscription-key または managed-identity |
azure_cognitive.subscription_key |
Cognitive Services リソースのサブスクリプション キー。 |
azure_ml.scoring_endpoint |
サポートされているMachine LearningのオンラインエンドポイントURI。 |
azure_ml.auth_type |
subscription-key または managed-identity |
azure_ml.endpoint_key |
Azure ML エンドポイントのエンドポイント キー。 |
azure_ai.get_setting
特定の key の現在の構成値を取得します (上記の一覧でサポートされているキーを参照)。 選択した設定の現在の値を表す TEXT を返します。
使用法:
-- Syntax
azure_ai.get_setting(key TEXT)
-- Usage example: Get the Endpoint and API Key for Azure OpenAI
select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');
azure_ai.version
TEXT拡張機能の現在のバージョンを表すazure_aiを返します。
使用法:
SELECT azure_ai.version()
マネージド ID 認証を有効にする
Azure Database for PostgreSQL の azure_ai 拡張機能では、システム割り当てマネージド ID (SAMI) がサポートされており、セキュリティ上の利点が強化されています。 Microsoft Entra IDを使用すると、アクセス キーを使用せずに認証できるため、承認されていないアクセスのリスクが軽減され、資格情報の管理が簡素化されます。
マネージド ID 認証を有効にするには、 このハウツー ガイドを参照してください。
azure_ai拡張機能の機能
AI 関数
- Azure Database for PostgreSQL で Azure OpenAI を使用してベクター埋め込みを生成: 特定の入力テキストのベクター埋め込みを作成します。
-
azure_ai.generate(): 大きな言語モデル (LLM) を使用してテキストまたは構造化された出力を生成します。 -
azure_ai.is_true(): 特定のステートメントが true である可能性を評価します。 -
azure_ai.extract(): テキストから構造化された特徴またはエンティティを抽出します。 -
azure_ai.rank(): 特定のクエリとの関連性に基づいてドキュメントの一覧を再ランク付けします。
追加機能
拡張機能は呼び出しもサポートしています。
- Azure Cognitive Services を使用したAzure Database for PostgreSQLの統合: センチメント分析などのタスクをデータベース内で直接有効にします。
- Azure Machine Learning Services を使用したAzure Database for PostgreSQLの統合: Machine Learning カタログまたはカスタムトレーニング済みデプロイからモデルを呼び出すことができます。
AI + 機械学習拡張機能をアップグレードする
インストールされているバージョンと使用可能なアップグレードを確認するには、次を実行します。
SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'
拡張機能をサポートされている最新バージョンに更新するには、次のコマンドを実行します。
ALTER EXTENSION azure_ai UPDATE;