Se moquer d'une API AI Chatbot avec Blackbird

DEV - 23/09
Je développe des API depuis des années. Dans chaque projet d'API, je suis confronté au même problème de besoin de simulations,...

Je développe des API depuis des années. Dans chaque projet d'API, je suis confronté au même problème : avoir besoin de simulations, mais passer trop de temps à les configurer, à les héberger et à les maintenir. Je préfère passer ce temps à implémenter les API ou le code client. La moquerie est importante : elle est utile pour le développement, le débogage, les tests et peut alimenter la partie « essai » de la documentation d'une API.

En tant qu'ingénieur logiciel, j'ai utilisé une variété d'outils et de bibliothèques de simulation, notamment Mock Server, SOAP UI et Mock Service Worker. Ces outils sont utiles et peuvent être rapides à configurer pour un usage personnel, mais nécessitent néanmoins beaucoup d'infrastructure et de configuration pour être utilisés efficacement dans une équipe de développement ou dans des scénarios CI/CD. Chaque éditeur de logiciels dans lequel j'ai travaillé avait une manière différente de configurer et d'héberger des simulations pour les API, et généralement la partie hébergement était gérée par une équipe DevOps ou infra distincte.

Blackbird est un nouvel outil que j'ai aidé à créer chez Ambassador et qui, entre autres choses, peut rapidement créer des instances simulées d'API partageables et les héberger dans un environnement SaaS. Cet article présentera un exemple d'utilisation de Blackbird pour configurer la simulation sur une application de chatbot IA qui consomme et implémente une API.

Exemple de chatbot IA

Supposons le scénario suivant : je souhaite créer une application de chatbot IA qui utilise un microservice pour consommer l'API d'OpenAI. Le microservice hébergera quelques points de terminaison RESTful pour configurer et envoyer des demandes de discussion à OpenAI et renvoyer les réponses du LLM. Voici un schéma de ce à quoi cela ressemblera :

Je peux déjà dire que je souhaiterai une configuration de serveur fictive pour le microservice de l'API Chatbot, qui permettra le développement et le test de l'interface utilisateur du chatbot. Mais j’aurai également besoin d’une configuration de serveur fictif avec l’API OpenAI – cela permettra de développer et de tester mon microservice sans dépendre de requêtes en direct (et potentiellement coûteuses) adressées à l’API d’OpenAI.

Se moquer de l'API Chatbot

Commençons par mon microservice. Comme pour la plupart des API, j'aime commencer par une spécification Open API qui me sert de contrat pour ce microservice. Blackbird possède son propre créateur de spécifications API alimenté par l'IA que j'utiliserai comme point de départ. Après m'être connect...
[Courte citation de 8% de l'article original]

Loading...