Athrun Data Intelligence


La publicación está coescrita con Michael Shaul y Sasha Korman de NetApp.

Inteligencia sintético generativa (IA) Las aplicaciones se construyen comúnmente utilizando una técnica emplazamiento Recuperación de Gestación Aumentada (RAG) que proporciona a los modelos de saco (FM) acercamiento a datos adicionales que no tenían durante el entrenamiento. Estos datos se utilizan para enriquecer el mensaje de IA generativa para ofrecer respuestas más precisas y específicas del contexto sin tener que retornar a entrenar continuamente al FM, al mismo tiempo que se mejoramiento la transparencia y se minimizan las alucinaciones.

En esta publicación, demostramos una decisión utilizando Amazon FSx para NetApp ONTAP con La roca matriz del Amazonas Proporcionar una experiencia RAG para sus aplicaciones de IA generativa en AWS al resistir datos de archivos de usuarios no estructurados y específicos de la empresa a Amazon Bedrock de una forma sencilla, rápida y segura.

Nuestra decisión utiliza un sistema de archivos FSx para ONTAP como fuente de datos no estructurados y llena continuamente un Amazon OpenSearch sin servidor saco de datos de vectores con los archivos y carpetas existentes del adjudicatario y los metadatos asociados. Esto permite un ambiente RAG con Amazon Bedrock al enriquecer el mensaje de IA generativa mediante las API de Amazon Bedrock con los datos específicos de su empresa recuperados de la saco de datos de vectores de OpenSearch Serverless.

Al desarrollar aplicaciones de IA generativa, como un chatbot de preguntas y respuestas que utiliza RAG, los clientes asimismo se preocupan por perdurar sus datos seguros y evitar que los usuarios finales consulten información de fuentes de datos no autorizadas. Nuestra decisión asimismo utiliza FSx for ONTAP para permitir que los usuarios amplíen sus mecanismos de acercamiento y seguridad de datos actuales para aumentar las respuestas del maniquí de Amazon Bedrock. Usamos FSx for ONTAP como fuente de metadatos asociados, específicamente las configuraciones de la cinta de control de acercamiento (ACL) de seguridad del adjudicatario adjuntas a sus archivos y carpetas, y completamos esos metadatos en OpenSearch Serverless. Al combinar las operaciones de control de acercamiento con eventos de archivos que notifican a la aplicación RAG sobre datos nuevos y modificados en el sistema de archivos, nuestra decisión demuestra cómo FSx for ONTAP permite que Amazon Bedrock solo use incrustaciones de archivos autorizados para los usuarios específicos que se conectan a nuestra aplicación de IA generativa.

Los servicios sin servidor de AWS facilitan la tarea de centrarse en la creación de aplicaciones de IA generativas al proporcionar escalabilidad cibernética, ingreso disponibilidad incorporada y un maniquí de facturación de suscripción por uso. Computación basada en eventos con AWS Lambda es una buena opción para tareas bajo demanda que requieren un uso intensivo de bienes informáticos, como la incrustación de documentos y la orquestación flexible de modelos de jerga grandes (LLM), y Puerta de enlace API de Amazon Proporciona una interfaz API que permite interfaces conectables e invocaciones de LLM basadas en eventos. Nuestra decisión asimismo demuestra cómo crear una capa de aplicación sin servidor, escalable, automatizada y basada en API sobre Amazon Bedrock y FSx para ONTAP utilizando API Gateway y Lambda.

Descripción caudillo de la decisión

La decisión prevé una FSx para ONTAP Multi-AZ sistema de archivos con un máquina potencial de almacenamiento (SVM) Unido a un Microsoft AD administrado por AWS dominio. Una colección de búsqueda de vectores sin servidor OpenSearch proporciona una capacidad de búsqueda por similitud escalable y de parada rendimiento. Usamos un Nimbo de computación elástica de Amazon (Amazon EC2) Servidor Windows como cliente SMB/CIFS para el grosor FSx for ONTAP y configuración del uso compartido de datos y las listas de control de acercamiento para los bienes compartidos SMB en el grosor. Usamos estos datos y listas de control de acercamiento para probar el acercamiento basado en permisos a las incorporaciones en un ambiente RAG con Amazon Bedrock.

