| page_type | langues | produits | urlfragment | nom | description | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
échantillon |
|
| App-Templates-Java-Openai-SpringApps | CART AI - Modèle d'application pour les applications Java, Azure Openai et Azure Spring | Échantillon de panier AI Application avec Azure Openai et Azure Spring Apps |
Le panier d'achat de l'IA est un exemple d'application qui suralimente votre expérience d'achat avec la puissance de l'IA. Il exploite les applications Azure Openai et Azure Spring pour construire un moteur de recommandation non seulement évolutif, résilient et sécurisé, mais également personnalisé selon vos besoins. En profitant d'Azure Openai, l'application effectue une analyse nutritionnelle sur les éléments de votre panier et génère les 3 principales recettes en utilisant ces ingrédients. Avec le développeur Azure CLI (AZD), vous n'êtes qu'à quelques commandes d'avoir cet exemple d'application entièrement fonctionnelle en cours d'exécution dans Azure. Commençons!
Cet exemple d'application s'inspire de cette œuvre originale: https://github.com/lopezleandro03/ai-assid-groceries-cart
Reportez-vous à la lecture du référentiel des modèles d'application pour plus d'échantillons compatibles avec
azd.

gpt-4 ou gpt-35-turbo [note] Pour apprendre à démarrer avec n'importe quel modèle, suivez ce quickstart. Pour ce modèle Azure-Samples/app-templates-java-openai-springapps , vous devez exécuter quelques étapes supplémentaires comme décrit ci-dessous.
Ce QuickStart vous montrera comment vous authentifier sur Azure, activer la fonctionnalité Spring Apps Alpha pour AZD, initialiser à l'aide d'un modèle, définir les variables d'environnement pour Azure OpenAI, provisionner l'infrastructure et déployer le code sur Azure:
# Log in to azd if you haven't already
azd auth login
# Enable Azure Spring Apps alpha feature for azd
azd config set alpha.springapp on
# First-time project setup. Initialize a project in the current directory using this template
azd init --template Azure-Samples/app-templates-java-openai-springapps
# Set the environment variables for Azure OpenAI
azd env set azureOpenAiApiKey < replace-with-Azure-OpenAi-API-key >
azd env set azureOpenAiEndpoint < replace-with-Azure-OpenAi-endpoint >
azd env set azureOpenAiDeploymentId < replace-with-Azure-OpenAi-deployment-id/name >
# To use GPT-3.5 Turbo model set this environment variable to false
azd env set isAzureOpenAiGpt4Model true
# Provision and deploy to Azure
azd upNotes
- Remplacez les espaces réservés par les valeurs de votre ressource Azure OpenAI.
- Si vous utilisez un modèle
gpt-35-turbo, vous devez définirisAzureOpenAiGpt4Modelsurfalseavant de provisionner la ressource et de déployer l'exemple d'application à Azure:azd env set isAzureOpenAiGpt4Model false
À la fin du déploiement, vous verrez l'URL du front-end. Ouvrez l'URL dans un navigateur pour voir l'application en action.
Cet exemple d'application utilise les ressources Azure suivantes:
Voici un diagramme d'architecture de haut niveau qui illustre ces composants. Excepté Azure OpenAI, toutes les autres ressources sont provisionnées dans un seul groupe de ressources créé lorsque vous créez vos ressources à l'aide de azd up .

