Événement
Créer des applications intelligentes
17 mars, 23 h - 21 mars, 23 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Cet article vous montre comment déployer et exécuter l’exemple de conversation avec vos propres données pour .NET. Cet exemple implémente une application de conversation à l’aide de C#, d’Azure OpenAI Service et de la génération augmentée de récupération (RAG) dans Recherche Azure AI pour obtenir des réponses sur les avantages sociaux des employés dans une entreprise fictive. L'application de chat sur les avantages sociaux des employés est alimentée par des fichiers PDF comprenant un manuel de l'employé, un document sur les avantages sociaux et une liste des rôles et des attentes de l'entreprise.
En suivant les instructions de cet article, vous allez :
Une fois cette procédure terminée, 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 d’Azure Open AI Service et de Recherche Azure AI.
Vous trouvez ci-dessous d’autres articles de cette collection :
Dans cet exemple d’application, une société fictive appelée Contoso Electronics fournit l’expérience de l’application de conversation à ses employés pour poser des questions sur les avantages, les stratégies internes et les descriptions et rôles de travail.
L’architecture de l’application de conversation est illustrée dans le diagramme suivant :
La plupart des ressources de cette architecture utilisent un niveau tarifaire de base ou de consommation. Le niveau tarifaire Consommation est basée sur l’utilisation, ce qui signifie que vous payez uniquement ce que vous utilisez. Pour terminer cet article, il y aura des frais, mais ce sera minimal. Lorsque vous avez terminé l’article, vous pouvez supprimer les ressources pour ne plus payer de frais.
Pour plus d’informations, consultez Exemples Azure : coût dans l’exemple de référentiel.
Un environnement de conteneur de développement est disponible 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 cet article, vous avez besoin de la configuration requise suivante :
Commencez maintenant par un environnement de développement sur lequel toutes les dépendances sont installées pour terminer cet article.
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 pendant jusqu’à 60 heures gratuites chaque mois avec 2 instances principales. Pour plus d’informations, consultez Le stockage mensuel inclus et les heures de cœur GitHub Codespaces.
Démarrez le processus de création d’un espace de code GitHub sur la branche main
du dépôt GitHub Azure-Samples/azure-search-openai-demo-csharp
.
Pour que l’environnement de développement et la documentation soient disponibles en même temps, cliquez avec le bouton droit sur le bouton suivant Ouvrir dans GitHub Codespaces, puis sélectionnez Ouvrir le lien dans les nouvelles fenêtres.
Sur la page Créer un codespace , passez en revue les paramètres de configuration du codespace, puis sélectionnez Créer un nouveau codespace :
Attendez que le codespace démarre. Ce processus de démarrage peut prendre quelques minutes.
Dans le terminal en bas de l’écran, connectez-vous à Azure avec le CLI Azure Developer.
azd auth login
Copiez le code à partir du terminal, puis collez-le dans un navigateur. Suivez les instructions pour vous authentifier avec votre compte Azure.
Les tâches restantes de cet article s’effectuent dans ce conteneur de développement.
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.
Important
Les ressources Azure créées dans cette section entraînent des coûts immédiats, principalement de la ressource Recherche Azure AI. Ces ressources peuvent entraîner des coûts même si vous interrompez la commande avant la fin de exécution.
Exécutez la commande Azure Developer CLI suivante pour provisionner les ressources Azure et déployer le code source :
azd up
Lorsque vous y êtes invité, entrer un nom d’environnement court et en minuscules. Par exemple : myenv
. Il 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 pour 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é à entrer un emplacement pour le modèle OpenAI, sélectionnez un emplacement proche de vous. Si le premier emplacement choisi est également disponible, sélectionnez-le.
Attendez que l’application soit déployée. Le déploiement peut prendre jusqu’à 20 minutes.
Une fois l’application déployée avec succès, une URL s’affiche dans le terminal.
Sélectionnez cette URL étiquetée Deploying service web
pour ouvrir l’application de conversation dans un navigateur.
L’application de conversation 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, accédez à la page Conversation depuis le volet de navigation gauche.
Sélectionnez ou entrez « Qu’est-ce qui est inclus dans mon plan Northwind Health Plus qui n’est pas standard ? » dans la zone de texte de la conversation instantanée. Votre réponse est similaire à l’image suivante.
Dans la réponse, sélectionnez une citation. Une fenêtre contextuelle s’ouvrira pour afficher la source des informations.
Naviguez entre les onglets en haut de la zone de réponse pour comprendre comment la réponse a été générée.
Onglet | Description |
---|---|
Processus de réflexion | Il s’agit d’un script des interactions dans la conversation instantanée. Vous pouvez afficher l’invite système (content ) et votre question utilisateur (content ). |
Contenu de support | Cela inclut les informations permettant de répondre à votre question et le document source. Le nombre de citations du document source est noté dans les paramètres du développeur. La valeur par défaut est 3. |
Citation | La page source qui contient la citation est affichée. |
Lorsque vous avez terminé, revenez à l’onglet réponse.
L’intelligence de la conversation est déterminée par le modèle OpenAI et les paramètres utilisés pour interagir avec le modèle.
Setting | Description |
---|---|
Remplacer le modèle d’invite | Il s’agit de l’invite utilisée pour générer la réponse. |
Récupérer ces nombreux résultats de recherche | Il s’agit du 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 | Il s’agit de la catégorie de documents exclus des résultats de la recherche. |
Utiliser le ranker sémantique pour la récupération | Il s’agit d’une fonctionnalité du service Recherche Azure AI, qui utilise le machine learning pour améliorer la pertinence des résultats de la recherche. |
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 incorporations des documents. Texte signifie que les résultats de recherche sont basés sur le texte des documents. |
Utiliser des résumés contextuels de requête au lieu de documents entiers | Lorsque Use semantic ranker et Use query-contextual summaries sont vérifié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. |
Les étapes suivantes vous guident tout au long du processus de modification des paramètres.
Dans le navigateur, sélectionnez l’icône d’engrenage en haut à droite de la page.
Si elle n’est pas sélectionnée, cochez la case Suggérer des questions de suivi et posez la même question.
What is included in my Northwind Health Plus plan that is not in standard?
Il est possible que la conversation retourne des suggestions de réponse aux questions.
Sous l’onglet Paramètres, désélectionnez Utiliser le ranker sémantique pour la récupération.
Posez une nouvelle fois la même question.
What is my deductible?
Quelle est la différence dans les réponses ?
La réponse qui a utilisé le classeur sémantique a fourni une réponse unique. La réponse sans classement sémantique a retourné une réponse moins directe.
Pour terminer, nettoyez les ressources Azure et GitHub CodeSpaces que vous avez utilisées.
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.
Exécutez la commande Azure Developer CLI suivante pour supprimer les ressources Azure et le code source :
azd down --purge
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 (https://github.com/codespaces).
Localisez vos codespaces en cours d’exécution provenant du Azure-Samples/azure-search-openai-demo-csharp
dépôt GitHub.
Ouvrez le menu contextuel du codespace, puis sélectionnez Supprimer.
Cet exemple de référentiel propose des informations de résolution des problèmes.
Si votre problème n’est pas résolu, consignez votre problème dans les Problèmes du référentiel.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événement
Créer des applications intelligentes
17 mars, 23 h - 21 mars, 23 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantFormation
Module
Projet guidé : Créer et déployer votre propre copilote IA - Training
Créez un copilote IA pour Contoso Bike Shop. Intégrez Azure OpenAI et Cosmos DB pour permettre des recherches avancées de données, utilisez GPT-3.5 pour obtenir des résultats améliorés et déployez la solution sur Azure Kubernetes Service.
Certification
Microsoft Certified : Azure AI Engineer Associate - Certifications
Concevez et mettez en œuvre une solution Azure AI à l’aide d’Azure AI Services, de Recherche Azure AI et d’Azure Open AI.
Documentation
Mettre à l’échelle l'exemple de chat Azure OpenAI pour .NET en utilisant RAG - .NET
Découvrez comment ajouter l’équilibrage de charge à votre application pour étendre l’application de conversation au-delà des limites de quota relatives aux modèles et aux jetons Azure OpenAI.
Tutoriel : Évaluer les requêtes d'un GML - .NET
Évaluez la cohérence, la pertinence et le noyau des requêtes d'un GML en utilisant Azure OpenAI et le Semantic Kernel SDK pour XXX.NET
Authentifier auprès d’Azure OpenAI en utilisant .NET - .NET
Découvrez les différentes options d'authentification à Azure OpenAI et à d'autres services à l'aide de .NET