Passer au contenu principalAWS Startups
  1. Apprendre
  2. Création d’agents d’IA évolutifs : architecture sans serveur sur AWS

Création d’agents d’IA évolutifs : architecture sans serveur sur AWS

Comment a été ce contenu ?

La création de logiciels à l’ère de l’IA générative présente un paradoxe. D’une part, les modèles de connaissances de pointe sont devenus si puissants que la création d’une version initiale d’une application basée sur l’IA ne nécessite guère plus que d’appeler une simple API de chat (et de faire écrire la majeure partie du code par un agent de codage !). D’autre part, le niveau de précision, de performance et d’optimisation des coûts requis par une application d’IA de production implique souvent une architecture technique complexe.

Cette complexité s’explique en partie par le fait que les algorithmes d’IA générative sont probabilistes plutôt que déterministes. Pour réduire la variance des résultats d’un modèle et améliorer la fiabilité, les développeurs utilisent des techniques telles que des exemples de ce à quoi ressemble une « bonne » réponse ou l’inclusion d’informations supplémentaires (« contexte »), que le modèle peut prendre en compte lors de la génération de la sortie. Par conséquent, le code d’une application optimisée par l’IA devient rapidement beaucoup plus complexe que de simples appels à l’API de chat du modèle. Au minimum, les développeurs devront ajouter au moins une couche de diffusion de données qui inclut des appels à des bases de données spécialisées pour créer le contexte qui sera affiché dans le modèle.

Mais la complexité ne s’arrête pas là. Au fur et à mesure que les développeurs ajoutent de nouvelles fonctionnalités à leurs applications basées sur l’IA, ils constatent souvent que cela nécessite différents contextes et différents ensembles d’invites. Les développeurs, attirés par les abstractions, organiseront donc le code qui alimente ces différentes fonctionnalités en modules autonomes. En IA, ce type de modèle de conception est appelé « agent ».

Les agents s’assemblent : surmonter la complexité grâce à l’IA générative

Un agent est un module de code qui utilise des modèles d’IA générative pour effectuer une tâche spécifique de manière autonome. Les agents peuvent agir seuls ou conjointement avec d’autres agents. Ils peuvent également appeler des « outils », qui sont généralement des API ou des fonctions incluses dans le contexte mis à la disposition de l’agent. Le résultat net de cette approche agentique de la conception logicielle est que l’ingénierie du contexte, c’est-à-dire le processus qui consiste à récupérer les données pertinentes dont un agent a besoin pour accomplir sa tâche, devient plus complexe. En outre, les agents eux-mêmes doivent souvent s’exécuter de manière asynchrone en dehors de l’application principale (cela est particulièrement vrai pour les agents qui ont besoin d’accéder à des données sensibles). Cela peut nécessiter la gestion d’environnements d’exécution et d’informations d’identification totalement distincts.

Une application d’IA agentique typique peut être décomposée selon les composants suivants :

  1. Le modèle d’IA générative, qui comprend généralement un grand modèle de langage (LLM) et les API qui permettent d’y accéder.
  2. Des cadres logiciels, qui fournissent des abstractions pratiques aux API des modèles de niveau inférieur, et des kits de développement logiciel pour créer des agents et effectuer de nombreuses opérations d’accès aux données requises pour l’ingénierie du contexte.
  3. Composants de service de données, qui fournissent les informations incluses dans le contexte fourni aux agents. Il peut s’agir de différents magasins de données (systèmes de gestion de bases de données relationnelles, bases de données NoSQL, etc.), mais inclura presque toujours une forme de service de recherche sémantique. Pour les applications agentiques, cela est généralement transféré vers un magasin vectoriel, qui stocke des représentations numériques de données textuelles appelées vectorisations.
  4. Un environnement d’exécution pour les agents. Pour les applications agentiques simples, les agents peuvent s’exécuter en cours de traitement avec le code de l’application. Mais dans la plupart des cas, les agents devront s’exécuter dans leur propre espace de processus, dans un environnement de test (sandbox) par rapport à l’application principale.

Comme pour toutes les architectures logicielles qui nécessitent la collaboration de plusieurs composants, il faut beaucoup de travail indifférencié pour garantir la résilience, la redondance et la performance de ces composants. Heureusement, les applications d’IA agentique bénéficient des mêmes architectures natives cloud que les applications traditionnelles. Les architectures sans serveur sont particulièrement intéressantes pour les applications d’IA agentique, et AWS propose diverses offres sans serveur qui permettent aux développeurs de créer rapidement, facilement et à moindre coût des applications d’IA agentique.

L’inférence en action

Commençons par le composant le plus connu : les modèles d’IA générative eux-mêmes. Le terme utilisé pour désigner le service de modèles est « inférence » et pour l’inférence sans serveur, Amazon Bedrock fournit un service géré permettant d’exécuter et d’accéder à des modèles de base d’IA générative. Cela va des LLM de pointe tels que Claude d’Anthropic, aux modèles basés sur la parole tels qu’Amazon Nova Sonic, en passant par les modèles à poids ouvert d’OpenAI et Mistral, tous accessibles via une API unifiée.

