AI Azure Open AI Integration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: se renseigner sur une tente vendue à la boutique
But: l'acheteur potentiel cherche une tente. Il pose une question au chatbot. Le chatbot le renseigne et lui conseille une tente en stock dans la boutique (RAG dans la base Cosmos DB):
Qui suis-je, à propos de l'auteur
depuis 2001, Insider depuis 2014.
Merci à Microsoft EMEA GBS de m’avoir permis de participer en 2014 au projet Insider sur mon temps de travail. Depuis, ce projet de test de Windows, ici en version 11, est rythmé par le cycle de l'insider Preview Builds, maintenant du canal Dev (Dev Channel): quelle joie de pouvoir tester les nouvelles fonctionnalités en avant première ! C'est l'occasion de faire ma veille technologique, d'apprendre ces nouveautés, de les valider, et de vous les partager, que vous puissiez en profiter aussi :-)
Ce tutorial est une démonstration en laboratoire pour le plaisir, à but non lucratif, pour montrer que le concept est possible, ou pour un cours dans le cadre scolaire. Ne testez pas dans un environnement de production.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: le github
Voici le projet Github à forker:
L'image montre une page GitHub du dépôt "contoso-chat" appartenant à "Azure-Samples". Voici quelques détails :
En-tête de la page :
Le dépôt est public.
Options : Watch (25), Fork (2.8k), et Star (457).
Onglets : Code, Issues, Pull requests, Actions, Projects, Security, Insights.
Contenu principal :
Branche principale : main.
Bouton vert "Code" pour cloner ou télécharger le dépôt.
Liste de dossiers et fichiers avec descriptions des derniers commits et dates de mise à jour, par exemple :
.devcontainer : "Add Tracing (#175)" (mis à jour le mois dernier)
src : "Add Tracing (#175)" (mis à jour le mois dernier)
.gitignore : "Docs/oct updates v2 (#193)" (mis à jour la semaine dernière)
Section "About" :
Description du dépôt : "This sample has the full End2End process of creating RAG application with Promptify and AI Studio..."
Tags associés : azure-cosmosdb, copilot tutorial, llmops, et plus encore.
En somme, c'est un dépôt bien organisé et documenté, essentiel pour la collaboration et le développement de projets open source.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: création du fork
L'image montre une interface utilisateur pour créer un nouveau fork d'un dépôt sur une plateforme de gestion de code source: GitHub. Voici les éléments visibles :
Un champ "Owner" avec la valeur "azurechatiaicopilot".
Un champ "Repository name" avec la valeur "contoso-chat" et une coche verte indiquant que le nom est disponible.
Une section de description optionnelle avec le texte : "This sample has the full End2End process of creating RAG application with Prompty and AI Studio. It includes C".
Une case à cocher pour copier uniquement la branche "main".
Un message indiquant que l'utilisateur crée un fork dans son compte personnel.
Un bouton vert "Create fork" en bas à droite.
Cette image illustre le processus de création d'un fork, permettant aux utilisateurs de faire des expérimentations sur un dépôt sans affecter le projet original.
Sur la page "Créer un nouveau fork", faites défiler vers le bas et décochez l'option "Copier uniquement la branche principale". Si vous oubliez de décocher cette option, vous devrez supprimer votre fork et réessayer.
Cliquez sur le bouton "Créer un fork". Vous devriez maintenant être sur la page https ://github.com/VOTRENOMDUTILISATEUR/contoso-chat dans votre propre compte GitHub. Vous avez maintenant une copie (appelée un fork) de ce dépôt de l'atelier dans votre propre compte GitHub ! N'hésitez pas à l'explorer, vous ne casserez rien. FÉLICITATIONS ! - Vous avez une copie personnelle de l'exemple à explorer !
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: création du codespace
L'image montre une page GitHub pour le dépôt "contoso-chat" appartenant à l'utilisateur "azurechatcopilot". Ce dépôt est un fork de "Azure-Samples/contoso-chat". Voici les éléments principaux :
Branche principale : "main", synchronisée avec "Azure-Samples/contoso-chat:main".
Dossiers et fichiers : .devcontainer, .github, .vscode, data, docs, infra, etc.
Auteur du dernier commit : Un utilisateur nommé "nitya" a récemment ajouté une mise à jour ACA.
Sur la droite, il y a une section "About" :
Description : Le dépôt contient le processus complet de création d'une application RAG avec Promptly et AI Studio, incluant GPT 3.5 Turbo, des évaluations d'application LLM, l'automatisation du déploiement avec AZD CLI, et des actions GitHub pour l'évaluation et le déploiement avec une cartographie d'intention pour plusieurs tâches LLM.
En bas à droite, il y a une fenêtre contextuelle "Codespaces" indiquant qu'il n'y a pas de codespaces pour ce dépôt et offrant la possibilité d'en créer un sur la branche principale.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: préparation du codespace
Préparation du codespace
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: le codespace est prêt
L'image montre une interface de développement de code, Visual Studio Code, avec un fichier README.md ouvert. Voici un aperçu de ce qui est visible :
Titre du fichier : "Contoso Chat: Retail RAG Copilot with Azure AI Studio and Prompty".
Boutons : Il y a des boutons pour ouvrir des espaces de travail GitHub et des conteneurs de développement.
Table des matières du fichier README :
Overview
Features - Architecture Diagram
Pre-Requisites
Getting Started
GitHub Codespaces
Explorateur de fichiers à gauche :
Plusieurs fichiers et dossiers comme .github, .vscode, dca, docs, src, .gitignore, azure.yaml, CODE_OF_CONDUCT.md, CONTRIBUTING.md, docker-compose.yml, LICENSE, et d'autres.
Terminal en bas de l'écran :
Ligne de commande affichant : @azurechatcaipilot ➜ /workspaces/contoso-chat (main) $
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: bienvenue sur Microsoft Azure
On ouvre le portail Azure: https://portal.azure.com
welcome to Azure
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: comment voulez-vous utiliser Azure?
L'image montre une page web du portail Azure de Microsoft. La page demande à l'utilisateur comment il prévoit d'utiliser Azure. Il y a quatre options parmi lesquelles l'utilisateur peut choisir :
Améliorer la sécurité des données et de l'infrastructure cloud : Cette option est pour ceux qui veulent utiliser Azure pour renforcer la sécurité de leurs systèmes et données hébergés sur le cloud.
Utiliser les services de plateforme pour construire, tester et déployer des applications : Idéale pour les développeurs souhaitant tirer parti des services de plateforme d'Azure pour gérer le cycle de vie de leurs applications.
Utiliser l'IA et le ML pour ajouter des fonctionnalités intelligentes aux applications : Cette option s'adresse à ceux qui veulent intégrer des capacités d'intelligence artificielle et de machine learning dans leurs applications.
Développer et déployer des applications natives cloud évolutives : Ciblée pour les développeurs créant des applications qui doivent évoluer facilement avec la demande, en utilisant les services natifs du cloud Azure.
En bas de la page, il y a un lien vers la déclaration de confidentialité de Microsoft et deux boutons : "Skip" et "Next". La page est numérotée "Page 2 of 3", indiquant qu'il s'agit de la deuxième étape d'un processus en trois étapes.
Cette page aide les utilisateurs à définir leurs objectifs et à configurer Azure en fonction de leurs besoins spécifiques.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: les services Azure
Azure all services
L'image montre une capture d'écran du portail Microsoft Azure, spécifiquement la section "All services" (Tous les services). La catégorie sélectionnée est "AI + machine learning" (IA + apprentissage automatique), qui contient 22 services. Voici une description détaillée de chaque service listé :
Azure AI Studio : Un environnement intégré pour développer, tester et déployer des modèles d'intelligence artificielle.
Azure Machine Learning : Permet de construire, entraîner et déployer des modèles de machine learning à grande échelle.
AI Search : Intègre des capacités de recherche intelligente dans les applications.
Azure AI services : Collection de services d'intelligence artificielle pour diverses applications.
Azure AI services multi-service account : Compte pour accéder à plusieurs services d'intelligence artificielle sous un même abonnement.
Azure AI Video Indexer : Analyse et indexe des vidéos pour extraire des informations utiles.
Anomaly detectors : Détecte des anomalies dans les données pour identifier des comportements inhabituels.
Bot Services : Crée, teste et déploie des bots intelligents.
Computer vision : Analyse et comprend des images et des vidéos.
Content moderators : Modère automatiquement le contenu pour détecter des éléments inappropriés.
Custom vision : Crée des modèles de vision personnalisés pour des besoins spécifiques.
Cette image est intéressante car elle montre la diversité des services d'intelligence artificielle et de machine learning disponibles sur Microsoft Azure, utiles pour les développeurs et entreprises intégrant des capacités d'IA dans leurs applications.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: les resource groups Azure
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: le deployement Azure
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Azure AI Studio
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: les resources AI Studio
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: le projet Azure Ai Studio
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: les particularités du projet AI Studio
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: les 1795 modèles AI disponibles
L'image montre une capture d'écran de la page "Model catalog" de Azure AI Studio. Cette page présente une liste de modèles d'intelligence artificielle disponibles pour diverses tâches. Voici les modèles affichés et leurs caractéristiques :
gpt-4o-realtime-preview : Génération audio
openai-whisper-large-v3 : Reconnaissance vocale
openai-whisper-large : Reconnaissance vocale
gpt-4o : Complétion de chat
gpt-35-turbo : Complétion de chat
o1-preview : Complétion de chat
o1-mini : Complétion de chat
gpt-4o-mini : Complétion de chat
gpt-4o : Complétion de chat
gpt-4-32k : Complétion de chat
gpt-35-turbo-instruct : Complétion de chat
gpt-35-turbo-16k : Complétion de chat
dall-e-3 : Texte à image
dall-e-2 : Texte à image
whisper : Reconnaissance vocale
tts-hd : Texte en parole
tts : Texte en parole
text-embedding-3-small : Embeddings (création de représentations vectorielles pour le texte)
Ces modèles sont utilisés pour diverses applications dans le domaine de l'intelligence artificielle, allant de la création de contenu audio et visuel à l'analyse de textes et de discours. Azure AI Studio offre un environnement intégré pour développer, tester et déployer ces modèles, facilitant ainsi l'intégration de capacités d'intelligence artificielle avancées dans les applications.
Azure AI Studio propose une variété de modèles d'intelligence artificielle pour différentes tâches, telles que :
Génération audio : Par exemple, gpt-4o-realtime-preview.
Reconnaissance vocale : Par exemple, openai-whisper-large-v3.
Complétion de chat : Par exemple, gpt-4o et gpt-35-turbo.
Conversion de texte en image : Par exemple, dall-e-3.
Conversion de texte en parole : Par exemple, tts-hd et tts.
Ces modèles sont utilisés pour diverses applications, allant de la création de contenu interactif à l'analyse de données complexes.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Azure container apps
L'image montre une capture d'écran du portail Microsoft Azure, spécifiquement la page de vue d'ensemble d'un environnement de conteneurs nommé "aitour-45479574-containerapps-env". Voici les détails visibles :
Nom de l'environnement : aitour-45479574-containerapps-env
Type d'environnement : Consumption only
Groupe de ressources : rg-AITOUR
Emplacement : France Central
ID d'abonnement : 93b4f526-6464-406e-bf46-582d467a8252
IP statique : 98.66.217.127
Applications : 1
Version KEDA : 2.15.1
Version Dapr : 1.12.5
Tableau de bord .NET Aspire : activé
Tags : azd-env-name : AITOUR
Sur le côté gauche de la page, les options de navigation incluent :
Overview (Vue d'ensemble)
Activity log (Journal d'activité)
Access control (IAM) (Contrôle d'accès)
Tags
Diagnose and solve problems (Diagnostiquer et résoudre les problèmes)
Settings (Paramètres)
Insights
Apps (Applications)
Service Connector
Monitoring (Surveillance)
Automation (Automatisation)
Help (Aide)
En haut de la page, les boutons "Refresh" (Actualiser) et "Delete" (Supprimer) sont également visibles.
Explications détaillées de chaque section et élément :
Nom de l'environnement : Indique le nom unique de l'environnement de conteneurs.
Type d'environnement : "Consumption only" signifie que cet environnement est basé sur une utilisation à la demande, ce qui est souvent plus économique pour des charges de travail fluctuantes.
Groupe de ressources : Un conteneur logique qui regroupe les ressources liées pour une gestion simplifiée.
Emplacement : Indique la région géographique où l'environnement est hébergé, ici "France Central".
ID d'abonnement : Identifiant unique pour l'abonnement Azure auquel appartient cet environnement.
IP statique : Une adresse IP fixe assignée à cet environnement pour un accès stable.
Applications : Le nombre d'applications déployées dans cet environnement.
Version KEDA : Indique la version de KEDA (Kubernetes-based Event Driven Autoscaling) utilisée pour auto-scaler les conteneurs en fonction des événements.
Version Dapr : Version de Dapr (Distributed Application Runtime) utilisée pour simplifier la création d'applications microservices.
Tableau de bord .NET Aspire : Indique si le tableau de bord pour .NET Aspire est activé, ce qui permet une meilleure supervision des applications .NET.
Tags : Utilisés pour organiser et catégoriser les ressources pour une gestion et une facturation plus faciles.
En somme, cette page fournit une vue complète et organisée des informations essentielles pour la gestion et le déploiement d'un environnement de conteneurs dans Microsoft Azure.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: l'url du container app
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Azure container live en place
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Azure cross-paltform CLI
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: bienvenue sur Cosmos DB
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: qu'est-ce que Cosmos DB?
What is Cosmos DB?
Qu'est-ce qu'Azure Cosmos DB ?
Azure Cosmos DB est un service de base de données NoSQL entièrement géré, conçu pour le développement d'applications modernes. Voici quelques-unes de ses caractéristiques principales :
Complètement géré : Azure s'occupe de l'infrastructure sous-jacente, vous permettant de vous concentrer sur le développement de votre application sans vous soucier de la gestion des serveurs ou de la mise à l'échelle.
Haute disponibilité : Garantit une disponibilité de 99,999%, ce qui signifie que vos applications restent accessibles et fiables.
Multi-modèle : Prend en charge plusieurs modèles de données tels que le modèle de document, le modèle de clé-valeur, le graphe, et les tables de type Cassandra.
Faible latence : Offert à l'échelle mondiale avec des temps de réponse en millisecondes.
Répartition géographique : Permet de distribuer facilement des données à travers plusieurs régions Azure, offrant ainsi des performances optimales où que se trouvent vos utilisateurs.
Scalabilité élastique : S'adapte automatiquement pour répondre aux demandes des utilisateurs, que vous ayez besoin de gérer une petite application ou une entreprise de grande envergure.
Sécurité et conformité : Fournit des fonctionnalités de sécurité avancées et des certifications de conformité pour protéger vos données.
Azure Cosmos DB est particulièrement adapté pour les applications nécessitant une grande disponibilité, une faible latence et une scalabilité élastique, comme les applications web, les applications mobiles, le gaming, et les applications IoT.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Cosmos DB Data Explorer
L'image montre une capture d'écran de l'Explorateur de données dans le portail Microsoft Azure, pour un compte Cosmos DB nommé "cosmos-contoso-45292831". Voici les éléments clés :
Explorateur de données : Permet de naviguer et de gérer les données dans une base de données Cosmos DB.
Container "contoso-outdoor" et collection "customers"** :
La collection "customers" contient des documents JSON. L'image montre un exemple de document JSON avec des informations détaillées sur un client, y compris :
id
firstName
lastName
address
membership
Une liste orders avec des détails de commande comme id, productId, quantity, date, total, shipDate, unitPrice, unitsInStock, et description.
Options de l'interface :
Créer un nouveau conteneur
Mettre à jour, ignorer, supprimer des éléments
Bouton "Edit Filter" pour appliquer des filtres aux données affichées
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Azure Search Explorer
L'image montre une capture d'écran de l'interface de Microsoft Azure Search Explorer. Voici une description détaillée de ce que l'on peut voir :
En-tête :
En haut de l'image, il y a la barre de navigation de Microsoft Azure avec le logo et les options de recherche.
L'URL visible est https://portal.azure.com/#view/Microsoft_Azure_Search/SearchExplorerRead....
Section principale :
Le titre de la page est "Search explorer".
Le nom de l'index sélectionné est "contoso-products".
Il y a une barre de recherche avec un bouton "Search" à droite.
Résultats de la recherche :
Les résultats de la recherche sont affichés sous forme de JSON.
Le JSON commence par :
{
"@odata.context": "https://srch-45292831.search.windows.net/indexes('contoso-products')/$metadata#docs",
"@odata.count": 20,
"value": [
{
"@search.score": 1,
"id": "20",
"content": "Step into the great outdoors with the CompactCook Camping Stove, a convenient, light...",
"filepath": "compactcook-camping-stove",
"title": "CompactCook Camping Stove",
"url": "/products/compactcook-camping-stove",
"vector": [
0.018875257,
0.003079016,
-0.0044105756,
...
]
}
]
}
Search explorer : Il s'agit d'un outil qui permet de parcourir et interroger les index de recherche créés dans Azure Search. Il est utilisé pour tester et valider les requêtes de recherche.
Index "contoso-products" : Un index dans Azure Search est une collection de documents que vous pouvez interroger. Ici, l'index "contoso-products" contient des informations sur divers produits de la marque Contoso.
Barre de recherche : Utilisée pour saisir des requêtes de recherche. L'utilisateur peut entrer des termes de recherche et cliquer sur le bouton "Search" pour obtenir des résultats.
Résultats de la recherche : Les résultats sont retournés sous forme de JSON. Chaque résultat contient plusieurs champs, y compris le score de recherche (@search.score), l'identifiant (id), le contenu (content), le chemin du fichier (filepath), le titre (title), l'URL (url) et un vecteur (vector).
@search.score : Indique la pertinence du document par rapport à la requête de recherche.
id : L'identifiant unique du document dans l'index.
content : Un extrait du contenu du produit.
filepath : Le chemin du fichier dans le système de gestion des produits.
title : Le titre du produit.
url : L'URL relative du produit sur le site web.
vector : Un tableau de nombres représentant des caractéristiques du produit pour les besoins de recherche avancée et de classement.
L'utilisation de Azure Search Explorer permet de vérifier comment les documents sont indexés et de s'assurer que les requêtes de recherche retournent les résultats souhaités. C'est un outil essentiel pour optimiser l'expérience de recherche dans des applications utilisant Azure Search.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Prompty
Prompty explorer tent
L'image montre une interface de développement de code, Visual Studio Code, avec un fichier ouvert nommé "chat-prompty.yml". Ce fichier contient des configurations pour un modèle de chat AI. Voici une description détaillée du contenu du fichier et de l'interface :
Contenu du fichier chat-prompty.yml
# authors: Billet
# since: 2023
api:
kind: chat.com
operations:
- type: serverless
endpoint: https://models.inference.ai.azure.com
model: gpt-40
sample:
- input: >
{firstname: Loic Billet}
output: >
The Alpine Explorer Tent boasts a detachable divider for privacy, numerous mesh windows and adjustable vents for ventilation, and a waterproof design. It even has a built-in gear loft to store your outdoor essentials. In short, it's a blend of privacy, comfort, and convenience, making it your second home in the heart of nature!
Question: What can you tell me about your tent?
Section du terminal
En dessous du fichier, il y a une console de sortie affichant des logs de déploiement avec des messages d'information (info) indiquant le chargement et l'appel du modèle gpt-40. Voici les logs transcrits :
[info] Loading /workspaces/contoso-chat/.env
[info] calling model gpt-40
[info] Bot setup: If you're looking for a tent that combines comfort, privacy, and practicality, the Alpine Explorer Tent might just be your new favorite outdoor companion!
Description des caractéristiques spéciales de la tente Alpine Explorer
En bas de l'image, il y a également une description des caractéristiques spéciales de la tente Alpine Explorer :
Here's what makes it special:
- "Detachable Divider": Perfect for privacy when you're sharing the tent.
- "Ventilation": Numerous mesh windows and adjustable vents to keep you cool and comfy.
Ce fichier YAML configure un modèle de chat AI avec les éléments suivants :
Auteur et date : Les auteurs et l'année de création.
API : Type et opérations de l'API avec un endpoint et le modèle utilisé (gpt-40).
Échantillon : Exemple d'entrée et de sortie pour le modèle, décrivant les caractéristiques d'une tente.
Le terminal affiche les logs de déploiement, montrant que le fichier .env est chargé et que le modèle gpt-40 est appelé. La sortie du bot fournit une description détaillée de la tente Alpine Explorer, mettant en avant ses caractéristiques comme un séparateur détachable et une ventilation optimisée.
CQFD.
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: prompty en français
Il est possible de demander au modèle de parler de la tente en français
AI Azure Open AI Intégration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: prompty répond à d'autres questions
Il est possible de demander au modèle de parler d'autre chose. Prochaine étape, à chaque question, ramener le chatbot dans son contexte c'est à dire, le renseignement des articles en stock à la boutique.
AI Azure Open AI Integration Chatbot avec RAG CosmosDB depuis fork GIT POC MVP: Besoin d'aide ?
Besoin d'aide avec Azure? Remplissez ce formulaire ou envoyez un email sur loic @consultingit.fr ou loicbemeagbs @hotmail.fr
Ou sur les réseaux sociaux :