El componente contenedor de integraciones de nuestra decisión se implementa en un servidor EC2 Linux y se monta como un cliente NFS en el grosor FSx for ONTAP. Migra periódicamente los archivos y carpetas existentes yuxtapuesto con sus configuraciones de ACL de seguridad a OpenSearch Serverless. Rellena un índice en la colección de búsqueda vectorial de OpenSearch Serverless con datos específicos de la empresa (y metadatos y ACL asociados) desde el procedimiento compartido NFS en el sistema de archivos FSx for ONTAP.

La decisión implementa una función Lambda de recuperación de RAG que permite RAG con Amazon Bedrock al enriquecer el mensaje de IA generativa mediante las API de Amazon Bedrock con los datos específicos de su empresa y los metadatos asociados (incluidas las ACL) recuperados del índice OpenSearch Serverless que se completó con el componente contenedor de incrustaciones. La función Lambda de recuperación de RAG almacena el historial de conversaciones de la interacción del adjudicatario en un Amazon DynamoDB mesa.

Los usuarios finales interactúan con la decisión enviando un mensaje en jerga natural, ya sea a través de una aplicación de chatbot o directamente a través de la interfaz API Gateway. El contenedor de la aplicación de chatbot se crea utilizando Acelerart y al frente está un Balanceador de carga de aplicaciones (ALB) de AWSCuando un adjudicatario envía un mensaje en jerga natural a la interfaz de adjudicatario del chatbot mediante el ALB, el contenedor del chatbot interactúa con la interfaz de API Gateway que luego invoca la función Lambda de recuperación de RAG para obtener la respuesta para el adjudicatario. El adjudicatario asimismo puede dirigir solicitudes de mensajes directamente a API Gateway y obtener una respuesta. Demostramos el acercamiento basado en permisos a los documentos de RAG recuperando explícitamente el SID de un adjudicatario y luego usando ese SID en la solicitud del chatbot o API Gateway, donde la función Lambda de recuperación de RAG luego hace coincidir el SID con las ACL de Windows configuradas para el documento. Como paso de autenticación adicional en un entorno de producción, es posible que asimismo desee autenticar al adjudicatario con un proveedor de identidad y luego hacer coincidir al adjudicatario con los permisos configurados para los documentos.

El subsiguiente diagrama ilustra el flujo de extremo a extremo de nuestra decisión. Comenzamos configurando el uso compartido de datos y las listas de control de acercamiento con FSx para ONTAP, y luego el contenedor de incrustaciones los escanea periódicamente. El contenedor de incrustaciones divide los documentos en fragmentos y utiliza el maniquí Amazon Titan Embeddings para crear incrustaciones vectoriales a partir de estos fragmentos. Luego, almacena estas incrustaciones vectoriales con metadatos asociados en nuestra saco de datos vectorial al completar un índice en una colección vectorial en OpenSearch Serverless. El subsiguiente diagrama ilustra el flujo de extremo a extremo.

Flujo de integración de extremo a extremo para la integración de fsxontap y bedrock

El subsiguiente diagrama de bloque ilustra los distintos componentes de nuestra decisión.Diagrama de arquitectura general que describe todos los componentes de la solución.

Prerrequisitos

Complete los siguientes pasos previos:

  1. Asegúrate de tener Entrada a modelos en Amazon BedrockEn esta decisión, utilizamos Soneto Claude Antrópico v3 en Amazon Bedrock.
  2. Instalar el Interfaz de término de comandos de AWS (AWS CLI).
  3. Instalar Docker.
  4. Instalar Terraform.

Implementar la decisión

La decisión está adecuado para descargar en este Repositorio de GitHubAl clonar el repositorio y usar la plantilla Terraform se proporcionarán todos los componentes con las configuraciones necesarias.

  1. Clonar el repositorio para esta decisión:
    sudo yum install -y unzip
    git clone https://github.com/aws-samples/genai-bedrock-fsxontap.git
    cd genai-bedrock-fsxontap/terraform

  2. Desde la carpeta Terraform, implemente la decisión completa usando Terraform:
    terraform init
    terraform apply -auto-approve