Ensuite, l’inférence. Ceci est généralement complexe et nécessite du matériel spécialisé tel que des GPU et une compréhension approfondie des infrastructures réseau de bas niveau qui permettent aux clusters de GPU de communiquer entre eux. Cela a toujours créé des défis opérationnels et un obstacle à l’accessibilité, en particulier pour les start-ups. Amazon Bedrock aide à surmonter ces obstacles, car les utilisateurs n’ont qu’à apprendre à utiliser les API de la solution.

Vectorisation de l’intelligence : bases de connaissances et magasins vectoriels

Outre l’inférence et la diffusion de modèles, Amazon Bedrock prend également en charge intégralement les composants de diffusion de données les plus courants de la pile de l’IA agentique. Les bases de connaissances Amazon Bedrock, par exemple, peuvent être utilisées pour la recherche sémantique, qui implique de rechercher une collection de documents dont la sémantique est similaire au texte de la requête. Cela est essentiel dans les cas où un agent d’IA a besoin d’informations supplémentaires dans son contexte.

Par exemple, un agent du service client peut avoir besoin de consulter des documents FAQ qui correspondent aux informations demandées par le client, par exemple « Comment modifier l’adresse associée à mon compte ? » À l’aide des bases de connaissances Amazon Bedrock, les documents FAQ peuvent être indexés à des fins de recherche sémantique en les stockant dans un compartiment Amazon S3 et en configurant ce compartiment comme source de données pour une base de connaissances Bedrock. Le service gère le « découpage » des documents (découpage d’un document en parties plus petites), la « vectorisation » de chaque bloc (création des vectorisations numériques du texte), ainsi que le stockage et la mise en relation des segments et des vectorisations les uns aux autres afin que les segments pertinents puissent être renvoyés dans une requête sémantique.

Une fois ces vectorisations créées, elles doivent être stockées dans une base de données spécialisée pour les vectorisations, ou dans un magasin vectoriel. Les bases de connaissances Amazon Bedrock prennent en charge plusieurs options de magasins vectoriels, notamment Amazon S3 Vectors, une base de données vectorielle sans serveur intégrée à Amazon S3. Ce type de couche de diffusion de données est connu sous le nom de génération à enrichissement contextuel (RAG) et est simple à implémenter à l’aide des bases de connaissances Amazon Bedrock, S3 et S3 Vectors. Cela permet aux développeurs de se concentrer sur les fonctionnalités de leurs agents d’IA plutôt que sur la gestion d’une infrastructure complexe de diffusion de données.

Construction, exploitation, mise à l’échelle

Une fois que les vectorisations sont stockées et accessibles via des magasins vectoriels, l’étape suivante consiste à exécuter des agents d’IA qui utilisent ces données. Amazon Bedrock AgentCore fournit un environnement d’exécution sans serveur pour les développeurs. Les agents peuvent être créés à l’aide de cadres tels que LangChain, Strands ou même quelque chose de développé en interne. Les développeurs peuvent ensuite empaqueter l’agent dans une archive zip et le charger dans S3. Ils peuvent également créer une image de conteneur et la transférer dans l’Elastic Container Registry (ECR) d’Amazon. Une fois que leur code est dans S3 ou ECR, ils peuvent configurer AgentCore pour exécuter leur agent dans le cloud, sans avoir à gérer de serveurs. AgentCore gère également les processus opérationnels tels que l’authentification, en prenant en charge soit les rôles AWS Identity and Access Management intégrés, soit le jeton Web JSON pour la connexion via un fournisseur d’identité d’entreprise.

Amazon Bedrock et AgentCore offrent de nombreuses autres fonctionnalités sans serveur, mais les trois fonctionnalités détaillées dans cet article constituent le point de départ idéal pour développer des applications d’IA agentique avec une prise en charge complète de RAG. Tout d’abord, Amazon Bedrock pour l’inférence avec une large sélection de modèles ; deuxièmement, les bases de connaissances Amazon Bedrock et S3 Vectors pour l’indexation de documents et la recherche sémantique ; et enfin, Amazon AgentCore pour gérer les agents de manière sécurisée et rentable.

Le développement d’applications d’IA agentique a toujours été complexe et difficile, en particulier pour les start-ups qui fonctionnent souvent avec des ressources limitées. Les architectures sans serveur réduisent cette complexité en évitant aux ingénieurs de créer et de gérer l’infrastructure sous-jacente. Que vous soyez un développeur d’IA agentique expérimenté ou que vous débutiez, Amazon Bedrock propose un ensemble complet d’outils et de services pour vous aider à créer et à évoluer en toute confiance.

Êtes-vous prêt à créer une IA agentique sur AWS ? AWS Activate donne accès à des crédits AWS qui peuvent être utilisés pour compenser le coût des solutions abordées dans cet article, ainsi qu’à un large éventail d’autres services. Depuis sa création en 2013, AWS Activate a fourni plus de 8 milliards d’USD de crédits à des start-ups du monde entier. Les fondateurs bénéficient également de programmes et de ressources, d’une assistance technique, d’un mentorat commercial et d’un lien plus étroit avec la communauté mondiale des start-ups. Rejoignez des millions d’autres personnes et découvrez comment transformer vos idées du stade de concept à celui de prêt pour le cloud.

Comment a été ce contenu ?