Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Sviluppo e orchestrazione di soluzioni di intelligenza artificiale generativa per l'assistenza sanitaria
Per creare le soluzioni di questa guida, è necessario creare un'architettura RAG che utilizzi LLM ottimizzati per fornire agli operatori sanitari dati aumentati sui pazienti, approfondimenti clinici e diagnostici e risultati previsti dei pazienti. Ciò richiede l'integrazione di più strumenti per creare un flusso di lavoro Servizi AWS coeso ed efficiente. In questa sezione vengono descritti i seguenti argomenti:
-
Amazon Q Developer— Usa Amazon Q Developer per rispondere a domande tecniche ed errori di codice durante il processo di sviluppo.
-
Multi-retriever Design RAG— Progetta e implementa soluzioni RAG che utilizzano più retriever per recuperare il contesto medico corretto per la domanda dell'utente.
-
ReAct agenti— Implementa agenti che combinano il ragionamento con l'azione dinamica.
Amazon Q Developer
Quando si crea una soluzione di intelligenza artificiale generativa, può essere difficile creare agenti di intelligenza artificiale e connettere i servizi chiave. Tuttavia, Amazon Q Developer
Multi-retriever Design RAG
In un'applicazione di intelligenza artificiale generativa, una pipeline RAG multi-retriever può recuperare in modo efficiente informazioni da più fonti di dati per aiutare gli operatori sanitari e i medici a rispondere a domande mediche. Questa pipeline utilizza diversi tipi di retriever per estrarre dati pertinenti da diverse basi di conoscenza. Ogni retriever è specializzato nel recupero di un particolare tipo di informazioni, come anamnesi dei pazienti, approfondimenti diagnostici, note cliniche o contenuti tratti da ricerche mediche e testi accademici.
Utilizza la natura dei dati e i requisiti specifici dell'applicazione per determinare quale sia la knowledge base di backend corretta per il tuo caso d'uso. Un database vettoriale di Amazon OpenSearch Service è ideale per grandi volumi di dati sanitari non strutturati o semistrutturati, tra cui riepiloghi di valutazione delle diagnosi di immagini, riepiloghi delle dimissioni, report clinici, ricerche mediche e contenuti di testo accademico. D'altra parte, un servizio di database grafico, come Amazon Neptune, può essere ideale per i casi d'uso nel settore sanitario che richiedono un'esplorazione approfondita delle relazioni temporali tra entità, come paziente, anamnesi del paziente, operatore sanitario, farmaci, sintomi e trattamenti.
Un componente fondamentale di questa pipeline è la previsione dell'intento delle interrogazioni degli utenti. Ciò garantisce che il sistema indirizzi la query alla catena di retriever corretta. Ad esempio, se un medico chiede informazioni sulla storia del trattamento di un paziente, sui sintomi, sull'interazione con l'ospedale, sulla probabilità di riammissione in ospedale o sui potenziali esiti del paziente, il modulo di previsione dell'intento di interrogazione identifica tale intento. Indirizza la richiesta alla catena di recupero che può recuperare le cartelle cliniche dei pazienti o i dati cronologici del trattamento dal grafico delle conoscenze mediche. In alternativa, se la domanda riguarda l'individuazione di malattie, valutazioni diagnostiche specifiche o dettagli di procedure cliniche specifiche dai libri di testo accademici, la query viene indirizzata alla catena di retriever che può recuperare queste informazioni dal database Service Vector. OpenSearch Puoi utilizzare la funzionalità di tool-calling
Questo sistema RAG multi-retriever include LangChain agenti progettati per gestire l'accesso alla knowledge base specifica. Puoi utilizzarlo LangChain per orchestrare l'interazione tra Amazon Bedrock LLM, i diversi retriever e gli strumenti. LangChaininclude una classe tool-calling che consente di creare strumenti personalizzati, come un classificatore di intenti, un retriever per Neptune, un retriever per OpenSearch Service o qualsiasi altro strumento che può essere sviluppato per classificare l'intento dell'utente e accedere ai dati da una specifica base di conoscenza in un formato strutturato. Quindi fornite questi strumenti alla classe per creare un agente Reasoning and Acting (). ReAct L' ReAct agente elabora la domanda dell'utente, pianifica i passaggi sequenziali per rispondere alla domanda, quindi esegue iterativamente gli strumenti disponibili ed elabora le risposte dello strumento per rispondere finalmente alla richiesta dell'utente.
L'immagine seguente mostra come funziona un sistema RAG multi-retriever progettato per un recupero efficiente delle conoscenze e una risoluzione intelligente delle query. Un LangChain ReAct agente analizza l'intento dell'utente, formula un piano strutturato di esecuzione e seleziona gli strumenti di recupero più pertinenti. Il sistema interroga una cache di domande precedenti e verifica la presenza di domande simili in base ad attributi chiave, come l'ID del paziente, la condizione medica e la data della visita. Se viene trovata una domanda molto simile, la risposta corrispondente viene recuperata direttamente. In caso contrario, l'agente esegue il retriever appropriato. Per recuperare informazioni incentrate sul paziente, come la storia del trattamento, i sintomi, le interazioni ospedaliere o la probabilità di riammissione, il sistema utilizza un graph retriever. Per le valutazioni diagnostiche, le procedure cliniche e i risultati medici strutturati, l'agente utilizza un recuperatore di database vettoriali. In scenari che richiedono una combinazione di conoscenze contestuali provenienti da entrambi gli archivi di dati, per generare una risposta completa, il sistema utilizza una strategia di recupero ibrida che integra i risultati sia del knowledge graph che del database vettoriale.
ReAct agenti
Gli agenti Reasoning e Acting (ReAct) sono progettati per applicazioni RAG multiformi. Questi agenti offrono una potente combinazione di ragionamento e azione dinamica, in particolare per applicazioni complesse che prevedono flussi di lavoro di recupero logico delle informazioni passo dopo passo. Per ulteriori informazioni, vedere: Synergizing Reasoning and Acting in Language Models. ReAct
In contesti medici e sanitari, le domande di un medico o di un medico sono spesso multiformi. Ad esempio, un medico potrebbe chiedere «Quali trattamenti sono stati somministrati a pazienti simili affetti sia da ipertensione che da diabete di tipo 2?» Dopo aver identificato l'intento dell'utente, ovvero quello di recuperare i trattamenti per l'ipertensione e il diabete di tipo 2, l'agente di intelligenza artificiale deve suddividere questa query in attività secondarie e quindi scegliere la strategia di recupero più efficiente. In questo caso, l'agente di intelligenza artificiale deve identificare i nodi più rilevanti (come l'età del paziente, il sesso, le condizioni, i trattamenti e i farmaci) e quindi interrogare il grafico per individuare tali entità e i relativi attributi e relazioni. ReAct gli agenti sono molto utili perché combinano la capacità di ragionamento (inferenza logica) di un LLM con un'azione (interrogare o interagire con risorse o basi di conoscenza esterne).
Per rispondere alla domanda dell'utente «Quali trattamenti sono stati somministrati a pazienti simili affetti sia da ipertensione che da diabete di tipo 2?» , l'esempio seguente illustra come funziona un ReAct agente:
-
Ragionamento dell'agente: l' ReAct agente deduce che la domanda implica il recupero di informazioni sulle condizioni (diabete e ipertensione). Considera l'età del paziente, i trattamenti, i farmaci e il periodo da analizzare.
-
Azione dell'agente: l'agente utilizza OpenCypher per interrogare il Knowledge Graph sui trattamenti specifici per il diabete di tipo 2 e l'ipertensione. Inoltre, recupera i farmaci somministrati, le date delle visite ospedaliere, gli effetti collaterali dei farmaci, gli esiti noti dei pazienti e i dati incrociati per pazienti simili (ad esempio pazienti dello stesso sesso ed età).
-
Osservazione degli agenti: dal Knowledge Graph, l'agente recupera i dati tabulari degli ultimi sei mesi sui trattamenti somministrati a pazienti affetti sia da ipertensione che da diabete di tipo 2.
-
Ragionamento dell'agente: per classificare i risultati dei record recuperati, l'agente identifica attributi importanti, come la frequenza, gli effetti collaterali dei farmaci o gli esiti noti dei pazienti.
-
Azione dell'agente: l'agente riordina i record in base agli attributi identificati e alla logica predefinita impartita tramite il prompt di sistema.
-
Generazione di risposte: il LLM in Amazon Bedrock genera una risposta basata sul contesto preparato dall' ReAct agente.