Este proceso puede tardar entre 15 y 20 minutos en completarse. Una vez finalizado, el resultado de los comandos de Terraform debería ser similar al subsiguiente:

api-invoke-url = "https://9ng1jjn8qi.execute-api..amazonaws.com/prod"
fsx-management-ip = toset((
"198.19.255.230",))
fsx-secret-id = "arn:aws:secretsmanager:::secret:AmazonBedrock-FSx-NetAPP-ONTAP-a2fZEdIt-0fBcS9"
fsx-svm-smb-dns-name = "BRSVM.BEDROCK-01.COM"
lb-dns-name = "chat-load-balancer-2040177936..elb.amazonaws.com"

Cargar datos y establecer permisos

Para probar la decisión, utilizaremos el servidor EC2 de Windows (ad_host) montado como un cliente SMB/CIFS en el grosor FSx for ONTAP para compartir datos de muestra y establecer permisos de adjudicatario que luego se utilizarán para completar el índice de OpenSearch Serverless mediante el componente de contenedor de incrustación de la decisión. Realice los siguientes pasos para costar su grosor de datos SVM FSx for ONTAP como una mecanismo de red, cargar datos en esta mecanismo de red compartida y establecer permisos según las listas de control de acercamiento de Windows:

  1. Obtener el ad_host instancia DNS de la salida de su plantilla Terraform.
  2. Navegar a AWS Systems Manager Fleet Manager en su consola de AWSdemarcar el ad_host instancia y Siga las instrucciones aquí para iniciar sesión con Escritorio remotoUtilice el adjudicatario administrador del dominio bedrock-01Admin y obtener la contraseña de Administrador de secretos de AWSPuedes encontrar la contraseña usando el Administrador de secretos fsx-secret-id identificación secreta de la salida de su plantilla Terraform.
  3. Para costar un grosor de datos de FSx para ONTAP como una mecanismo de red, en Esta PCseleccione (clic derecho) Red y luego elige Planisferio de la mecanismo de red.
  4. Elija la composición de la mecanismo y utilice la ruta compartida de FSx para ONTAP para el montaje
    (.c$):
    Mapa de unidad de red
  5. Subir el Plano del adjudicatario de Amazon Bedrock a la mecanismo de red compartida y establezca permisos solo para el adjudicatario administrador (asegúrese de deshabilitar la herencia en Innovador):Cargue la guía del usuario de Amazon Bedrock
  6. Subir el Plano del adjudicatario de Amazon FSx para ONTAP a la mecanismo compartida y asegúrese de que los permisos estén configurados en Todos:Cargue la guía multimedia de Amazon FSX OnTap
  7. En el ad_host servidor, cala el símbolo del sistema e ingrese el subsiguiente comando para obtener el SID del adjudicatario administrador:
    wmic useraccount where name="Admin" get sid

Pruebe los permisos usando el chatbot

Para probar los permisos usando el chatbot, obtenga la lb-dns-name URL de la salida de su plantilla Terraform y acceda a ella a través de su navegador web:

Prueba con el chatbot e ingresa el mensaje

Para la consulta rápida, haga cualquier pregunta caudillo en la orientación del adjudicatario de FSx for ONTAP a la que todos pueden lograr. En nuestro ambiente, preguntamos «¿Cómo puedo crear un sistema de archivos de FSx for ONTAP?» y el maniquí respondió con pasos detallados y atribución de la fuente en la ventana de chat para crear un sistema de archivos de FSx for ONTAP mediante la consola de distribución de AWS, la CLI de AWS o la API de FSx:

Pruebe con el chatbot e ingrese un mensaje relacionado con la guía de Bedrock

Ahora, hagamos una pregunta sobre la orientación del adjudicatario de Amazon Bedrock que está adecuado solo para acercamiento de administrador. En nuestro ambiente, preguntamos «¿Cómo uso los modelos básicos con Amazon Bedrock?» y el maniquí respondió que no tiene suficiente información para dedicar una respuesta detallada a la pregunta:

