Tutoriel : Se connecter à une base de données vectorielle Qdrant dans Azure Container Apps (préversion)
Azure Container Apps utilise des modules complémentaires pour faciliter la connexion à différents services cloud de niveau développement. Au lieu de créer des instances de services à l’avance pour établir des connexions avec des paramètres de configuration complexes, vous pouvez utiliser un module complémentaire pour connecter votre application conteneur à une base de données comme Qdrant.
Pour obtenir la liste complète des services pris en charge, consultez Se connecter aux services dans Azure Container Apps.
L’exemple d’application déployé dans ce tutoriel vous permet d’interagir avec un moteur de suggestions musicales basé sur la base de données vectorielle Qdrant. L’image conteneur héberge un notebook Jupyter qui contient le code que vous pouvez exécuter sur la base de données pour :
- Interface avec des données de chanson
- Générer des incorporations pour chaque chanson
- Afficher les suggestions relatives aux chansons
Une fois déployé, vous avez la possibilité d’exécuter du code dans le notebook Jupyter pour interagir avec les données de chanson dans la base de données.
Dans ce tutoriel, vous allez :
- Créer une application de conteneur
- Utiliser un module complémentaire Container Apps pour se connecter à une base de données Qdrant
- Interagir avec un notebook Jupyter pour explorer les données
Important
Ce tutoriel utilise des services qui peuvent affecter votre facture Azure. Si vous décidez de suivre les étapes pas à pas, veillez à désactiver ou à supprimer les ressources proposées dans cet article pour éviter une facturation inattendue.
Prérequis
Pour mener à bien ce projet, vous avez besoin des éléments suivants :
Condition requise | Instructions |
---|---|
Compte Azure | Si vous n’en avez pas un, créez un compte gratuitement. Vous avez besoin de l’autorisation Contributeur ou Propriétaire sur l’abonnement Azure pour continuer. Pour plus d’informations, consultez Attribuer des rôles Azure à l’aide du portail Azure. |
Azure CLI | Installez Azure CLI. |
Paramétrage
Avant de commencer à utiliser la base de données Qdrant, vous devez d’abord créer votre application conteneur et les ressources requises.
Exécutez les commandes suivantes pour créer votre groupe de ressources, votre environnement d’applications conteneur et votre profil de charge de travail.
Configurez le nom de l’application et les variables de groupe de ressources. Vous pouvez modifier ces valeurs selon vos préférences.
export APP_NAME=music-recommendations-demo-app export RESOURCE_GROUP=playground
Créez des variables pour prendre en charge la configuration de votre application. Ces valeurs sont fournies dans le cadre de cette leçon. Ne changez pas ces valeurs.
export SERVICE_NAME=qdrantdb export LOCATION=southcentralus export ENVIRONMENT=music-recommendations-demo-environment export WORKLOAD_PROFILE_TYPE=D32 export CPU_SIZE=8.0 export MEMORY_SIZE=16.0Gi export IMAGE=simonj.azurecr.io/aca-ephemeral-music-recommendation-image
Variable Description SERVICE_NAME
Nom du service de module complémentaire créé pour votre application conteneur. Dans ce cas, vous créez une instance de niveau développement d’une base de données Qdrant. LOCATION
Emplacement de la région Azure où vous créez votre application conteneur et votre module complémentaire. ENVIRONMENT
Nom de l’environnement Azure Container Apps pour votre application de démonstration. WORKLOAD_PROFILE_TYPE
Type de profil de charge de travail utilisé pour votre application conteneur. Cet exemple utilise un profil de charge de travail à usage général avec 32 cœurs 128 Gio de mémoire. CPU_SIZE
Taille allouée du processeur. MEMORY_SIZE
Quantité de mémoire allouée. IMAGE
Image conteneur utilisée dans ce tutoriel. Cette image conteneur inclut le notebook Jupyter qui vous permet d’interagir avec les données de la base de données Qdrant. Connectez-vous à Azure avec Azure CLI.
az login
Créez un groupe de ressources.
az group create --name $RESOURCE_GROUP --location $LOCATION
Créez votre environnement d’applications conteneur.
az containerapp env create \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --enable-workload-profiles
Créez un profil de charge de travail dédié avec suffisamment de ressources pour utiliser une base de données vectorielle.
az containerapp env workload-profile add \ --name $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --workload-profile-type $WORKLOAD_PROFILE_TYPE \ --workload-profile-name bigProfile \ --min-nodes 0 \ --max-nodes 2
Utiliser le module complémentaire Qdrant
Maintenant que vous disposez d’un environnement et d’un profil de charge de travail existants, vous pouvez créer votre application conteneur et la lier à une instance de module complémentaire de Qdrant.
Créez le service de module complémentaire Qdrant.
az containerapp add-on qdrant create \ --environment $ENVIRONMENT \ --resource-group $RESOURCE_GROUP \ --name $SERVICE_NAME
Créez l’application conteneur.
az containerapp create \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT \ --workload-profile-name bigProfile \ --cpu $CPU_SIZE \ --memory $MEMORY_SIZE \ --image $IMAGE \ --min-replicas 1 \ --max-replicas 1 \ --env-vars RESTARTABLE=yes \ --ingress external \ --target-port 8888 \ --transport auto \ --query properties.outputs.fqdn
Cette commande retourne le nom de domaine complet (FQDN) de votre application conteneur. Copiez cet emplacement dans un éditeur de texte, car vous en avez besoin dans une étape à venir.
Une étape à venir vous indique de demander un jeton d’accès pour vous connecter à l’application hébergée par l’application conteneur. Veillez à patienter trois à cinq minutes avant d’essayer d’exécuter la demande du jeton d’accès après avoir créé l’application conteneur pour donner suffisamment de temps pour configurer toutes les ressources requises.
Liez le service de module complémentaire Qdrant à l’application conteneur.
az containerapp update \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --bind qdrantdb
Configurer l’application conteneur
Maintenant que votre application conteneur est en cours d’exécution et connectée à Qdrant, vous pouvez configurer votre application conteneur pour accepter les demandes entrantes.
Configurez les paramètres CORS sur l’application conteneur.
az containerapp ingress cors enable \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --allowed-origins "*" \ --allow-credentials true
Une fois que vous attendez trois à cinq minutes pour que l’application termine les opérations d’installation, demandez un jeton d’accès pour le notebook Jupyter hébergé.
echo Your access token is: `az containerapp logs show -g $RESOURCE_GROUP --name $APP_NAME --tail 300 | \ grep token | cut -d= -f 2 | cut -d\" -f 1 | uniq`
Lorsque vous exécutez cette commande, votre jeton est imprimé sur le terminal. Le message doit ressembler à l’exemple suivant.
Your access token is: 348c8aed080b44f3aaab646287624c70aed080b44f
Copiez votre valeur de jeton dans votre éditeur de texte pour vous connecter au notebook Jupyter.
Utiliser le notebook Jupyter
Ouvrez un navigateur Web et collez l’URL de votre application conteneur que vous avez mise de côté dans un éditeur de texte.
Lorsque la page se charge, une zone de saisie s’affiche pour entrer votre jeton d’accès.
À côté du Mot de passe pour le jeton , entrez votre jeton dans la zone de saisie, puis sélectionnez Connexion.
Une fois que vous vous authentifiez, vous pouvez interagir avec le code et les données dans le notebook Jupyter.
Avec le notebook lancé, suivez les instructions pour interagir avec le code et les données.
Nettoyer les ressources
Les ressources créées dans ce tutoriel ont un effet sur votre facture Azure. Si vous n’allez pas utiliser ces services à long terme, exécutez la commande suivante pour supprimer tout ce qui a été créé dans ce didacticiel.
az group delete \
--resource-group $RESOURCE_GROUP