Passer

Azure AI Search + Open AI : Optimisez la recherche dans vos données

Dans un contexte où vous auriez besoin de vous retrouver dans vos données sans avoir à parcourir les centaines de dossiers ou fichiers qui composent votre espace de stockage, ou de rassembler toutes ces informations dans un seul résumé de quelques lignes, l’IA peut être la solution à votre besoin et ce, en quelques minutes.

Azure AI Search et Azure Open AI

Pour mieux comprendre l’architecture que nous souhaitons décrire ici, vous pouvez toujours revoir la première partie de l’article ici qui explique la fonction de chaque service IA de Microsoft Azure. 

L’avantage qu’Azure apporte c’est la possibilité d’imbriquer les services entre eux pour qu’ils se complètent et forment une solution sécurisée, robuste et facile d’utilisation.

De ce fait, pour répondre au besoin que nous avons identifié en introduction de cet article, il est possible d’installer un service capable d’aller chercher les informations dans vos données stockées : Azure AI Search et de le combiner avec un service d’interaction avec l’utilisateur qui est capable de synthétiser les résultats dans des phrases construites : Azure Open AI.

Les briques utilisées :

  • Azure AI Search : Comme expliqué dans la première partie, cet outil permet de faire de la recherche d’information dans des sources données variées. 
  • Azure OpenAI : Cet outil utilisé avec GPT4o permettra à l’utilisateur d’interagir avec et de récupérer ses données recherchées sous forme de phrases structurées.
  • Azure Blob Storage : Ce sera la source donnée utilisée dans notre scénario. Tous nos fichiers y sont stockés et seront indexées avec Azure AI Search. Il est possible d’avoir les types de sources données suivants avec AI Search : Azure Blob Storage, Azure Data Lake Storage, Azure SQL Database, Azure Table Storage, Azure Cosmos DB, OneLake files, SharePoint Online (seulement disponible en API).

Un mot sur la sécurité et la robustesse

Un compte de stockage de votre blob doit être robuste et sécurisé. La mise en place de Backups via Azure Recovery Services Vault et la configuration de la redondance de vos données assure cette robustesse. Pour rappel, cette redondance peut être configurée en plusieurs niveaux : LRS, ZRS, GRS, GZRS, RA-GRS ou RA-GZRS (pour plus d’informations, voir cette documentation). Si besoin, d’autres services de sécurisation peuvent être mis en place.

De plus, pour une connexion sécurisée et privatisée à vos ressources, des Private Endpoint peuvent être mis en place. Ils sont configurés dans un ou des réseaux virtuels de votre infrastructure et sont joignables à partir d’une résolution DNS privée.

Azure AI Search

Configuration de Azure AI Search

Passons à présent à la configuration de votre intelligence artificielle ! 

Tout d’abord, voici ce à quoi la solution devrait ressembler : 

Azure AI Search

Création de votre Compte de Stockage

Créez le compte de stockage dont vous aurez besoin pour installer votre solution. Rappelez-vous des bonnes pratiques de robustesse et de sécurisation citées au-dessus. Ce compte possédera un conteneur de blob dans lequel vous placerez vos fichiers à indexer plus tard avec Aure AI Search

Azure AI Search
Azure AI Search

Dans les images visualisées ci-dessus, des fichiers utilisés par DEVOTEAM seront indexés dans le cadre de notre LAB.

Création de Azure AI Search

La création du service est facile, elle peut être réalisée via le portail AZURE, Powershell, az CLI ou en Terraform. Elle inclut les paramétrages basiques (Nom du service, Groupe de ressource, SKU, etc.) et d’autres paramétrages tels que la mise en réseau et les tags. Ce service sera utilisé pour indexer le conteneur de blob créé précédemment. C’est grâce à ce service que nous pourrons rechercher des informations  en interaction avec Open AI.

Note : Si votre compte de stockage est paramétré avec un Private Endpoint, il conviendrait d’autoriser la connexion de votre Azure AI Service avant de continuer la suite du Lab.

Azure AI Search

Création de Azure Open AI

Nous allons à présent créer le service Open AI sur lequel sera installé le service de chat intelligent et qui ira chercher toutes les informations concernant vos données via AI Search

Remplissez les champs et les paramètres correspondant à la politique de votre organisation (Network, Tags)

Ensuite créez le service en cliquant sur « Create ».

Configuration du service sur Azure OpenAI Studio

La suite se passe sur Azure OpenAI Studio, dans lequel vous allez tester vos modèle OpenAI (GPT3.5, GPT4, GPT4o…etc.) et déployer des webapp développées pour requêter le service OpenAI créé précédemment. 

Allez donc sur OpenAI Studio :

Une fois que vous y êtes, vous allez devoir déployer un modèle d’IA pour votre service OpenAI. 

On va déployer ici GPT 4o

Créez un nouveau déploiement.

Lorsque le déploiement est créé, vous allez pouvoir le tester via le chat du Playground !

Et c’est dans cette section que vous allez paramétrer la connexion entre OpenAI, AI Search et votre Blob Storage via la section « Add your Data »

Dans la section qui suit « Data management » laissez les paramètres par défaut

Dans la section « Data connection, cochez « API Key »

Vous pouvez également cocher « system assigned managed identity », mais des RBAC requis seront à paramétrer, voir : AI Role assignments

Une fois validé, vous aurez paramétré votre intelligence artificielle basée sur la recherche d’information ! 

Tests et déploiement dans une webapp

Vous pouvez effectuer un test de votre solution pour voir si elle va bien chercher les informations dans votre Blob Storage avant d’effectuer tout déploiement de WebApp :

Lorsque vous vous sentez prêt, vous pouvez à présent déployer votre webapp cliente qui ira requêter votre OpenAI.

Lorsque l’installation est terminée, votre WebApp est disponible !