

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Desarrollo y organización de soluciones de IA generativa para el cuidado de la salud
<a name="development"></a>

Para desarrollar las soluciones de esta guía, debe crear una arquitectura de RAG que utilice LLM optimizados para ofrecer a los proveedores de atención médica una mayor cantidad de datos sobre los pacientes, información clínica y diagnóstica y pronósticos de los resultados de los pacientes. Esto requiere la integración de múltiples herramientas Servicios de AWS y herramientas para crear un flujo de trabajo coherente y eficiente. En esta sección se analiza lo siguiente:
+ [Amazon Q Developer](#development-amazon-q)— Utilice Amazon Q Developer para abordar las cuestiones de ingeniería y los errores de código durante el proceso de desarrollo.
+ [Multi-retriever Diseño RAG](#development-multi-retriever-rag)— Diseñe e implemente soluciones RAG que utilicen varios recuperadores para encontrar el contexto médico correcto para la pregunta del usuario.
+ [ReAct agentes](#development-react-agents)— Implementar agentes que combinen el razonamiento con la acción dinámica.

## Amazon Q Developer
<a name="development-amazon-q"></a>

Cuando se crea una solución de IA generativa, puede resultar difícil crear agentes de IA y conectar los servicios clave. Sin embargo, [Amazon Q Developer](https://aws.amazon.com/q/developer/) ayuda a los científicos de datos y a los ingenieros de IA al proporcionarles acceso a un asistente de IA generativo avanzado. Amazon Q puede abordar de forma rápida y precisa las preguntas de los usuarios y los errores de código, lo que puede ayudarle a optimizar el proceso de desarrollo de LLM. Amazon Q ofrece ventajas significativas para los desarrolladores que crean aplicaciones que utilizan los modelos básicos de Amazon Bedrock. Puede agilizar los flujos de trabajo y mejorar la calidad del código. Automatiza la generación de scripts y configuraciones de infraestructura como código (IaC) de Python, lo que reduce significativamente el tiempo y el esfuerzo de desarrollo. Mediante capacidades de refactorización avanzadas, Amazon Q puede mejorar el rendimiento del código, identificar las vulnerabilidades de seguridad y asegurarse de que los desarrolladores cumplan con las mejores prácticas. Además, facilita el aprendizaje y la adopción por parte de los principiantes al proporcionar sugerencias y explicaciones contextuales, lo que hace que las tareas de codificación complejas sean más accesibles y eficientes.

## Multi-retriever Diseño RAG
<a name="development-multi-retriever-rag"></a>

En una aplicación de IA generativa, una canalización de RAG con múltiples recuperadores puede recuperar de manera eficiente información de múltiples fuentes de datos para ayudar a los proveedores de atención médica y a los médicos a responder a las preguntas médicas. Esta canalización utiliza diferentes tipos de recuperadores para extraer datos relevantes de distintas bases de conocimiento. Cada recuperador está especializado en obtener un tipo concreto de información, como historias clínicas de pacientes, información diagnóstica, notas clínicas o contenido de investigaciones médicas y textos académicos.

Utilice la naturaleza de los datos y los requisitos específicos de la aplicación para determinar cuál es la base de conocimientos de backend correcta para su caso de uso. Una base de datos vectorial de Amazon OpenSearch Service es ideal para grandes volúmenes de datos de salud no estructurados o semiestructurados, incluidos resúmenes de evaluaciones de diagnósticos por imágenes, resúmenes de alta, informes clínicos, investigaciones médicas y contenido de textos académicos. Por otro lado, un servicio de base de datos de gráficos, como Amazon Neptune, puede ser ideal para los casos de uso de la atención médica que requieren una exploración profunda de las relaciones temporales entre entidades, como el paciente, el historial del paciente, el proveedor de atención médica, los medicamentos, los síntomas y los tratamientos.

Un componente fundamental de este proceso es la *predicción de la intención de las consultas de los usuarios*. Esto garantiza que el sistema dirija la consulta a la cadena de recuperadores correcta. Por ejemplo, si un médico pregunta sobre el historial de tratamiento del paciente, los síntomas, la interacción con el hospital, la probabilidad de que vuelva a ingresar en el hospital o los posibles resultados del paciente, el módulo de predicción de la intención de la consulta identifica esta intención. Dirige la solicitud a la cadena de recuperadores, que puede obtener los historiales de los pacientes o los datos cronológicos del tratamiento a partir del gráfico de conocimientos médicos. Como alternativa, si la pregunta se refiere al descubrimiento de una enfermedad, a evaluaciones diagnósticas específicas o a detalles de procedimientos clínicos específicos extraídos de libros de texto académicos, la consulta se dirige a la cadena de recuperadores, que puede obtener esta información de la base de datos vectorial del Servicio. OpenSearch Puede utilizar la función [de llamada a herramientas](https://python.langchain.com/docs/concepts/tool_calling/) LangChain para vincular una herramienta personalizada al LLM de Amazon Bedrock que puede clasificar una pregunta de usuario en intenciones predefinidas.

Este sistema RAG de recuperación múltiple incluye LangChain agentes diseñados para administrar el acceso a la base de conocimientos específica. Puede utilizarla LangChain para organizar la interacción entre Amazon Bedrock LLM, los diferentes recuperadores y las herramientas. LangChainincluye una clase de uso de herramientas que le ayuda a crear herramientas personalizadas, como un clasificador de intenciones, un recuperador para Neptune, un recuperador para Service o cualquier otra herramienta que se pueda desarrollar OpenSearch para clasificar la intención del usuario y acceder a los datos de una base de conocimientos específica en un formato estructurado. A continuación, incorpore estas herramientas a la clase para crear un agente de Reasoning and Acting (). ReAct El ReAct agente procesa la pregunta del usuario, planifica los pasos secuenciales para responder a la pregunta y, a continuación, ejecuta de forma iterativa las herramientas disponibles y procesa las respuestas de la herramienta para finalmente responder a la consulta del usuario.

La siguiente imagen muestra cómo funciona un sistema RAG de recuperación múltiple diseñado para una recuperación eficiente del conocimiento y una resolución inteligente de consultas. Un LangChain ReAct agente analiza la intención del usuario, formula un plan estructurado de ejecución y selecciona las herramientas de recuperación más relevantes. El sistema consulta una caché de preguntas anteriores y comprueba si hay consultas similares en función de atributos clave, como la identificación del paciente, el estado de salud y la fecha de la visita. Si se encuentra una pregunta muy similar, la respuesta correspondiente se recupera directamente. De lo contrario, el agente ejecuta el recuperador correspondiente. Para recuperar información centrada en el paciente, como el historial de tratamiento, los síntomas, las interacciones en el hospital o la probabilidad de reingreso, el sistema utiliza un recuperador de gráficos. Para las evaluaciones diagnósticas, los procedimientos clínicos y los hallazgos médicos estructurados, el agente emplea un recuperador de bases de datos vectoriales. En los escenarios que requieren una combinación del conocimiento contextual de ambos almacenes de datos para generar una respuesta integral, el sistema utiliza una estrategia de recuperación híbrida que integra los resultados del gráfico de conocimiento y de la base de datos vectorial.

![Una arquitectura que utiliza varios LangChain recuperadores para realizar la generación aumentada de recuperación.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/rag-healthcare-use-cases/images/multi-retriever-rag.png)


## ReAct agentes
<a name="development-react-agents"></a>

Los agentes Reasoning and Acting (ReAct) están diseñados para aplicaciones RAG multifacéticas. Estos agentes proporcionan una poderosa combinación de razonamiento y acción dinámica, especialmente para aplicaciones complejas que implican flujos de trabajo lógicos y graduales de recuperación de información. Para obtener más información, consulte [ReAct: Sinergizar el razonamiento y](https://react-lm.github.io/) la actuación en modelos de lenguaje.

En el contexto médico y sanitario, las consultas de un clínico o un médico suelen tener múltiples facetas. Por ejemplo, un médico podría preguntar: «¿Qué tratamientos se administraron a pacientes similares con hipertensión y diabetes tipo 2?» Tras identificar la intención del usuario, que es buscar los tratamientos para la hipertensión y la diabetes tipo 2, el agente de IA debe dividir esta consulta en subtareas y, a continuación, elegir la estrategia de recuperación más eficaz. En este caso, el agente de IA debe identificar los nodos más relevantes (como la edad, el sexo, las afecciones, los tratamientos y los medicamentos del paciente) y, a continuación, consultar en el gráfico estas entidades y sus atributos y relaciones. ReAct los agentes son muy útiles porque combinan la capacidad de razonamiento (inferencia lógica) de un LLM con una acción (consultar recursos o bases de conocimiento externos o interactuar con ellos).

Para responder a la pregunta del usuario «¿Qué tratamientos se administraron a pacientes similares con hipertensión y diabetes tipo 2?» , el siguiente ejemplo ilustra cómo funciona un ReAct agente:

1. **Razonamiento** con el ReAct agente: el agente deduce que la pregunta implica recuperar información sobre afecciones (diabetes e hipertensión). Considera la edad del paciente, los tratamientos, los medicamentos y el período a analizar.

1. **Acción del agente**: el agente utiliza OpenCypher para consultar el gráfico de conocimientos sobre los tratamientos específicos para la diabetes de tipo 2 y la hipertensión. También muestra los medicamentos administrados, las fechas de las visitas al hospital, los efectos secundarios de los medicamentos, los resultados conocidos de los pacientes y los datos de referencias cruzadas de pacientes similares (por ejemplo, pacientes del mismo sexo y edad).

1. **Observación del agente**: a partir del gráfico de conocimiento, el agente recupera los datos tabulares de los seis meses más recientes sobre los tratamientos administrados a pacientes con hipertensión y diabetes de tipo 2.

1. **Razonamiento de los agentes**: para clasificar los resultados de los registros recuperados, el agente identifica los atributos importantes, como la antigüedad, los efectos secundarios de los medicamentos o los resultados conocidos de los pacientes.

1. **Acción del agente**: el agente cambia la clasificación de los registros en función de los atributos identificados y de la lógica predefinida que se imparte a través de la línea de comandos del sistema.

1. **Generación de respuestas**: el LLM de Amazon Bedrock genera una respuesta en función del contexto que preparó el ReAct agente.