Et si on arrêtait de jouer avec ChatGPT et qu’on passait aux choses sérieuses !?

Aujourd’hui , nous allons explorer une facette de ChatGPT qui est encore très peu connue.

En effet , tout le monde a joué avec ChatGPT pour poser des questions, générer du code etc mais peu de personnes ou de sociétés ont mis en place des cas d’usage “professionnels”.

Nous allons donc voir comment utiliser ChatGPT dans le cadre d’une application professionnelle 😉

Pour rappel voici la définition de Wikipedia pour ChatGPT :

ChatGPT (Generative Pre-trained Transformer) est un prototype d’agent conversationnel utilisant l’intelligence artificielle, développé par OpenAI et spécialisé dans le dialogue.

L’agent conversationnel de ChatGPT repose sur le modèle de langage GPT d’OpenAI, et est affiné en continu grâce à l’utilisation de techniques d’apprentissage supervisé et d’apprentissage par renforcement.

ChatGPT est capable de générer des réponses à des questions, de compléter des phrases, de traduire des textes, d’écrire des articles et de tenir des conversations avec des humains.

Il peut également synthétiser des textes suivant un ensemble de contraintes, telles que le ton, le style et le sujet. Il a également été utilisé pour différents usages, tels que la génération de sous-titres pour des vidéos et la création de chatbots.

https://fr.wikipedia.org/wiki/ChatGPT

Si l’on s’en tient à cette définition, nous faisons des chatbots, nous nous amusons à poser des questions ou nous l’utilisons pour nous aider dans des taches quotidiennes.

C’est la que Microsoft et plus précisément les service Azure interviennent 😎

En effet, lors de la conférence Microsoft Build 2023, il y a eu une intervention pour justement montrer la puissance de l’IA associée aux services Azure.

Tout cela est possible grâce au Semantic Kernel de Microsoft.

Semantic Kernel est un SDK d’orchestration open source léger qui vous permet de mélanger facilement des prompts d’IA avec des langages de programmation conventionnels comme C# et Python. Il a été spécialement créé pour que les développeurs puissent intégrer de l’IA dans leurs applications.

https://learn.microsoft.com/fr-fr/semantic-kernel/overview/

Dans l’exemple donné lors de la conférence, l’auteur requête une base de connaissance Azure Cognitive Search contenant des documents dans un blob storage et indéxés dans Azure Cognitive Search et tout cela avec des requêtes NLP ( natural language processing). C’est la que la magie intervient !

Le Semantic Kernel va nous permettre de requêter le service Azure Cognitive Search sans passer par une requête classique de recherche de mots dans le contenu , le titre ou les métadonnées du documents.

Imaginons une entreprise avec des documents stockés sur un Sharepoint contenant des données client.

Nous indexons les documents dans un index Azure Cognitive Search et lorsque nous allons demander les documents concernant tous les clients dans un secteur d’activité donné et ayant des factures supérieures à 100 000€, nous pourrons le faire comme si nous posions une question à ChatGPT et le SemanticKernel associé à ChatGPT ira se servir de notre base de documents pour en extraire une réponse !

Si je reprends l’exemple de la build 2023 :

  1. Je fais une requête pour avoir une base de connaissance liée à Azure Cognitive Search
  2. Je fais une requête en utilisant mon prompt en langage naturel associé à ma base de connaissance
  3. Je renvoie une réponse à l’utilisateur

Voici la vision simplifiée du flux mais véritablement nous ne sommes pas si loin de la vérité.

Voici le lien vers le repository Github avec la solution prête à l’emploi !

https://github.com/Azure-Samples/azure-search-openai-demo-csharp/

Le lien vers la conférence que je vous conseille grandement de regarder :

https://build.microsoft.com/en-US/sessions/f8f953f3-2e58-4535-92ae-5cb30ef2b9b0

Plein de cas d’usage, de services associés à l’IA sont en train d’émerger et vous pouvez les consulter ici : https://github.com/Azure/azure-openai-samples

Pour conclure, Microsoft devrait donner accès aux développeurs de plus en plus d’outils pour exploiter l’Ia dans les applications qu’ils développent donc pour moi il est important de comprendre les concepts , les possibilités et comment les exploiter , avec quels services etc

Les développeurs ne remplaceront surement pas les data scientists , les datas analysts mais malgré tout ils ont un rôle à jouer pour apporter de la valeur ajoutée et des features liées à l’IA.

Maintenant c’est à vous de jouer !

Have fun coding 😎