Qu’est-ce que l’extension azure_local_ai pour Azure Database pour PostgreSQL - Serveur flexible (préversion)
L’extension azure_local_ai pour le serveur flexible Azure Database pour PostgreSQL vous permet d’utiliser des modèles open source inscrits, pré-entraînés déployés localement sur votre serveur Azure Database pour PostgreSQL. Ces modèles peuvent être utilisés pour créer des incorporations de texte qui peuvent fournir un contexte à votre modèle de Génération augmentée de récupération (RAG) lorsque vous créez des applications d’IA générative enrichie. L’extension azure_local_ai permet à la base de données d’appeler des modèles déployés localement pour créer des incorporations vectorielles à partir de données texte, ce qui simplifie le processus de développement et réduit la latence en supprimant la nécessité d’effectuer des appels d’API plus distants vers des modèles d’incorporation d’IA hébergés en dehors de la limite PostgreSQL. Dans cette version, l’extension déploie un modèle unique, multilingual-e5-small, sur votre instance de serveur flexible Azure Database pour PostgreSQL. D’autres modèles open source tiers peuvent devenir disponibles pour une installation en continu.
Les incorporations locales aident les clients à :
Réduire la latence de création d’incorporation.
Utiliser des modèles incorporés à un coût prévisible.
Conserver les données au sein de leur base de données, ce qui élimine la nécessité de transmettre des données à un point de terminaison distant.
Lors de cette préversion publique, l’extension azure_local_ai sera disponible dans les régions Azure suivantes :
Australie Est
USA Est
France Centre
Japon Est
Sud du Royaume-Uni
Europe Ouest
USA Ouest
Cette fonctionnalité en préversion est également disponible uniquement pour les instances de serveur flexible Azure Database pour PostgreSQL nouvellement déployées.
Important
L’extension azure_local_ai est actuellement en préversion. Les modèles d’IA open source de Microsoft pour l’installation via l’extension azure_local_ai sont considérés comme des produits non-Microsoft en vertu des Conditions générales de produit Microsoft. L’utilisation par le client des modèles IA open source est régie par les termes du contrat de licence distincts fournis dans la documentation produit associée à ces modèles mis à disposition via l’extension azure_local_ai. Conditions d’utilisation supplémentaires : Services IA à accès limité (préversions)
Activer l’extension azure_local_ai
(préversion)
Avant de pouvoir activer azure_local_ai sur votre instance de serveur flexible Azure Database pour PostgreSQL, vous devez l’ajouter à votre liste d’autorisation, comme décrit dans Comment utiliser les extensions PostgreSQL et vérifier qu’elle a été correctement ajoutée en exécutant l’instruction SQL suivante, SHOW azure.extensions;
.
Important
L’hébergement de modèles de langage dans la base de données nécessite une grande empreinte mémoire. Pour prendre en charge cette exigence, azure_local_ai est uniquement pris en charge sur les SKU de machines virtuelles Azure en mémoire optimisée avec 4 vCores au minimum. Aujourd’hui, si vous utilisez une machine virtuelle qui ne répond pas aux exigences minimales, l’extension azure_local_ai n’apparaît pas dans la liste des extensions disponibles dans les Paramètres du serveur. Sélectionnez Paramètres du serveur dans la section Paramètres du menu Ressources dans la page du portail Azure serveur flexible d’Azure Database pour PostgreSQL.
Recherchez « extensions » ou « azure.extensions »
Sélectionnez AZURE_LOCAL_AI dans la liste des extensions.
Sélectionnez Enregistrer pour appliquer les modifications et commencer le processus de déploiement de la liste d’autorisation.
Vous pouvez surveiller ce déploiement via l’icône de cloche en haut du portail Azure.
Une fois le déploiement de la liste d’autorisation terminé, vous pouvez poursuivre le processus d’installation.
Remarque
Lorsque vous activez la préversion d’Azure Local AI, le modèle multilingual-e5-small est déployé sur votre instance de serveur flexible Azure Database pour PostgreSQL. La documentation liée fournit les termes du contrat de licence de l’équipe e5. D’autres modèles open source tiers peuvent devenir disponibles pour une installation en continu.
Maintenant, vous pouvez installer l’extension en vous connectant à votre base de données cible et en exécutant la commande CREATE EXTENSION. Vous devez répéter la commande séparément pour chaque base de données dans laquelle vous souhaitez que l’extension soit disponible.
Les extensions de liste sont autorisées sur la base de données à partir du portail Azure - page de Paramètres du serveur.
SHOW azure.extensions;
Créez l’extension dans la base de données.
CREATE EXTENSION azure_local_ai;
L’installation de l’extension azure_local_ai crée le schéma suivant :
- azure_local_ai : schéma principal dans lequel l’extension crée des tables, des fonctions et tout autre objet lié à SQL dont elle a besoin pour implémenter et exposer ses fonctionnalités.
Important
Il convient d’activer l’extension vectorielle, car elle est nécessaire pour stocker des incorporations de texte dans votre base de données PostgreSQL.
Fonctions fournies par l’extension azure_local_ai
L’extension azure_local_ai fournit un ensemble de fonctions. Ces fonctions vous permettent de créer des incorporations de vecteurs à partir de données de texte, facilitant ainsi le développement d’applications d’IA générative. L’extension offre des fonctions pour créer des incorporations, obtenir des paramètres, etc. En utilisant ces fonctions, vous pouvez simplifier le processus de développement et réduire la latence en éliminant la nécessité d’effectuer des appels d’API distants supplémentaires vers des modèles d’incorporation d’IA hébergés en dehors de la limite PostgreSQL.
schéma | Nom | Type de données de résultat | Types de données d’argument |
---|---|---|---|
azure_local_ai |
create_embeddings | TABLE(embedding real[]) | model_uri text, inputs text[], batch_size bigint DEFAULT 128, timeout_ms integer DEFAULT 3600000 |
azure_local_ai |
create_embeddings | real[] | model_uri text, input text, timeout_ms integer DEFAULT 3600000 |
azure_local_ai |
get_setting | jsonb | keys text[] DEFAULT ARRAY[]::text[], timeout_ms integer DEFAULT 3600000 |
azure_local_ai |
get_setting | texte | key text, timeout_ms integer DEFAULT 3600000 |
azure_local_ai |
model_metadata | jsonb | model_uri text |
Ceux-ci peuvent être affichés via la commande PSQL,
\df azure_local_ai.*
azure_local_ai.create_embeddings
L’extension azure_local_ai vous permet de créer et de mettre à jour des incorporations au format scalaire et par lots, en appelant le LLM déployé localement.
azure_local_ai.create_embeddings(model_uri text, input text, batch_size bigint DEFAULT 128, timeout_ms integer DEFAULT 3600000);
azure_local_ai.create_embeddings(model_uri text, array[inputs [text]], batch_size bigint DEFAULT 128, timeout_ms integer DEFAULT 3600000);
Arguments
model_uri
text
: nom du modèle d’incorporation de texte appelé pour créer l’incorporation.
input
text
ou text[]
Texte unique ou tableau de textes, en fonction de la surcharge de la fonction utilisée, pour laquelle les incorporations sont créées.
batch_size
bigint DEFAULT 128
Nombre d’enregistrements à traiter à la fois (disponible uniquement pour la surcharge de la fonction pour laquelle le paramètre input
est de type text[]
).
timeout_ms
Délai d’expiration de integer DEFAULT 3600000
en millisecondes après lequel l’opération est arrêtée.
Exemples d’incorporations de création simples :
SELECT azure_local_ai.create_embeddings('model_uri TEXT', 'query: input TEXT');
SELECT azure_local_ai.create_embeddings('multilingual-e5-small:v1', 'query: Vector databases are awesome');
SELECT azure_local_ai.create_embeddings('model_uri TEXT', array['input TEXT', 'input TEXT']);
SELECT azure_local_ai.create_embeddings('multilingual-e5-small:v1', array['Hello', 'World']);
Vérifier la version de l’extension azure_local_ai
SELECT * FROM pg_available_extensions
WHERE NAME ='azure_local_ai';
Configuration d’ONNX Runtime
azure_local_ai.get_setting
Permet d’obtenir les valeurs actuelles des options de configuration.
SELECT azure_local_ai.get_setting(key TEXT)
L’extension azure_local_ai prend en charge l’examen des paramètres de configuration du pool de threads ONNX Runtime dans le service ONNX Runtime. Les modifications ne sont pas autorisées pour le moment. Consultez le réglage des performances d’ONNX Runtime.
Arguments
Clé
Les valeurs valides pour la key
sont les suivantes :
intra_op_parallelism
: définit le nombre total de threads utilisés pour la parallélisation d’un opérateur unique par le pool de threads ONNX Runtime. Par défaut, nous maximisons autant que possible le nombre de threads intra-ops, ce qui améliore considérablement le débit global (tous les processeurs disponibles par défaut).inter_op_parallelism
: définit le nombre total de threads utilisés pour le calcul de plusieurs opérateurs en parallèle par le pool de threads ONNX Runtime. Par défaut, nous le définissons sur le nombre minimum de threads possible, à savoir 1. Toute augmentation nuit souvent aux performances en raison des changements de contexte fréquents entre les threads.spin_control
: active la rotation du pool de threads ONNX Runtime pour les requêtes. Lorsque cette option est désactivée, la latence augmente en raison de la réduction du nombre de processeurs utilisés. Par défaut, cette option est définie sur true (activée).
Type renvoyé
TEXT
représentant la valeur actuelle du paramètre sélectionné.