Ce modèle provient des ressources à un abonnement Azure que vous sélectionnerez lors de leur fourniture. Veuillez vous référer à la calculatrice de tarification pour Microsoft Azure et, si nécessaire, mettre à jour les définitions de ressources Azure incluses trouvées dans
infra/main.biceppour répondre à vos besoins.
Cet exemple d'application utilise Azure Openai. Il ne fait pas partie du processus de déploiement automatisé. Vous devrez créer une ressource Azure OpenAI et configurer l'application pour l'utiliser. Veuillez suivre les instructions de la documentation Azure OpenAI pour accéder à Azure OpenAI. N'oubliez pas de lire l'aperçu des pratiques d'IA responsables pour les modèles Azure OpenAI avant de commencer à utiliser Azure OpenAI et à demander l'accès.
La version actuelle de l'exemple d'application nécessite une ressource Azure OpenAI accessible au public (c'est-à-dire permettre l'accès à tous les réseaux). Cet échantillon n'est pas destiné à être utilisé dans la production. Pour en savoir plus sur le réseautage et la sécurité pour Azure OpenAI, veuillez vous référer à la documentation Azure OpenAI.
Cet exemple d'application a été développé pour être utilisé avec le modèle gpt-4 . Il prend également en charge gpt-35-turbo . Pour utiliser gpt-35-turbo , vous devez définir isAzureOpenAiGpt4Model sur false (cf. QuickStart). Par défaut, cette variable paramètre / environnement est définie sur true . Pour terminer la configuration de l'application, vous devez définir les informations suivantes à partir de la ressource Azure Openai:
azureOpenAiApiKey - clé API Azure OpenaiazureOpenAiEndpoint - Azure Openai Point de terminaisonazureOpenAiDeploymentId - ID de déploiement Azure Openai de gpt-4 ou gpt-3.5-turbo Modèle La clé API et le point de terminaison se trouvent dans le portail Azure. Vous pouvez suivre ces instructions: récupérer la clé et la mise en place. L'ID de déploiement correspond au deployment name de ce guide.
L'ingénierie rapide est importante pour obtenir les meilleurs résultats d'Azure OpenAI. Les invites de texte sont la façon dont les utilisateurs interagissent avec les modèles GPT. Comme pour tous les modèles génératifs de grande langue (LLM), les modèles GPT essaient de produire la prochaine série de mots les plus susceptibles de suivre le texte précédent. C'est un peu comme demander au modèle d'IA: quelle est la première chose qui vous vient à l'esprit lorsque je dis <prompt> ?
Avec l'API d'achèvement du chat, il existe des sections distinctes de l'invite qui sont envoyées à l'API associées à un rôle spécifique: système, utilisateur et assistant. Le message système est inclus au début de l'invite et est utilisé pour fournir les instructions initiales au modèle: Description de l'assistant, traits de personnalité, instructions / règles qu'il suivra, etc.
AI Shopping Cart Service utilise la bibliothèque client Azure Openai pour Java. Ce Libary fait partie de Azure SDK pour Java. Il est mis en œuvre en termes d'achèvement de chat. Dans le service, nous avons 2 messages système dans SystemMessageConstants.Java: un pour l'analyse nutritionnelle de l'IA et une pour générer les 3 recettes. Le message système est suivi d'un message utilisateur: The basket is: <list of items in the basket separated by a comma> . Le message assistant est la réponse du modèle. Le service utilise les COMMANDATIONS DE SHOITHCARTAIRE pour interagir avec Azure Openai. Dans cette classe, vous trouverez le code responsable de la génération de l'invite et de l'appel de l'API Azure Openai: getChatCompletion . Pour en savoir plus sur la température et le TOPP utilisés dans cette classe, veuillez vous référer à la documentation.
Pour le modèle gpt-35-turbo , plus de contexte est ajouté au message de l'utilisateur. Ce contexte supplémentaire est ajouté à la fin du message utilisateur. Il fournit plus d'informations sur le format du modèle JSON sur lequel le modèle OpenAI doit retourner et demander au modèle de retour uniquement le JSON sans texte supplémentaire. Ce contexte supplémentaire est disponible dans userMésageConstants.java.
Ce modèle est structuré pour suivre les condamnations de modèle CLI du développeur Azure. Vous pouvez en savoir plus sur l'architecture azd dans la documentation officielle.
À ce stade, vous avez une application complète déployée sur Azure.
Pour les besoins en entreprise, à la recherche du déploiement des applications polyglots, du support des composants Tanzu et de l'assurance SLA, nous vous recommandons d'utiliser Azure Spring Apps Enterprise. Vérifiez l'accélérateur Azure Spring Apps Landing Zone qui fournit des conseils architecturaux conçus pour rationaliser le provisionnement et le déploiement de la production d'infrastructures prêts à la production d'applications Spring Boot et Spring Cloud aux applications Azure Spring. En tant que propriétaire de charge de travail, utilisez des conseils architecturaux fournis dans Accelerator de la zone d'atterrissage pour atteindre votre état technique cible avec confiance.
Vous avez déployé l'exemple d'application en utilisant le développeur Azure CLI, mais il y a beaucoup plus que le développeur Azure CLI peut faire. Ces prochaines étapes vous présenteront des commandes supplémentaires qui faciliteront la création d'applications sur Azure. À l'aide de la CLI du développeur Azure, vous pouvez configurer vos pipelines, surveiller votre application, tester et déboguer localement.
azd down - Pour supprimer toutes les ressources azure créées avec ce modèle
azd pipeline config - Pour configurer un pipeline CI / CD (en utilisant des actions GitHub ou Azure DevOps) pour déployer votre application chaque fois que le code est poussé vers la branche principale.
AZURE_OPENAI_API_KEY : clé API pour la ressource Azure OpenaiAZURE_OPENAI_ENDPOINT : point de terminaison pour la ressource Azure OpenaiAZURE_OPENAI_DEPLOYMENT_ID : ID de déploiement / nom pour la ressource Azure OpenaiIS_AZURE_OPENAI_GPT4_MODEL : Définissez sur true si vous utilisez le modèle GPT-4 et sur false si vous utilisez le modèle GPT-3.5 Turbo azd monitor - Pour surveiller l'application et naviguer rapidement vers les différentes tableaux de bord d'application (par exemple, par exemple, métriques en direct, journaux)
Exécuter et déboguer localement - en utilisant le code Visual Studio et l'extension Azure Developer CLI
azd supplémentaires Le développeur Azure CLI comprend de nombreuses autres commandes pour vous aider avec votre expérience de développement Azure. Vous pouvez afficher ces commandes au terminal en exécutant azd help . Vous pouvez également afficher la liste complète des commandes sur notre page de commande CLI de développeur Azure.
Ce sont des ressources supplémentaires que vous pouvez utiliser pour en savoir plus sur l'exemple d'application et ses technologies sous-jacentes.
Le logiciel peut collecter des informations sur vous et votre utilisation du logiciel et les envoyer à Microsoft. Microsoft peut utiliser ces informations pour fournir des services et améliorer nos produits et services. Vous pouvez désactiver la télémétrie comme décrit dans le référentiel. Il existe également certaines fonctionnalités du logiciel qui peuvent permettre à vous et à Microsoft de collecter des données auprès des utilisateurs de vos applications. Si vous utilisez ces fonctionnalités, vous devez vous conformer à la loi applicable, y compris en fournissant des avis appropriés aux utilisateurs de vos applications ainsi qu'une copie de la déclaration de confidentialité de Microsoft. Notre déclaration de confidentialité est située sur https://go.microsoft.com/fwlink/?linkid=521839. Vous pouvez en savoir plus sur la collecte de données et l'utilisation dans la documentation d'aide et notre déclaration de confidentialité. Votre utilisation du logiciel fonctionne comme votre consentement à ces pratiques.
La collection de télémétrie est allumée par défaut.
Pour vous désabuser, définissez la variable enveloperlémétrie sur false dans infra/main.parameters.json ou dans le modèle de bicep infra/main.bicep . Il peut être défini en utilisant la commande suivante lorsque la provisionning est effectuée avec Azure Developer CLI:
azd env set enableTelemetry false Ce projet peut contenir des marques ou des logos pour des projets, des produits ou des services. L'utilisation autorisée de marques ou de logos Microsoft est soumise et doit suivre les directives de marque et de marque de Microsoft. L'utilisation de marques ou de logos de Microsoft dans des versions modifiées de ce projet ne doit pas provoquer de confusion ou impliquer le parrainage de Microsoft. Toute utilisation de marques ou de logos tiers est soumis aux politiques de ces tiers.