Présentation
L'un des principaux défis liés à la création d'applications d'IA générative est la configuration complexe du cloud et la nécessité d'une expertise approfondie en IA. Le créateur d'applications d'IA générative sur AWS simplifie ce processus en vous aidant à développer, tester et déployer des applications d'IA sans connaissances approfondies en matière d'IA. Cette solution accélère le développement de votre IA en incorporant facilement vos données commerciales, en comparant les performances de grands modèles de langage (LLM), en exécutant des tâches en plusieurs étapes via des agents d'IA, en créant rapidement des applications extensibles et en les déployant avec une architecture de niveau entreprise. Le créateur d'applications d'IA générative est livré avec un chatbot d'IA générative et une API prêts à l'emploi qui peuvent être rapidement intégrés à vos processus ou applications métier.
Cette solution inclut des intégrations avec Amazon Bedrock et ses LLM en plus des LLM déployés sur Amazon SageMaker. Elle utilise les outils Amazon Bedrock pour la génération à enrichissement contextuel (RAG) afin d'améliorer les réponses de l'IA, des garde-fous Amazon Bedrock pour mettre en œuvre des mesures de protection et réduire les hallucinations, et des agents Amazon Bedrock pour créer des flux de travail pour des tâches complexes. Vous pouvez également vous connecter à d'autres modèles d'IA à l'aide de LangChain ou AWS Lambda. Commencez par l'assistant simple sans code pour créer des applications d'IA pour la recherche conversationnelle, les chatbots générés par l'IA, la génération de texte et le résumé de texte.
Avantages
Cette solution permet aux utilisateurs d'effectuer des expérimentations rapides en supprimant le travail fastidieux requis pour déployer de multiples instances avec différentes configurations et comparer les résultats et les performances. Testez plusieurs configurations de différents LLM, l'ingénierie de requête, les bases de connaissances d'entreprise, les garde-fous, les agents d'IA et bien d'autres paramètres.
Grâce à des connecteurs prédéfinis à divers LLM, tels que les modèles disponibles auprès d'Amazon Bedrock, cette solution vous donne la possibilité de déployer le modèle de votre choix, ainsi que les services AWS et les principaux services FM que vous préférez. Vous pouvez également autoriser les agents Amazon Bedrock à effectuer diverses tâches et différents flux de travail.
Développée suivant les principes de conception AWS Well-Architected, cette solution offre une sécurité et une capacité de mise à l'échelle de qualité professionnelle avec une haute disponibilité et une faible latence, ce qui garantit une intégration fluide avec vos applications conformément à des normes de performances élevées.
Étendez les fonctionnalités de cette solution en y intégrant vos projets existants ou en y connectant de façon native d'autres services AWS. Cette application est open source. Par conséquent, vous pouvez utiliser la couche d'orchestration LangChain ou les fonctions Lambda pour vous connecter aux services de votre choix.
Détails techniques
Vous pouvez déployer automatiquement cette architecture à l'aide du guide d'implémentation et du modèle AWS CloudFormation qui l'accompagne et qui déploie trois architectures distinctes :
- Cas d'utilisation de l'agent : le cas d'utilisation de l'agent permet aux utilisateurs de confier des tâches à exécuter à l'aide des agents Amazon Bedrock. Vous pouvez sélectionner un modèle, rédiger quelques instructions en langage naturel, et les agents d'IA Amazon Bedrock analyseront, orchestreront et effectueront les tâches en se connectant à vos sources de données ou à d'autres API pour répondre à votre demande.
- Cas d'utilisation textuel : le cas d'utilisation textuel permet aux utilisateurs de bénéficier d'une interface en langage naturel avec IA générative. Il est possible d'intégrer ce cas d'utilisation à des applications nouvelles ou existantes, et de le déployer via le tableau de bord de déploiement ou indépendamment via une URL fournie.
- Tableau de bord de déploiement : le tableau de bord de déploiement est une interface utilisateur (UI) web qui sert de console de gestion permettant aux utilisateurs administrateurs de visualiser, de gérer et de créer leurs cas d'utilisation. Ce tableau de bord offre également aux clients la possibilité d'expérimenter, d'itérer et de déployer rapidement des applications d'IA générative à l'aide de plusieurs configurations de LLM et de données.
-
Cas d'utilisation d'un agent
-
Cas d'utilisation du texte
-
Tableau de bord de déploiement
-
Cas d'utilisation d'un agent
-
Étape 1
Les utilisateurs professionnels déploient le cas d'utilisation à l'aide du tableau de bord de déploiement. Les utilisateurs professionnels se connectent à l'interface utilisateur du cas d'utilisation.
Étape 2
Amazon CloudFront fournit l'interface utilisateur web hébergée dans un compartiment Amazon Simple Storage Service (Amazon S3).
Étape 3
L'interface utilisateur web utilise une intégration WebSocket créée à l'aide d'Amazon API Gateway. La passerelle d'API est soutenue par une fonction de mécanisme d'autorisation AWS Lambda personnalisée, qui renvoie la politique de gestion des identités et des accès (IAM) appropriée en fonction du groupe Amazon Cognito dont fait partie l'utilisateur en cours d'authentification.Étape 4
Amazon Cognito authentifie les utilisateurs et soutient à la fois l'interface utilisateur web CloudFront et la passerelle d'API.Étape 5
La solution transmet les demandes entrantes provenant de l'utilisateur professionnel d'API Gateway à une file d'attente Amazon Simple Queue Service (Amazon SQS), puis à la fonction Lambda. La file d'attente permet le fonctionnement asynchrone de l'intégration entre API Gateway et Lambda.La file d'attente transmet les informations de connexion à la fonction Lambda, qui renvoie ensuite les résultats directement à la connexion WebSocket d'API Gateway pour prendre en charge les invocations d'inférence de longue durée.
Étape 6
La fonction Lambda utilise Amazon DynamoDB pour obtenir les configurations de cas d'utilisation nécessaires.
Étape 7
La fonction Lambda utilise les données saisies par l'utilisateur et les configurations de cas d'utilisation pertinentes pour créer et envoyer les données utiles de requête aux agents Amazon Bedrock afin de répondre à l'intention de l'utilisateur.Étape 8
Lorsque les agents Amazon Bedrock retournent la réponse, la fonction Lambda la renvoie via API Gateway WebSocket afin qu'elle soit consommée par l'application cliente.Étape 9
Avec Amazon CloudWatch, cette solution collecte les métriques opérationnelles auprès de différents services afin de générer des tableaux de bord personnalisés qui vous permettent de surveiller les performances et l'état opérationnel du déploiement.
-
Cas d'utilisation du texte
-
Étape 1
Les utilisateurs administrateurs déploient le cas d'utilisation à l'aide du tableau de bord de déploiement. Les utilisateurs professionnels se connectent à l'interface utilisateur du cas d'utilisation.
Étape 2
CloudFront fournit l'interface utilisateur web hébergée dans un compartiment S3.Étape 3
L’interface utilisateur web utilise une intégration WebSocket créée à l’aide d’API Gateway. API Gateway est soutenue par une fonction de mécanisme d’autorisation Lambda personnalisée, qui renvoie la politique IAM appropriée en fonction du groupe Amazon Cognito auquel appartient l’utilisateur en cours d’authentification. La politique est stockée dans DynamoDB.Étape 4
Amazon Cognito authentifie les utilisateurs et soutient à la fois l'interface utilisateur web CloudFront et la passerelle d'API.
Étape 5
Les demandes entrantes provenant de l'utilisateur professionnel sont transmises d'API Gateway à une file d'attente Amazon SQS, puis à l'orchestrateur LangChain. L'orchestrateur LangChain est un ensemble de fonctions et de couches Lambda qui fournissent la logique opérationnelle permettant de répondre aux requêtes des utilisateurs professionnels.La file d’attente permet le fonctionnement asynchrone de l’intégration entre API Gateway et Lambda. La file d’attente transmet les informations de connexion aux fonctions Lambda, qui renvoient ensuite les résultats directement à la connexion WebSocket d’API Gateway pour prendre en charge les appels d’inférence de longue durée.
Étape 6
L’orchestrateur LangChain utilise DynamoDB pour obtenir les options LLM configurées et les informations de sessions nécessaires (telles que l’historique des chats).Étape 7
Si une base de connaissances est configurée pour le déploiement, alors l'orchestrateur LangChain utilise Amazon Kendra ou les bases de connaissances d'Amazon Bedrock pour exécuter une requête de recherche afin de récupérer des extraits de documents.Étape 8
À l’aide de l’historique des chats, de la requête et du contexte de la base de connaissances, l’orchestrateur LangChain crée l’invite finale et envoie la requête au LLM hébergé sur Amazon Bedrock ou Amazon SageMaker.Étape 9
Lorsque le LLM retourne la réponse, l’orchestrateur LangChain la renvoie via API Gateway WebSocket afin qu’elle soit consommée par l’application cliente.Étape 10
Avec CloudWatch, cette solution collecte les métriques opérationnelles auprès de différents services afin de générer des tableaux de bord personnalisés qui vous permettent de surveiller les performances et l'état opérationnel du déploiement. -
Tableau de bord de déploiement
-
Étape 1
Les utilisateurs administrateurs se connectent à l'interface utilisateur du tableau de bord de déploiement.Étape 2
CloudFront fournit l'interface utilisateur web hébergée dans un compartiment S3.
Étape 3
AWS WAF protège les API contre les attaques. Cette solution configure un ensemble de règles appelé liste de contrôle d'accès web (ACL web) qui autorise, bloque ou compte les requêtes web en fonction de règles et de conditions de sécurité web configurables et définies par l'utilisateur.
Étape 4
L'interface utilisateur web utilise un ensemble d'API REST exposées à l'aide d'API Gateway.
Étape 5
Amazon Cognito authentifie les utilisateurs et soutient à la fois l'interface utilisateur web CloudFront et API Gateway. Une table DynamoDB enregistre la politique IAM des utilisateurs autorisés.Étape 6
Lambda fournit la logique opérationnelle pour les points de terminaison REST. Cette fonction Lambda d'appui gère et crée les ressources nécessaires pour effectuer des déploiements de cas d'utilisation à l'aide d'AWS CloudFormation.Étape 7
DynamoDB stocke la liste des déploiements.Étape 8
Lorsqu’un nouveau cas d’utilisation est créé par l’utilisateur administrateur, la fonction Lambda d’appui lance un événement de création de piles CloudFormation pour le cas d’utilisation demandé.Étape 9
Toutes les options de configuration du LLM fournies par l’utilisateur administrateur dans l’assistant de déploiement sont enregistrées dans DynamoDB. Le déploiement utilise cette table DynamoDB pour configurer le LLM lors de l’exécution.
Étape 10
Avec CloudWatch, cette solution collecte les métriques opérationnelles auprès de différents services afin de générer des tableaux de bord personnalisés qui vous permettent de surveiller les performances et l'état opérationnel de la solution.
- Date de publication
Rubriques connexes
Le moyen le plus simple de créer et de mettre à l'échelle des applications d'IA générative à l'aide de modèles de fondation.
Ce guide décrit comment déployer un modèle d'intelligence artificielle (IA) générative fourni par Amazon SageMaker JumpStart pour créer un point de terminaison SageMaker asynchrone avec la simplicité de l'AWS Cloud Development Kit (AWS CDK).
Ce guide décrit comment créer une application permettant aux utilisateurs de poser des questions directement à des bases de données relationnelles à l'aide de requêtes en langage naturel (NLQ).
Améliorez la productivité, créez des expériences différenciées et innovez plus rapidement avec AWS.
Cette étude de cas montre comment la société de diffusion Megamedia a créé un chatbot alimenté par l'IA générative pour simplifier l'accès aux informations publiques importantes avec AWS.