Aujourd’hui, ChatGPT et d’autres outils reposant sur des moteurs de plus en plus puissants d’intelligence artificielle, proposent des avenues intéressantes et permet même d’obtenir une réponse beaucoup plus rapide qu’un moteur de recherche traditionnel. L’année 2023 va être l’année de la généralisation de l’IA.
Des clients pourraient être intéressés à disposer d’une fonctionnalité ChatGPT dans leur logiciel ou système.
ChatGPT (OpenAi), dispose de librairie et d’API que l’on peut appeler facilement à partir de différents langages. Différents outils s’offrent à nous comme la complétion de texte, la génération d’image à partir d’une phrase, la complétion de code, du fine tuning, des intégrations de texte mesurant la relation entre les chaînes de textes, etc.
On peut par exemple reproduire ChatGPT très facilement sur une page web en PHP ou Javascript.
Retrouvez toute la documentation des API OpenAI ici
Voici le code source AL pour Dynamics 365 Business Central pour intégrer ChatGPT dans Business Central (code source ici) Bien sûr, il vous faudra un abonnement actif et mettre votre Clé API pour les appels. Vous avez par défaut un crédit de 18$
Le principe est simple, vous faites appel à l’API avec en entête, votre clé API, et vos paramètres dans un fichier ou une chaine Json. Attention pour la facturation, vous êtes facturé en fonction du nombre de token (quelques caractères). Il existe plusieurs modèles et vous pouvez créer votre propre modèle aussi pour embellir ce qui existe déjà en intégrant vos données (training data). Vous devriez tester les différents modèles en fonction de vos besoins. Le modèle le plus rapide est « Ada » et le plus complet et puissant est « DaVinci ». Je ferais un autre article pour détailler les différents modèles et comment en créer un nouveau.

Dans l’exemple ci-dessus, j’ai créé une nouvelle page Business Central mais on pourrait créer plutôt aussi un codeunit pour appeler une fonction « ChatGPT » avec comme paramètre d’entrée le texte ou la question de l’utilisateur et en retour le résultat de la fonction.
Voici l’algo en c# qui repose sur le même principe que le code de la page mais optimisé.
var client := new HttpClient();
var request := new HttpRequestMessage(HttpMethod::Post, ‘https://api.openai.com/v1/engines/davinci-codex/completions’);
request.Headers.Add(‘Authorization’, ‘Bearer ‘);
request.Content := new HttpJsonContent(JsonObject.FromString(‘{« prompt »: »Ma question », « max_tokens »:30}’));
var response := client.Send(request);
var responseContent := response.Content.ReadAsString();
Comme d’habitude, n’hésitez pas si vous avez des questions, vous pouvez envoyer un message au support ou sur mon Linkedin ! Je réponds toujours 🙂
Dominique