Azure AI 拡張機能について説明する

完了

azure_ai 拡張機能は、Microsoft Postgres チームが作成した強力なツールであり、Azure Database for PostgreSQL フレキシブル サーバー インスタンスとさまざまな Azure AI サービスとの間でシームレスな統合を実現します。 この統合により、開発プロセスが合理化され、AI 機能をアプリケーションに簡単に組み込むことができます。

単純な関数呼び出しを使用して、自然言語処理、テキスト分析、生成 AI 言語モデルなどの Azure AI サービスに SQL クエリからアクセスできます。 この拡張機能を使用すると、Azure AI と Machine Learning の機能を使用して、PostgreSQL データベースから離れることなく、高度な分析と分析情報をアプリケーションに追加できます。

この拡張機能により、Azure OpenAI、Azure AI サービス、Azure Machine Learning のデータベースへの統合が簡単になります。 概して言えば、azure_ai 拡張機能は、生成 AI 機能をアプリケーションに追加しようとしている開発者にとって変革をもたらすものです。 その豊富な機能と Azure AI と Machine Learning サービスとのシームレスな統合により、開発プロセスが簡素化され、PostgreSQL データベース直下への高度な AI アプリケーションの構築が可能になります。

azure_ai 拡張子とは

azure_ai 拡張機能には、Azure AI と Machine Learning Services の統合によって PostgreSQL データベースの機能を強化できる包括的なツール スイートが用意されています。 azure_ai 拡張機能では、生成 AI 機能をデータベースにシームレスに組み込むことができます。 この拡張機能を使用すると、既存の情報に基づく新しいコンテンツを作成できます。 これらのツールには、あらゆる PostgreSQL データベースにシームレスに統合できるスキーマ、ユーザー定義関数 (UDF)、複合型のコレクションが含まれています。 Azure AI サービスの機能を使用する場合は、高度な分析、機械学習、その他の AI 主導の機能を活用して、より深い分析情報を得るとともに、より適切な意思決定を行うことができます。 azure_ai 拡張機能では、PostgreSQL によって、まったく新しいレベルの機能とパフォーマンスが解放されます。 この拡張機能には、次の 3 つの主要なサービス統合が用意されています。

Azure AI Services

この拡張機能を使用すると、データベースでさまざまな Azure AI サービスを呼び出して、テキストの要約、翻訳、エンティティ抽出などの分析情報をデータから抽出できます。 これらのサービスでは、AI 機能をアプリケーションに統合しやすくなり、開発プロセスが簡素化されます。

Azure OpenAI

Azure OpenAI Service を統合すると、Azure OpenAI API をデータベースから直接呼び出して、ベクター埋め込みを生成できます。 vector 拡張機能と組み合わせられているため、生成された埋め込みを PostgreSQL データベースに直接格納できます。 これらの埋め込みを行うことで、セマンティック検索、推奨事項、異常検出などの強力な機能を使用できるようになります。

Azure Machine Learning

この拡張機能を使用すると、Azure Machine Learning に接続して推論を実行できます。 トレーニング済みの機械学習モデルを使用して、新しいデータに基づいて予測や出力生成を行うことができます。

azure_ai 拡張機能の有効化

azure_ai 拡張機能を使用するには、その拡張機能を許可して、データベースにインストールする必要があります。

  1. 許可リストの構成:SHOW azure.extensions; を実行して、拡張機能を許可リストに追加します。
  2. インストール:ターゲット データベースに接続し、次のコマンドを実行して、拡張機能をインストールします。
CREATE EXTENSION IF NOT EXISTS azure_ai;

スキーマの作成

インストールされると、拡張機能によってデータベース内に次の 4 つのスキーマが作成されます。

[スキーマ] 説明
azure_ai 拡張機能を操作するための構成テーブルと関数が含まれています。
azure_cognitive Azure Cognitive Services に関連する関数と複合型が含まれています。
azure_ml Azure Machine Learning 推論に関連する関数が含まれています。
azure_openai Azure OpenAI に関連する関数が含まれています。

拡張機能を構成する

この拡張機能によって、azure_ai.settings テーブルが作成されます。これは、拡張機能の設定の構成と管理になくてはならないものです。 この表では、データベースに統合する Azure AI サービスに関連するエンドポイントとキー設定が安全にホストされています。 拡張機能を構成するには、認証に必要なエンドポイントと API キーを指定します。

  1. 設定値:

    • azure_ai.set_setting() 関数を使用すると、Azure AI サービスのさまざまな構成値を設定できます。 特定のキーへの値の割り当ては、この関数を使用して行うことができます。
    • たとえば、次のコマンドを使用して、Azure OpenAI エンドポイントを設定して、対応するサブスクリプション キーを指定できます。
    SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
    SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
    
  2. 設定の取得:

    • azure_ai.get_setting() 関数を使用すると、前に set_setting() を使用して設定した値を取得できます。
    • 表示する設定のキーを指定すると、関連付けられた値が関数によって返されます。
    • たとえば、構成テーブルに書き込まれた設定を確認するには、次を使用します。
    SELECT azure_ai.get_setting('azure_openai.endpoint');
    SELECT azure_ai.get_setting('azure_openai.subscription_key');
    

アクセス キーとセキュリティ

Azure AI アクセス キーは、アカウントのルート パスワードに似ています。 慎重に処理することが重要です。 最善の方法は、Azure Key Vault を使用してキーを管理およびローテーションすることです。

拡張機能で使用されているサービス キーを管理する必要があるユーザーは、データベースに azure_ai_settings_manager ロールを指定する必要があります。 このロールを必要とする関数には、azure_ai.set_setting()azure_ai.get_setting() があります。

azure_ai 拡張機能のしくみ

Azure Database for PostgreSQL フレキシブル サーバー内での azure_ai 拡張機能の使いやすさを示す簡単な例を次に示します。

  • 埋め込みの生成:SQL からユーザー定義関数 (UDF) をインラインで呼び出すと、埋め込みを作成できます。 次に例を示します。

    SELECT azure_openai.create_embeddings('text-embedding-ada-002', 'Learn about building intelligent applications with azure_ai extension and vector');
    
  • 言語サービス:感情分析の必要性 SQL からの UDF 呼び出しと同じくらい簡単です。

    SELECT a.* FROM azure_cognitive.analyze_sentiment('The GenAI session was awesome', 'en') a;
    
  • その他の機能:テーブルへのベクター列の追加、HNSW (階層ナビゲーション可能な小さな世界) インデックスの作成、セマンティック検索の実行はすべて、azure_ai 拡張機能を利用して行うことができます。