Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article vous montre comment déployer et exécuter l'exemple de conversation avec vos données pour Java. Cet exemple implémente une application de conversation utilisant Java, les modèles Azure OpenAI de Microsoft Foundry, et la technique de Retrieval Augmented Generation (RAG) dans Recherche Azure AI pour obtenir des réponses sur les avantages des employés dans une entreprise fictive. L'application est lancée avec des fichiers PDF, comprenant le manuel des employés, un document sur les avantages et une liste des rôles et des attentes de l'entreprise.
Dans cet article, vous effectuez les tâches suivantes
- Déployer une application de conversation sur Azure.
- Obtenir des réponses sur les avantages sociaux des employés.
- Modifier les paramètres pour modifier le comportement des réponses.
Une fois cet article terminé, vous pouvez commencer à modifier le nouveau projet avec votre code personnalisé.
Cet article fait partie d’une collection d’articles qui vous montrent comment créer une application de conversation à l’aide de modèles Azure OpenAI dans Microsoft Foundry et Recherche d’IA Azure. Vous trouvez ci-dessous d’autres articles de cette collection :
- .NET
- JavaScript
- Python
Remarque
Cet article utilise un ou plusieurs modèles d'application AI comme base pour les exemples et les conseils qu’il contient. Les modèles d’application IA vous fournissent des implémentations de référence bien gérées et faciles à déployer, qui constituent un point de départ de qualité pour vos applications IA.
Vue d’ensemble de l’architecture
Le diagramme suivant illustre une architecture simple pour l’application de conversation :
Diagramme montrant l’architecture du côté client à l’application serveur.
Les principaux composants de l’architecture sont les suivants :
- Application web qui héberge l’expérience de conversation interactive.
- Ressource Recherche Azure AI qui obtient des réponses à partir de vos propres données.
- Une Azure OpenAI Service qui fournit les éléments suivants :
- Des mots clés pour améliorer la recherche sur vos propres données.
- Des réponses du modèle OpenAI.
- Incorporations à partir du modèle ada.
Coût
La plupart des ressources utilisées dans cette architecture se trouvent sous des niveaux tarifaires de base ou basés sur la consommation. Ce modèle tarifaire signifie que vous payez uniquement pour ce que vous utilisez et que les frais sont généralement minimes pendant le développement ou les tests.
Pour réaliser cet exemple, l’utilisation de services tels qu’Azure OpenAI, AI Search et le stockage peut entraîner de faibles coûts. Lorsque vous avez terminé d’évaluer ou de déployer l’application, supprimez toutes les ressources approvisionnées pour éviter les frais en cours.
Pour en savoir plus sur les coûts, consultez le référentiel d'exemple.
Prérequis
Vous avez besoin d’un environnement de conteneur de développement avec toutes les dépendances requises pour terminer cet article. Vous pouvez exécuter le conteneur de développement dans GitHub Codespaces (dans un navigateur) ou localement à l’aide de Visual Studio Code.
Pour suivre les instructions de cet article, vous devez disposer des éléments suivants :
- Codespaces (recommandé)
- Visual Studio Code
- Un abonnement Azure : créez-en un gratuitement.
- Permissions du compte Azure - votre compte Azure doit disposer de permissions
Microsoft.Authorization/roleAssignments/write, telles que Administrateur d'accès utilisateur ou Propriétaire. - Un compte GitHub.
Environnement de développement ouvert
Configurez un environnement de développement sur lequel toutes les dépendances sont installées pour terminer cet article.
- GitHub Codespaces (recommandé)
- Visual Studio Code
GitHub Codespaces exécute un conteneur de développement géré par GitHub avec Visual Studio Code pour le Web comme interface utilisateur. Pour un environnement de développement le plus simple, utilisez GitHub Codespaces pour disposer des outils de développement et des dépendances appropriés préinstallés pour terminer cet article.
Important
Tous les comptes GitHub peuvent utiliser Codespaces jusqu'à 60 heures gratuitement chaque mois avec deux instances principales. Pour plus d'informations, consultez le stockage inclus mensuel et les heures centrales de GitHub Codespaces.
Cliquez avec le bouton droit sur le bouton suivant, puis sélectionnez Ouvrir le lien dans la nouvelle fenêtre pour que vous puissiez disposer à la fois de l’environnement de développement et de la documentation disponible en même temps.
Dans Créer un espace de code, passez en revue les paramètres de configuration de l’espace de code, puis sélectionnez Créer un espace de code.
Capture d’écran de l’écran de confirmation avant de créer un nouveau codespace.
Attendez que le codespace démarre. Ce processus de démarrage peut prendre quelques minutes.
Dans le terminal situé en bas de l’écran, connectez-vous à Azure à l’aide de l’interface CLI du développeur Azure.
azd auth login --use-device-codeCopiez le code à partir du terminal, puis collez-le dans un navigateur. Suivez les instructions pour vous authentifier à l’aide de votre compte Azure.
Les tâches restantes de cet article s’effectuent dans ce conteneur de développement.
Déployer et exécuter
L’exemple de référentiel contient tous les fichiers de code et de configuration dont vous avez besoin pour déployer une application de conversation sur Azure. Les étapes suivantes vous guident tout au long du processus de déploiement de l’exemple sur Azure.
Déployer une application de conversation sur Azure
Important
Les ressources Azure créées dans cette section, en particulier Recherche Azure AI, peuvent commencer à occasionner des frais dès qu’elles sont provisionnées, même si le déploiement est interrompu avant d’être terminé. Pour éviter les frais inattendus, surveillez votre utilisation d’Azure et supprimez les ressources inutilisées rapidement après le test.
Exécutez la commande suivante pour provisionner les ressources Azure et déployer le code source :
azd upSi vous êtes invité à saisir un nom d'environnement, veillez à ce qu'il soit court et en minuscules, par exemple,
myenv. Le nom de l’environnement est utilisé dans le cadre du nom du groupe de ressources.Lorsque vous y êtes invité, sélectionnez un abonnement dans lequel créer les ressources.
Lorsque vous êtes invité à sélectionner un emplacement la première fois, sélectionnez un emplacement près de vous. Cet emplacement est utilisé pour la plupart des ressources, y compris l’hébergement.
Si vous êtes invité à sélectionner une région pour le modèle OpenAI, choisissez-en une proche de chez vous. Si le même emplacement est disponible que votre premier emplacement, sélectionnez cet emplacement.
Attendez que l’application soit déployée, ce qui peut prendre 5 à 10 minutes.
Une fois l’application déployée, une URL s’affiche dans le terminal.
Sélectionnez l’URL étiquetée
Deploying service webpour ouvrir l’application de conversation dans un navigateur.
Utiliser l’application de conversation pour obtenir des réponses à partir de fichiers PDF
L’application de messagerie est préchargée avec les informations sur les avantages sociaux des employés à partir de fichiers PDF. Vous pouvez utiliser l’application de conversation pour poser des questions sur les avantages sociaux. Les étapes suivantes vous guident tout au long du processus d’utilisation de l’application de conversation.
Dans le navigateur, sélectionnez ou entrez Qu'est-ce qui est inclus dans mon plan Northwind Health Plus et qui n'est pas inclus dans le plan standard? dans la zone de texte du chat.
Capture d’écran de la première réponse de l’application de conversation.
Dans la réponse, sélectionnez l’une des citations.
Capture d’écran de la première réponse de l’application de conversation avec sa citation encadrée en rouge.
Dans le volet droit, utilisez les onglets pour comprendre comment la réponse a été générée.
Onglet Description Processus de réflexion Script des interactions dans le chat. Contenu de support Inclut les informations nécessaires pour répondre à votre question et le matériel source. Citation Affiche la page PDF qui contient la citation. Lorsque vous avez terminé, sélectionnez à nouveau l’onglet sélectionné pour fermer le volet.
Utiliser les paramètres de l’application de conversation pour modifier le comportement des réponses
Le modèle OpenAI et les paramètres que vous utilisez pour interagir avec le modèle déterminent l’intelligence de l’application de conversation.
Capture d'écran des paramètres de développement du chat.
| Paramètre | Description |
|---|---|
| Remplacer le modèle d’invite | Prompt utilisé pour générer la réponse. |
| Récupérer ces nombreux résultats de recherche | Nombre de résultats de recherche utilisés pour générer la réponse. Vous pouvez voir ces sources retournées dans les onglets Processus de réflexion et Contenu pris en charge de la citation. |
| Catégorie exclue | Catégorie de documents exclus des résultats de la recherche. |
| Utiliser le ranker sémantique pour la recherche | Fonctionnalité d’Recherche Azure AI qui utilise le Machine Learning pour améliorer la pertinence des résultats de recherche. |
| Utiliser des résumés contextuels de requête au lieu de documents entiers | Lorsque Use semantic ranker et Use query-contextual summaries sont activés, le LLM utilise des légendes extraites de passages clés, au lieu de tous les passages, dans les documents les mieux classés. |
| Suggérer des questions de suivi | L’application de conversation propose des questions de suivi en fonction de la réponse. |
| Mode de récupération | Vecteurs + texte signifie que les résultats de recherche sont basés sur le texte et les incorporations des documents. Vecteurs signifie que les résultats de recherche sont basés sur les embeddings des documents. Texte signifie que les résultats de recherche sont basés sur le texte des documents. |
| Streamez les réponses de chat | Diffusez la réponse au lieu d’attendre que la réponse complète soit disponible. |
Les étapes suivantes vous guident tout au long du processus de modification des paramètres.
Dans le navigateur, sélectionnez l’onglet Developer Settings (Paramètres du développeur).
Cochez la case Proposer des questions de suivi et posez à nouveau la même question.
What is my deductible?Le chat renvoie des suggestions de questions de suivi telles que celles-ci :
1. What is the cost sharing for out-of-network services? 2. Are preventive care services subject to the deductible? 3. How does the prescription drug deductible work?Sous l’onglet Paramètres, désélectionnez Utiliser le ranker sémantique pour la récupération.
Poser à nouveau la même question ?
What is my deductible?Quelle est la différence dans les réponses ?
Par exemple, la réponse qui a utilisé le ranker sémantique a fourni une réponse unique :
The deductible for the Northwind Health Plus plan is $2,000 per year.La réponse sans classement sémantique a renvoyé une réponse, ce qui nécessitait plus d'efforts pour comprendre la réponse :
Based on the information provided, it is unclear what your specific deductible is. The Northwind Health Plus plan has different deductible amounts for in-network and out-of-network services, and there is also a separate prescription drug deductible. I would recommend checking with your provider or referring to the specific benefits details for your plan to determine your deductible amount. Basé sur les informations fournies, il n'est pas clair quel est votre franchise spécifique. Le plan Northwind Health Plus a des montants de franchise différents pour les services en réseau et hors réseau, et il y a aussi une franchise distincte pour les médicaments sur ordonnance. Je vous recommande de vérifier avec votre fournisseur ou de consulter les détails des avantages spécifiques de votre plan pour déterminer le montant de votre franchise.
Nettoyer les ressources
Une fois l’exercice terminé, supprimez toutes les ressources dont vous n’avez plus besoin.
Nettoyage des ressources Azure
Les ressources Azure créées dans cet article sont facturées dans votre abonnement Azure. Si vous pensez ne plus avoir besoin de ces ressources, supprimez-les pour éviter des frais supplémentaires. Utilisez la commande suivante pour supprimer les ressources Azure et supprimer le code source :
azd down --purge
Nettoyer GitHub Codespaces
- GitHub Codespaces
- Visual Studio Code
La suppression de l’environnement GitHub Codespaces vous permet d’optimiser le nombre d’heures gratuites par cœur que vous obtenez pour votre compte.
Important
Pour plus d’informations sur les droits de votre compte GitHub, consultez GitHub Codespaces mensuel inclus stockage et heures principales.
Connectez-vous au tableau de bord GitHub Codespaces.
Recherchez vos espaces de code en cours d’exécution provenant du référentiel Azure-Samples/azure-search-openai-demo-java GitHub.
Capture d’écran de tous les Codespaces en cours d’exécution, avec leur statut et leurs modèles.
Ouvrez le menu contextuel du codespace, puis sélectionnez Supprimer.
Capture d’écran du menu contextuel pour un seul codespace, avec l’option de suppression mise en surbrillance.
Comment a-t-on répondu à la question ?
L’application est séparée en deux applications :
- Une application JavaScript front-end qui utilise le framework React avec l’outil de build Vite.
- Application Java back-end qui répond à la question.
L'API back-end /chat suit les étapes du processus pour obtenir une réponse :
- Créer des options RAG : constituez un ensemble d'options utilisées pour générer une réponse.
- Créer une approche en utilisant les options RAG : Utilisez une combinaison de modèles basés sur la récupération et la génération pour créer une approche permettant de générer une réponse précise et naturelle.
- Exécutez l’approche avec les options RAG et la conversation précédente : utilisez l’approche et les options RAG pour générer une réponse basée sur la conversation précédente. La réponse inclut des informations sur les documents utilisés pour générer la réponse.
Obtenir de l’aide
Cet exemple de référentiel propose des informations pour résoudre les problèmes. S’il n’y a pas de solution à votre problème, signalez-le dans les Issues (problèmes) du référentiel.
Étapes suivantes
- Obtenir le code source de l’exemple utilisé dans cet article
- Créer une application de chat avec Azure OpenAI : Architecture de solution selon les pratiques exemplaires
- Contrôle d’accès dans les applications d’IA générative dans la Recherche Azure AI
- Créer une solution OpenAI adaptée aux entreprises avec la Gestion des API Azure
- Surpassant la recherche vectorielle avec des capacités hybrides de récupération et de classement
- Plus de modèles Azure AI de bout en bout
Capture d’écran de l’option de la palette de commandes permettant de rouvrir le dossier actuel dans votre environnement local.