Utilice el SID de administrador en la búsqueda de filtros de adjudicatario (SID) en la interfaz de adjudicatario del chat y haga la misma pregunta en el mensaje. Esta vez, el maniquí debe replicar con los pasos que detallan cómo usar los FM con Amazon Bedrock y proporcionar la atribución de la fuente utilizada por el maniquí para la respuesta:

Permisos de prueba mediante API Gateway

Todavía puede consultar el maniquí directamente mediante API Gateway. Obtenga el api-invoke-url parámetro de la salida de su plantilla Terraform.

curl -v '/bedrock_rag_retreival' -X POST -H 'content-type: application/json' -d '{"session_id": "1","prompt": "What is an FSxN ONTAP filesystem?", "bedrock_model_id": "anthropic.claude-3-sonnet-20240229-v1:0", "model_kwargs": {"temperature": 1.0, "top_p": 1.0, "top_k": 500}, "metadata": "NA", "memory_window": 10}'

A continuación, invoque la puerta de enlace API con Todos acercamiento a una consulta relacionada con la orientación del adjudicatario de FSx para ONTAP configurando el valencia del parámetro de metadatos en NA para indicar Todos acercamiento:

curl -v '/bedrock_rag_retreival' -X POST -H 'content-type: application/json' -d '{"session_id": "1","prompt": "what is bedrock?", "bedrock_model_id": "anthropic.claude-3-sonnet-20240229-v1:0", "model_kwargs": {"temperature": 1.0, "top_p": 1.0, "top_k": 500}, "metadata": "S-1-5-21-4037439088-1296877785-2872080499-1112", "memory_window": 10}'

Pulcritud

Para evitar cargos recurrentes, limpie su cuenta posteriormente de probar la decisión. Desde la carpeta Terraform, elimine la plantilla Terraform para la decisión:

terraform apply --destroy

Conclusión

En esta publicación, demostramos una decisión que utiliza FSx for ONTAP con Amazon Bedrock y utiliza el soporte de FSx for ONTAP para la propiedad de archivos y las listas de control de acercamiento (ACL) para proporcionar acercamiento basado en permisos en un ambiente de RAG para aplicaciones de IA generativa. Nuestra decisión le permite crear aplicaciones de IA generativa con Amazon Bedrock, donde puede enriquecer el mensaje de IA generativa en Amazon Bedrock con los datos de archivos de adjudicatario no estructurados y específicos de su empresa desde un sistema de archivos de FSx for ONTAP. Esta decisión le permite dedicar respuestas más relevantes, específicas del contexto y precisas, al mismo tiempo que garantiza que solo los usuarios autorizados tengan acercamiento a esos datos. Por extremo, la decisión demuestra el uso de los servicios sin servidor de AWS con FSx for ONTAP y Amazon Bedrock que permiten el escalado instintivo, el procesamiento basado en eventos y las interfaces API para sus aplicaciones de IA generativa en AWS.

Para obtener más información sobre cómo comenzar a inventariar con Amazon Bedrock y FSx para ONTAP, consulte los siguientes bienes:


Acerca de los autores

Kanishk Mahajan Kanishk es director de bloque de soluciones en AWS. Lidera la transformación de la abundancia y la bloque de soluciones para clientes y socios ISV en AWS. Kanishk se especializa en contenedores, operaciones en la abundancia, migraciones y modernizaciones, IA/ML, resiliencia, seguridad y cumplimiento normativo. Es miembro de la Comunidad de campo técnico (TFC) en cada uno de esos dominios en AWS.

Michael Shaul es arquitecto principal en la oficina del director de tecnología de NetApp. Tiene más de 20 abriles de experiencia en la creación de sistemas de papeleo de datos, aplicaciones y soluciones de infraestructura. Tiene una perspectiva única y profunda sobre las tecnologías de la abundancia, los desarrolladores y las soluciones de inteligencia sintético.

Sasha Korman es un iluminado tecnológico que lidera equipos dinámicos de exposición y control de calidad en Israel y la India. Con 14 abriles de experiencia en NetApp, comenzando como programador, su experiencia praxis y liderazgo han sido fundamentales para dirigir proyectos complejos cerca de el éxito, con un enfoque en la innovación, la escalabilidad y la confiabilidad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *