Amazon Redshift ha mejorado su función Redshift ML para soportar la integración de modelos de lenguaje grande (LLMs). Como parte de estas mejoras, Redshift ahora habilita la integración nativa con Amazon Bedrock. Esta integración permite usar LLMs desde simples comandos SQL junto a los datos en Amazon Redshift, facilitando la creación rápida de aplicaciones de IA generativa. Esta poderosa combinación permite a los clientes aprovechar las capacidades transformadoras de los LLMs e incorporarlas sin problemas en sus flujos de trabajo analíticos.
Con esta nueva integración, ahora puedes realizar tareas de IA generativa como traducción de idiomas, resumen de textos, generación de contenido, clasificación de clientes y análisis de sentimientos sobre los datos de Redshift usando modelos de base populares como Claude de Anthropic, Titan de Amazon, Llama 2 de Meta y Mistral AI. Puedes usar el comando CREATE EXTERNAL MODEL para apuntar a un modelo basado en texto en Amazon Bedrock, sin necesidad de entrenamiento o provisión del modelo. Puedes invocar estos modelos usando comandos SQL familiares, haciendo más simple que nunca la integración de capacidades de IA generativa en tus flujos de trabajo de análisis de datos.
1. Cargar datos de muestra de los pacientes
Para ilustrar esta nueva función de aprendizaje automático de Redshift, construiremos una solución para generar planes de dieta personalizados para pacientes basados en sus condiciones y medicaciones. Los pasos para construir y ejecutar la solución son los siguientes:
- Cargar datos de muestra de los pacientes
- Preparar el mensaje
- Habilitar acceso al modelo LLM
- Crear un modelo que haga referencia al modelo LLM en Amazon Bedrock
- Enviar el mensaje y generar un plan de dieta personalizado para el paciente
Para comenzar, abre el Editor de Consultas V2 de Amazon Redshift o cualquier otro editor SQL de tu elección y conéctate al almacén de datos de Redshift. Luego, ejecuta el siguiente SQL para crear la tabla patientsinfo
y cargar datos de muestra. Descarga el archivo de muestra, súbelo a tu bucket de S3 y carga los datos en la tabla patientsinfo
usando el siguiente comando COPY:
CREATE TABLE patientsinfo ( patient_id INTEGER, condition TEXT, medication TEXT);COPY patientsinfoFROM 's3://your-bucket-name/sample-file.csv'CREDENTIALS 'aws_iam_role=your-iam-role'CSV;
Este paso es crucial para tener una base de datos de pacientes que servirá como entrada para los modelos de IA generativa en Amazon Bedrock. Asegúrate de que los datos se carguen correctamente antes de proceder a los siguientes pasos.
2. Preparar el mensaje
El siguiente paso es preparar el mensaje que se enviará al modelo LLM para obtener un plan de dieta personalizado. En primer lugar, ejecuta el siguiente SQL para agregar las condiciones y medicamentos de los pacientes:
SELECT patient_id, STRING_AGG(condition, ', ') AS conditions, STRING_AGG(medication, ', ') AS medicationsFROM patientsinfoGROUP BY patient_id;
La salida de esta consulta muestra las condiciones y medicamentos agregados para cada paciente. Esta salida incluye múltiples filas que se agruparán en el próximo paso para construir el mensaje que se enviará al modelo LLM. Construye el mensaje para combinar los datos de pacientes, condiciones y medicamentos:
SELECT patient_id, CONCAT('El paciente con ID ', patient_id, ' tiene las siguientes condiciones: ', conditions, ' y está tomando los siguientes medicamentos: ', medications) AS promptFROM ( SELECT patient_id, STRING_AGG(condition, ', ') AS conditions, STRING_AGG(medication, ', ') AS medications FROM patientsinfo GROUP BY patient_id) AS aggregated_data;
El resultado de esta consulta muestra los resultados del mensaje completamente construido, concatenando los datos de los pacientes, condiciones y medicamentos en un solo valor de columna. Para mayor legibilidad, crea una vista materializada con la consulta SQL anterior como definición:
CREATE MATERIALIZED VIEW patient_prompts ASSELECT patient_id, CONCAT('El paciente con ID ', patient_id, ' tiene las siguientes condiciones: ', conditions, ' y está tomando los siguientes medicamentos: ', medications) AS promptFROM ( SELECT patient_id, STRING_AGG(condition, ', ') AS conditions, STRING_AGG(medication, ', ') AS medications FROM patientsinfo GROUP BY patient_id) AS aggregated_data;
Este paso no es obligatorio, pero ayuda a mantener la consulta legible y organizada. Luego, ejecuta el siguiente SQL para revisar la salida de muestra y asegurarte de que el mensaje se ha construido correctamente:
SELECT * FROM patient_prompts;
La salida de esta consulta muestra una vista materializada con los mensajes para cada paciente, listos para ser enviados al modelo LLM en Amazon Bedrock.
3. Habilitar acceso al modelo LLM
Para habilitar el acceso al modelo en Amazon Bedrock, realiza los siguientes pasos:
- Navega a la consola de Amazon Bedrock.
- En el panel de navegación, elige «Acceso a Modelos».
- Elige «Habilitar modelos específicos». Debes tener los permisos necesarios de IAM para habilitar el acceso a los modelos disponibles de Amazon Bedrock.
Para esta ilustración, usaremos el modelo Claude de Anthropic. Ingresa «Claude» en el cuadro de búsqueda y selecciona «Claude» de la lista. Luego, elige «Siguiente» para continuar. Revisa la selección y elige «Enviar». Este paso habilita el acceso al modelo Claude en Amazon Bedrock, permitiendo su uso en las consultas SQL de Redshift.
4. Crear un modelo que haga referencia al modelo LLM en Amazon Bedrock
Ahora, navega de regreso al Editor de Consultas V2 de Amazon Redshift o al editor SQL que usaste para conectarte con el almacén de datos de Redshift. Ejecuta el siguiente SQL para crear un modelo externo que haga referencia al modelo anthropic.claude-v2
en Amazon Bedrock. Consulta los IDs de modelos de Amazon Bedrock para saber cómo encontrar el ID del modelo:
CREATE EXTERNAL MODEL claude_modelWITH MOD_ID 'bedrock:anthropic.claude-v2';
Este comando crea un modelo externo en Redshift que hace referencia al modelo Claude en Amazon Bedrock. Ahora puedes usar este modelo en tus consultas SQL para realizar tareas de IA generativa.
5. Enviar el mensaje y generar un plan de dieta personalizado para el paciente
El último paso es enviar el mensaje al modelo LLM y generar un plan de dieta personalizado para el paciente. Ejecuta el siguiente SQL para pasar el mensaje a la función creada en el paso anterior:
SELECT *, EXECUTE EXTERNAL MODEL claude_model USING (prompt)FROM patient_prompts;
La salida de esta consulta mostrará el plan de dieta generado por el modelo Claude para cada paciente. Puedes copiar las celdas y pegarlas en un editor de texto o exportar la salida para ver los resultados en una hoja de cálculo si estás usando el Editor de Consultas V2 de Redshift. Es posible que necesites expandir el tamaño de la fila para ver el texto completo.
Esta integración puede personalizarse aún más para adaptarse a tus necesidades específicas y requisitos. También puedes ejecutar inferencias rápidas, ajustar parámetros como la temperatura del modelo para obtener salidas más creativas o estables, y gestionar las cuotas de uso para evitar excepciones por limitaciones de rendimiento.
Conclusión
Amazon Redshift ha fortalecido su función Redshift ML para integrar modelos de lenguaje grande (LLMs). Como parte de esta mejora, Redshift ahora permite la integración nativa con Amazon Bedrock. Esta integración facilita el uso de LLMs mediante simples comandos SQL junto a los datos en Amazon Redshift, lo que simplifica la creación rápida de aplicaciones de IA generativa. Esta potente combinación permite a los usuarios aprovechar las capacidades transformadoras de los LLMs e integrarlas sin complicaciones en sus flujos de trabajo analíticos.
Gracias a esta nueva integración, ahora es posible realizar tareas de IA generativa como traducción de idiomas, resumen de textos, generación de contenido, clasificación de clientes y análisis de sentimientos sobre los datos de Redshift. Se pueden utilizar modelos de base populares como Claude de Anthropic, Titan de Amazon, Llama 2 de Meta y Mistral AI. Mediante el comando CREATE EXTERNAL MODEL, se pueden apuntar a modelos basados en texto en Amazon Bedrock sin necesidad de entrenamiento o aprovisionamiento. Estos modelos se pueden invocar con comandos SQL familiares, haciendo más sencilla que nunca la incorporación de capacidades de IA generativa en los flujos de trabajo de análisis de datos.