[ad_1]
La IA generativa es un tipo de IA que puede crear nuevos contenidos e ideas, incluidas conversaciones, historias, imágenes, vídeos y música. Se basa en modelos de lenguaje grande (LLM) previamente entrenados con grandes cantidades de datos, comúnmente denominados modelos básicos (FM).
Con el lanzamiento de estos LLM o FM, los clientes pueden crear fácilmente aplicaciones generativas basadas en IA para publicidad, gestión del conocimiento y atención al cliente. Reconocer el impacto de estas aplicaciones puede proporcionar a los clientes mejores conocimientos e impactar positivamente en la eficiencia del desempeño empresarial al recuperar información fácilmente y automatizar ciertas tareas que requieren mucho tiempo.
Con la IA generativa en AWS, puede reinventar sus aplicaciones, crear experiencias de cliente completamente nuevas y mejorar la productividad general.
En esta publicación, crearemos una aplicación empresarial segura utilizando AWS Amplify que llama a un modelo base de Amazon SageMaker JumpStart, puntos finales de Amazon SageMaker y Amazon OpenSearch Service para explicar cómo aumentar la recuperación y la conversión de texto a texto o de texto a imagen. Generación creada (RAG). Puede utilizar esta publicación como referencia para crear aplicaciones empresariales seguras en el dominio de IA generativa utilizando los servicios de AWS.
descripción general de la solución
Esta solución utiliza los modelos JumpStart de SageMaker para proporcionar modelos de texto a texto, de texto a imagen y de incrustación de texto como puntos finales de SageMaker. Estos puntos finales de SageMaker se consumen en la aplicación Amplify React a través de las funciones de Amazon API Gateway y AWS Lambda. Para proteger la aplicación y las API contra accesos no intencionados, Amazon Cognito está integrado con las funciones Amplify React, API Gateway y Lambda. Los puntos finales de SageMaker y Lambda se implementan en una VPC privada, por lo que la comunicación desde API Gateway a las funciones de Lambda está protegida por enlaces de API Gateway VPC. El siguiente diagrama de flujo de trabajo ilustra esta solución.
El flujo de trabajo incluye los siguientes pasos:
- Configuración inicial: Los SageMaker JumpStart FM se implementan como puntos finales de SageMaker, con tres puntos finales creados a partir de modelos SageMaker JumpStart. El modelo de texto a imagen es un modelo de Stability AI Stable Diffusion Foundation que se utiliza para generar imágenes. El modelo de texto a texto utilizado para generar texto e implementado en la solución es un modelo Hugging Face Flan T5 XL. El modelo de inserción de texto utilizado para generar incrustaciones para la indexación en Amazon OpenSearch Service o para buscar el contexto de la pregunta entrante es un modelo de inserción Hugging Face GPT 6B FP16. Se pueden implementar LLM alternativos según el caso de uso y los puntos de referencia de rendimiento del modelo. Para obtener más información sobre los modelos Foundation, consulte Introducción a Amazon SageMaker JumpStart.
- Accedes a la aplicación React desde tu computadora. La aplicación React tiene tres páginas: una página que acepta solicitudes de imágenes y muestra la imagen generada; una página que acepta mensajes de texto y muestra el texto generado; y una página que toma una pregunta, encuentra el contexto apropiado para la pregunta y muestra la respuesta generada por el modelo de texto a texto.
- La aplicación React creada con bibliotecas de Amplify está alojada en Amplify y se entrega al usuario en la URL del host de Amplify. Amplify proporciona el entorno de alojamiento para la aplicación React. La CLI de Amplify se utiliza para iniciar el entorno de alojamiento de Amplify e implementar el código en el entorno de alojamiento de Amplify.
- Si no se ha autenticado, se autenticará en Amazon Cognito mediante la biblioteca de interfaz de usuario de Amplify React.
- Cuando proporciona información y envía el formulario, la solicitud se procesa a través de API Gateway.
- Las funciones Lambda limpian la entrada del usuario y llaman a los puntos finales de SageMaker apropiados. Las funciones Lambda también construyen las indicaciones a partir de la entrada desinfectada del usuario en cualquier formato que espere el LLM. Estas funciones Lambda también reformatean la salida de los LLM y envían la respuesta al usuario.
- Los puntos finales de SageMaker se proporcionan para modelos de texto a texto (Flan T5 XXL), texto a incrustaciones (GPTJ-6B) y texto a imagen (Stability AI). Se proporcionan tres puntos finales separados utilizando los tipos de instancias estándar recomendados de SageMaker.
- Las incrustaciones de documentos se generan utilizando el modelo de texto a incrustaciones y estas incrustaciones se indexan en el servicio OpenSearch. Se habilita un índice k-Vecino más cercano (k-NN) para permitir búsquedas de incrustaciones desde el servicio OpenSearch.
- Un trabajo de AWS Fargate toma documentos y los segmenta en paquetes más pequeños, llama al modelo LLM de Text-to-Embeddings e indexa las incrustaciones devueltas en el servicio OpenSearch para búsqueda contextual, como se describió anteriormente.
Resumen de registros
El conjunto de datos utilizado para esta solución es pile-of-law
en el repositorio de Hugging Face. Este conjunto de datos es un gran corpus de datos legales y administrativos. Para este ejemplo utilizamos train.cc_casebooks.jsonl.xz
dentro de este repositorio. Esta es una colección de libros de casos educativos seleccionados de acuerdo con los requisitos de los LLM en formato JSONL.
requisitos
Antes de comenzar, asegúrese de cumplir con los siguientes requisitos previos:
Implementar la solución
Un proyecto de AWS CDK que contiene todos los componentes de la arquitectura está disponible en este repositorio de GitHub de ejemplos de AWS. Para implementar esta solución, haga lo siguiente:
- Clona el repositorio de GitHub en tu computadora.
- Vaya a la carpeta raíz.
- Inicialice el entorno virtual de Python.
- Instale las dependencias requeridas especificadas en
requirements.txt
Archivo. - Inicialice AWS CDK en la carpeta del proyecto.
- Arranque AWS CDK en la carpeta del proyecto.
- Implemente las pilas mediante el comando de implementación de AWS CDK.
- En la carpeta del proyecto, vaya a la carpeta «Amplificar».
- Inicialice Amplify y acepte la configuración predeterminada proporcionada por la CLI.
- Agregue alojamiento Amplify.
- Publique la interfaz de Amplify en la carpeta Amplify y anote el nombre de dominio proporcionado al final de la ejecución.
- En la consola de Amazon Cognito, agregue un usuario a la instancia de Amazon Cognito proporcionada con la implementación.
- Vaya al nombre de dominio del paso 11 e ingrese las credenciales de Amazon Cognito para acceder a la aplicación.
Activar un trabajo de indexación de OpenSearch
El proyecto AWS CDK proporcionó una función Lambda denominada GenAIServiceTxt2EmbeddingsOSIndexingLambda
. Navegue hasta esta función en la consola Lambda.
Ejecute una prueba con una carga útil vacía como se muestra en la siguiente captura de pantalla.
Esta función Lambda activa una tarea Fargate de Amazon Elastic Container Service (Amazon ECS) para que se ejecute dentro de la VPC. Esta tarea de Fargate utiliza el archivo JSONL incluido para segmentar y crear un índice de inserción. La incorporación de cada segmento es el resultado de llamar al punto final LLM de Text-to-Embeddings proporcionado como parte del proyecto AWS CDK.
Limpiar
Para evitar cargos futuros, elimine el punto final de SageMaker y detenga todas las funciones de Lambda. Además, elimine los datos de salida en Amazon S3 que creó mientras ejecutaba el flujo de trabajo de la aplicación. Debe eliminar los datos en los depósitos de S3 antes de poder eliminarlos.
Diploma
En esta publicación, demostramos un enfoque de un extremo a otro para crear una aplicación empresarial segura utilizando IA generativa y RAG. Este enfoque se puede utilizar para crear aplicaciones de IA generativa seguras y escalables en AWS. Le recomendamos que implemente la aplicación AWS CDK en su cuenta y cree la solución de IA generativa.
Recursos adicionales
Para obtener más información sobre aplicaciones de IA generativa en AWS, consulte:
Sobre los autores
Jay Pillai es arquitecto principal de soluciones en Amazon Web Services. Jay, ejecutivo de tecnología de la información, se especializa en inteligencia artificial, integración de datos, inteligencia empresarial e interfaces de usuario. Tiene 23 años de amplia experiencia trabajando con múltiples clientes en los negocios de bienes raíces, servicios financieros, seguros, pagos e investigación de mercado.
Shikhar Kwatra es un arquitecto de soluciones de IA/ML en Amazon Web Services que trabaja con un integrador de sistemas líder a nivel mundial. Con más de 500 patentes en los campos de AI/ML e IoT, se ha ganado el título de uno de los maestros inventores más jóvenes de la India. Shikhar ayuda a diseñar, construir y mantener entornos de nube escalables y rentables para la empresa y apoya al socio de GSI en la creación de soluciones industriales estratégicas en AWS. En su tiempo libre, Shikhar disfruta tocar la guitarra, componer música y practicar la atención plena.
Karthik Sonti lidera un equipo global de arquitectos de soluciones centrados en diseñar, construir e implementar soluciones horizontales, funcionales y verticales con Accenture para ayudar a nuestros clientes mutuos a diferenciar su negocio en AWS.
[ad_2]