Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Développement et orchestration de solutions d'IA générative pour le secteur de la santé
Pour créer les solutions présentées dans ce guide, vous devez créer une architecture RAG qui utilise des LLM affinés pour fournir aux prestataires de soins de santé des données augmentées sur les patients, des informations cliniques et diagnostiques et des résultats prédits pour les patients. Cela nécessite l'intégration de plusieurs Services AWS outils pour créer un flux de travail cohérent et efficace. Cette section aborde les points suivants :
-
Amazon Q Developer— Utilisez Amazon Q Developer pour résoudre les questions d'ingénierie et les erreurs de code pendant le processus de développement.
-
Multi-retriever Design RAG— Concevez et implémentez des solutions RAG qui utilisent plusieurs récupérateurs pour trouver le contexte médical approprié à la question de l'utilisateur.
-
ReAct agents— Implémentez des agents qui combinent raisonnement et action dynamique.
Amazon Q Developer
Lors de la création d'une solution d'IA générative, il peut être difficile de créer des agents d'IA et de connecter des services clés. Cependant, Amazon Q Developer
Multi-retriever Design RAG
Dans une application d'IA générative, un pipeline RAG multi-récupérateurs peut récupérer efficacement des informations à partir de plusieurs sources de données pour aider les prestataires de soins de santé et les cliniciens à répondre aux questions médicales. Ce pipeline utilise différents types de récupérateurs pour extraire les données pertinentes de différentes bases de connaissances. Chaque récupérateur est spécialisé dans la récupération d'un type particulier d'informations, telles que les antécédents des patients, les informations diagnostiques, les notes cliniques ou le contenu de recherches médicales et de textes universitaires.
Utilisez la nature des données et les exigences spécifiques de l'application pour déterminer quelle est la base de connaissances backend adaptée à votre cas d'utilisation. Une base de données vectorielle Amazon OpenSearch Service convient parfaitement à de grands volumes de données de santé non structurées ou semi-structurées, notamment des résumés d'évaluation diagnostique par image, des résumés de sortie, des rapports cliniques, des recherches médicales et des textes universitaires. D'autre part, un service de base de données graphique, tel qu'Amazon Neptune, peut être idéal pour les cas d'utilisation dans le secteur de la santé qui nécessitent une exploration approfondie des relations temporelles entre les entités, telles que le patient, les antécédents du patient, le prestataire de soins de santé, les médicaments, les symptômes et les traitements.
Un élément essentiel de ce pipeline est la prédiction de l'intention des requêtes des utilisateurs. Cela garantit que le système achemine la requête vers la bonne chaîne de récupération. Par exemple, si un clinicien pose des questions sur les antécédents thérapeutiques d'un patient, ses symptômes, son interaction avec l'hôpital, la probabilité d'une réadmission à l'hôpital ou les résultats potentiels du patient, le module de prédiction de l'intention des requêtes identifie cette intention. Il dirige la demande vers la chaîne de recherche qui peut récupérer les dossiers des patients ou les données chronologiques des traitements à partir du graphe des connaissances médicales. Par ailleurs, si la question porte sur la découverte d'une maladie, des évaluations diagnostiques spécifiques ou des détails de procédures cliniques spécifiques tirés de manuels universitaires, la requête est acheminée vers la chaîne de recherche qui peut récupérer ces informations dans la OpenSearch base de données des vecteurs de service. Vous pouvez utiliser la fonctionnalité d'appel d'outils
Ce système RAG multi-retriever inclut des LangChain agents conçus pour gérer l'accès à la base de connaissances spécifique. Vous pouvez l'utiliser LangChain pour orchestrer l'interaction entre l'Amazon Bedrock LLM, les différents récupérateurs et les outils. LangChaininclut une classe d'appel d'outils qui vous aide à créer des outils personnalisés, tels qu'un classificateur d'intention, un récupérateur pour Neptune, un récupérateur OpenSearch pour Service ou tout autre outil pouvant être développé pour classer les intentions de l'utilisateur et accéder aux données d'une base de connaissances spécifique dans un format structuré. Vous transmettez ensuite ces outils à la classe pour créer un agent Reasoning and Acting (ReAct). L' ReAct agent traite la question de l'utilisateur, planifie les étapes séquentielles pour y répondre, puis exécute de manière itérative les outils disponibles et traite les réponses des outils pour enfin répondre à la requête de l'utilisateur.
L'image suivante montre le fonctionnement d'un système RAG à plusieurs récupérateurs conçu pour une récupération efficace des connaissances et une résolution intelligente des requêtes. Un LangChain ReAct agent analyse l'intention de l'utilisateur, formule un plan d'exécution structuré et sélectionne les outils de récupération les plus pertinents. Le système interroge un cache de questions précédentes et recherche des requêtes similaires en fonction d'attributs clés, tels que l'identifiant du patient, son état de santé et la date de la visite. Si une question très similaire est trouvée, la réponse correspondante est récupérée directement. Dans le cas contraire, l'agent exécute le récupérateur approprié. Pour récupérer des informations centrées sur le patient, telles que l'historique du traitement, les symptômes, les interactions avec l'hôpital ou la probabilité de réadmission, le système utilise un extracteur de graphes. Pour les évaluations diagnostiques, les procédures cliniques et les résultats médicaux structurés, l'agent utilise un récupérateur de base de données vectorielles. Dans les scénarios qui nécessitent une combinaison de connaissances contextuelles provenant des deux magasins de données, pour générer une réponse complète, le système utilise une stratégie de récupération hybride qui intègre les résultats du graphe de connaissances et de la base de données vectorielle.
ReAct agents
Les agents Reasoning and Acting (ReAct) sont conçus pour les applications RAG à multiples facettes. Ces agents fournissent une puissante combinaison de raisonnement et d'action dynamique, en particulier pour les applications complexes qui impliquent des flux de travail logiques de récupération d'informations étape par étape. Pour plus d'informations, voir ReAct: Synergie du raisonnement et de l'action dans les modèles linguistiques
Dans les contextes médicaux et de soins de santé, les demandes d'un clinicien ou d'un médecin comportent souvent de multiples facettes. Par exemple, un clinicien peut demander « Quels traitements ont été administrés à des patients similaires souffrant à la fois d'hypertension et de diabète de type 2 ? » Après avoir identifié l'intention de l'utilisateur, qui est de récupérer les traitements pour l'hypertension et le diabète de type 2, l'agent d'intelligence artificielle doit diviser cette requête en sous-tâches, puis choisir la stratégie de récupération la plus efficace. Dans ce cas, l'agent d'IA doit identifier les nœuds les plus pertinents (tels que l'âge, le sexe, les affections, les traitements et les médicaments du patient), puis interroger le graphique pour ces entités, leurs attributs et leurs relations. ReAct les agents sont très utiles car ils combinent la capacité de raisonnement (inférence logique) d'un LLM avec une action (interrogation ou interaction avec des ressources externes ou des bases de connaissances).
Pour répondre à la question de l'utilisateur « Quels traitements ont été administrés à des patients similaires souffrant à la fois d'hypertension et de diabète de type 2 ? » , l'exemple suivant illustre le fonctionnement d'un ReAct agent :
-
Raisonnement de l' ReAct agent — L'agent en déduit que la question implique de récupérer des informations sur des affections (diabète et hypertension). Il tient compte de l'âge du patient, des traitements, des médicaments et de la période à analyser.
-
Action de l'agent — L'agent utilise OpenCypher pour interroger le graphe de connaissances sur les traitements spécifiques au diabète de type 2 et à l'hypertension. Il permet également de récupérer les médicaments administrés, les dates des visites à l'hôpital, les effets secondaires des médicaments, les résultats connus des patients et les données de référence croisées pour des patients similaires (tels que des patients du même sexe et du même âge).
-
Observation de l'agent — À partir du graphe de connaissances, l'agent extrait les données tabulaires les plus récentes des six derniers mois sur les traitements administrés à des patients atteints à la fois d'hypertension et de diabète de type 2.
-
Raisonnement de l'agent — Pour classer les résultats à partir des dossiers récupérés, l'agent identifie des attributs importants, tels que la récence, les effets secondaires des médicaments ou les résultats connus pour les patients.
-
Action de l'agent : l'agent reclasse les enregistrements en fonction des attributs identifiés et de la logique prédéfinie transmise par le biais de l'invite du système.
-
Génération de réponses — Le LLM d'Amazon Bedrock génère une réponse basée sur le contexte préparé par l' ReAct agent.