Décrire l’extension Azure AI

Effectué

L’extension azure_ai est un outil puissant créé par l’équipe Microsoft Postgres qui fournit une intégration transparente entre votre instance de serveur flexible Azure Database pour PostgreSQL et divers services Azure AI Services. Cette intégration simplifie le processus de développement et vous permet d’incorporer facilement des fonctionnalités d’IA dans vos applications.

Vous pouvez accéder aux services Azure AI Services, tels que le traitement du langage naturel, l’analyse de texte et les modèles de langage d’IA générative à partir de vos requêtes SQL à l’aide d’un appel de fonction simple. Cette extension vous permet d’utiliser la puissance d’Azure AI et de Machine Learning pour ajouter des analyses avancées et des insights à vos applications sans quitter votre base de données PostgreSQL.

L’extension facilite l’intégration d’Azure OpenAI, d’Azure AI Services et d’Azure Machine Learning dans votre base de données. Dans l’ensemble, l’extension azure_ai est une révolution pour les développeurs qui souhaitent ajouter des fonctionnalités d’IA générative à leurs applications. Ses fonctionnalités enrichies et son intégration transparente aux services Azure AI et Machine Learning simplifient le processus de développement et vous permettent de créer des applications IA avancées directement dans votre base de données PostgreSQL.

Qu’est-ce que l’extension azure_ai ?

L’extension azure_ai fournit une suite complète d’outils qui peuvent améliorer les fonctionnalités d’une base de données PostgreSQL en intégrant Azure AI et Machine Learning Services. Grâce à l’extension azure_ai, vous pouvez incorporer en toute transparence des fonctionnalités d’IA générative dans votre base de données. Cette extension vous permet de créer du contenu basé sur des informations existantes. Ces outils incluent une collection de schémas, de fonctions définies par l’utilisateur (UDF) et de types composites qui peuvent être intégrés en toute transparence à n’importe quelle base de données PostgreSQL. Lorsque vous utilisez la puissance d’Azure AI Services, vous pouvez bénéficier d’analyses avancées, de Machine Learning et d’autres fonctionnalités basées sur l’IA pour obtenir des insights approfondis et prendre des décisions plus éclairées. Grâce à l’extension azure_ai, PostgreSQL, vous pouvez tirer parti de nouvelles fonctionnalités et performances. L’extension fournit trois intégrations de service principales :

Azure AI Services

L’extension permet à votre base de données d’appeler différents services Azure AI Services pour extraire des insights à partir de données, comme le résumé de texte, la traduction et l’extraction d’entités. Ces services simplifient le processus de développement, ce qui rend l’intégration des fonctionnalités d’IA dans vos applications plus accessible.

Azure OpenAI

L’intégration Azure OpenAI Service vous permet d’appeler l’API Azure OpenAI directement à partir de votre base de données pour générer des incorporations vectorielles. En combinaison avec l’extension vector, vous pouvez stocker les incorporations générées directement dans votre base de données PostgreSQL. Ces incorporations permettent d’utiliser de puissantes fonctionnalités telles que la recherche sémantique, les recommandations et la détection d’anomalie.

Azure Machine Learning

L’extension vous permet de vous connecter à Azure Machine Learning pour effectuer l’inférence. Vous pouvez utiliser un modèle Machine Learning entraîné pour effectuer des prédictions ou générer des sorties basées sur de nouvelles données encore jamais vues.

Activation de l’extension azure_ai

Avant de pouvoir être utilisée, l’extension azure_ai doit être autorisée et installée avec votre base de données :

  1. Configuration de la liste d’autorisation : Ajoutez l’extension à votre liste d’autorisation en exécutant SHOW azure.extensions;.
  2. Installation : Connectez-vous à votre base de données cible et exécutez la commande suivante pour installer l’extension :
CREATE EXTENSION IF NOT EXISTS azure_ai;

Création de schémas

Une fois installée, l’extension crée quatre schémas dans la base de données :

schéma Description
azure_ai Contient la table de configuration et les fonctions permettant d’interagir avec l’extension.
azure_cognitive Contient les fonctions et les types composites liés à Azure Cognitive Services.
azure_ml Contient les fonctions liées à l’inférence Azure Machine Learning.
azure_openai Contient les fonctions associées à Azure OpenAI.

Configuration de l’extension

L’extension crée la table azure_ai.settings, qui est essentielle pour configurer et gérer les paramètres d’extension. La table héberge en toute sécurité les paramètres des points de terminaison et des clés liés aux services Azure AI Services que vous intégrez à votre base de données. Pour configurer l’extension, fournissez les points de terminaison et les clés API nécessaires pour l’authentification.

  1. Valeurs de paramètres :

    • La fonction azure_ai.set_setting() vous permet de définir différentes valeurs de configuration pour les services Azure AI. Vous pouvez attribuer des valeurs à des clés spécifiques à l’aide de cette fonction.
    • Par exemple, vous pouvez définir le point de terminaison Azure OpenAI et fournir la clé d’abonnement correspondante à l’aide des commandes suivantes :
    SELECT azure_ai.set_setting('azure_openai.endpoint', '{endpoint}');
    SELECT azure_ai.set_setting('azure_openai.subscription_key', '{api-key}');
    
  2. Récupération des paramètres :

    • La fonction azure_ai.get_setting() vous permet de récupérer les valeurs que vous avez définies précédemment à l’aide de set_setting().
    • Spécifiez la clé du paramètre à afficher, et la fonction retourne la valeur associée.
    • Par exemple, pour vérifier les paramètres écrits dans la table de configuration, utilisez :
    SELECT azure_ai.get_setting('azure_openai.endpoint');
    SELECT azure_ai.get_setting('azure_openai.subscription_key');
    

Clés d’accès et sécurité

Vos clés d’accès Azure AI sont similaires aux mots de passe racines de votre compte. Il est essentiel de les gérer avec soin. La meilleure approche consiste à utiliser Azure Key Vault pour gérer et effectuer la rotation de vos clés.

Les utilisateurs qui doivent gérer les clés de service utilisées par l’extension ont besoin du rôle azure_ai_settings_manager dans la base de données. Les fonctions qui nécessitent ce rôle incluent azure_ai.set_setting() et azure_ai.get_setting().

Comment fonctionne l’extension azure_ai ?

Voici un exemple rapide de la facilité d’utilisation de l’extension azure_ai dans un serveur flexible Azure Database pour PostgreSQL :

  • Génération d’incorporations : Vous pouvez créer des incorporations en appelant une fonction définie par l’utilisateur (UDF) inline à partir de SQL. Par exemple :

    SELECT azure_openai.create_embeddings('text-embedding-ada-002', 'Learn about building intelligent applications with azure_ai extension and vector');
    
  • Services de langage : Vous avez besoin de l’analyse des sentiments ? C’est aussi simple qu’un appel UDF depuis SQL :

    SELECT a.* FROM azure_cognitive.analyze_sentiment('The GenAI session was awesome', 'en') a;
    
  • Fonctionnalités supplémentaires : Vous pouvez ajouter des colonnes vectorielles à des tables, créer des index HNSW (Hierarchical Navigable Small World) et effectuer des recherches sémantiques, le tout optimisé par l’extension azure_ai.