extension azure_ai dans Azure Database pour PostgreSQL

L’extension azure_ai dans Azure Database pour PostgreSQL permet l’utilisation dans la base de données de modèles de langage volumineux (LLMs) pour générer des applications d’IA génératives. Elle permet à la base de données d’appeler Azure OpenAI dans les modèles Microsoft Foundry, Azure OpenAI Service, Azure Cognitive Services (Azure Language in Foundry Tools) et Azure Machine Learning Services, ce qui simplifie le développement grâce à une intégration transparente à ces services.

Activer l’extension azure_ai

Avant de pouvoir utiliser l’extension azure_ai, vous devez l’autoriser, puis l’installer dans votre instance de Azure Database pour PostgreSQL. Suivez les étapes ci-dessous pour commencer.

Liste d'autorisation de l’extension

Ajoutez azure_ai à la liste d'autorisation de votre serveur flexible Azure Database pour PostgreSQL, comme décrit dans how pour utiliser des extensions PostgreSQL. Vérifiez qu’elle est correctement ajoutée en exécutant la SHOW azure.extensions; requête.

Installer l’extension

Connectez-vous à votre base de données et exécutez la CREATE EXTENSION commande :

CREATE EXTENSION IF NOT EXISTS azure_ai;

Répétez cette commande pour chaque base de données où l’extension est requise.

Lorsque vous installez azure_ai, il crée les schémas suivants :

  • azure_ai: schéma principal pour la configuration et les fonctions associées
  • azure_openai : fonctions et types pour Azure OpenAI dans les modèles Foundry et OpenAI dans Microsoft Foundry
  • azure_cognitive : fonctions et types pour Azure Cognitive Services (Azure Language in Foundry Tools)
  • azure_ml : fonctions et types pour les services Azure Machine Learning

Conseil / Astuce

Vous pourriez également envisager d'activer l'activation et l'utilisation de pgvector dans Azure Database pour PostgreSQL car il est souvent utilisé avec azure_ai.

Note

Pour supprimer l’extension de la base de données active, exécutez DROP EXTENSION azure_ai;.

Configurer l’extension azure_ai

Pour configurer l’extension, fournissez des points de terminaison et des détails d’authentification (clé API ou identité managée) pour les services Azure IA + Machine Learning que vous souhaitez utiliser. Utilisez la azure_ai.set_setting fonction de configuration avec différentes clés de configuration pour stocker ces valeurs.

Permissions

L’extension définit un rôle azure_ai_settings_manager qui accorde l’autorisation de lire et d’écrire des paramètres de configuration à l’aide des fonctions azure_ai.set_getting et azure_ai.set_setting. Seuls les superutilisateurs et les membres de ce rôle peuvent appeler ces fonctions. Dans Azure Database pour PostgreSQL Flexible Server, le rôle azure_pg_admin accorde ce rôle par défaut.

Fonctions de configuration

azure_ai_set_setting

Définit la configuration IA + Machine Learning.

Utilisation :

-- 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>');

Liste des clés et valeurs de configuration prises en charge :

key value
azure_openai.endpoint Point de terminaison OpenAI pris en charge (par exemple https://example.openai.azure.com).
azure_openai.auth_type subscription-key Ou managed-identity
azure_openai.subscription_key Clé d’abonnement pour une ressource OpenAI.
azure_cognitive.endpoint Point de terminaison pris en charge pour les Cognitive Services (par exemple, https://example.cognitiveservices.azure.com)
azure_cognitive.auth_type subscription-key Ou managed-identity
azure_cognitive.subscription_key Une clé d’abonnement pour une ressource Cognitive Services.
azure_ml.scoring_endpoint URI de point de terminaison en ligne pris en charge Machine Learning.
azure_ml.auth_type subscription-key Ou managed-identity
azure_ml.endpoint_key Clé de terminus pour un point de terminaison Azure ML.

azure_ai.get_setting

Obtient les valeurs de configuration actuelles d’une donnée key (voir les clés prises en charge dans la liste ci-dessus). Représente TEXT la valeur actuelle du paramètre sélectionné.

Utilisation :

-- 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

Retourne TEXT représentant la version actuelle de l’extension azure_ai.

Utilisation :

SELECT azure_ai.version()

Activer l’authentification d’identité managée

L’extension azure_ai pour Azure Database pour PostgreSQL prend en charge l’identité managée affectée par le système (SAMI), qui offre des avantages de sécurité améliorés. En utilisant Microsoft Entra ID, vous pouvez vous authentifier sans clés d’accès, ce qui réduit le risque d’accès non autorisé et simplifie la gestion des informations d’identification.

Pour activer l’authentification d’identité managée, consultez ce guide pratique.

Fonctionnalités de l’extension azure_ai

Fonctions IA

L’extension azure_ai permet d’effectuer des appels dans la base de données aux modèles hébergés dans Foundry et Azure OpenAI via les fonctions AI suivantes (préversion) :

Fonctionnalités supplémentaires

L’extension prend également en charge l’invocation

Mettre à niveau l’extension IA + Machine Learning

Pour vérifier la version installée et les mises à niveau disponibles, exécutez :

SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'

Pour mettre à jour l’extension vers la dernière version prise en charge, exécutez :

ALTER EXTENSION azure_ai UPDATE;