Inteligencia de datos generativa

Creación de aplicaciones RAG escalables, seguras y confiables utilizando bases de conocimiento para Amazon Bedrock | Servicios web de Amazon

Fecha:

Inteligencia artificial generativa (IA) ha ganado un impulso significativo y las organizaciones exploran activamente sus aplicaciones potenciales. A medida que las pruebas de concepto exitosas pasan a la producción, las organizaciones necesitan cada vez más soluciones empresariales escalables. Sin embargo, para desbloquear el éxito y la viabilidad a largo plazo de estas soluciones impulsadas por la IA, es fundamental alinearlas con principios arquitectónicos bien establecidos.

El marco de buena arquitectura de AWS proporciona mejores prácticas y pautas para diseñar y operar sistemas confiables, seguros, eficientes y rentables en la nube. Alinear las aplicaciones de IA generativa con este marco es esencial por varias razones, entre ellas proporcionar escalabilidad, mantener la seguridad y la privacidad, lograr confiabilidad, optimizar costos y agilizar las operaciones. Adoptar estos principios es fundamental para las organizaciones que buscan utilizar el poder de la IA generativa e impulsar la innovación.

Esta publicación explora las nuevas funciones de nivel empresarial para Bases de conocimiento sobre Amazon Bedrock y cómo se alinean con el marco de buena arquitectura de AWS. Con Knowledge Bases para Amazon Bedrock, puede crear rápidamente aplicaciones mediante recuperación de generación aumentada (RAG) para casos de uso como respuesta a preguntas, chatbots contextuales y búsqueda personalizada.

Aquí hay algunas características que cubriremos:

  1. Soporte de AWS CloudFormation
  2. Políticas de red privada para Amazon OpenSearch Serverless
  3. Múltiples depósitos de S3 como fuentes de datos
  4. Soporte de cuotas de servicio
  5. Búsqueda híbrida, filtros de metadatos, mensajes personalizados para el RetreiveAndGenerate API y número máximo de recuperaciones.

Principios de diseño de buena arquitectura de AWS

Las aplicaciones basadas en RAG creadas con Knowledge Bases para Amazon Bedrock pueden beneficiarse enormemente al seguir las Marco bien diseñado de AWS. Este marco tiene seis pilares que ayudan a las organizaciones a garantizar que sus aplicaciones sean seguras, de alto rendimiento, resilientes, eficientes, rentables y sostenibles:

  • Excelencia Operacional – Los principios de buena arquitectura agilizan las operaciones, automatizan procesos y permiten el monitoreo y la mejora continuos del rendimiento de las aplicaciones de IA generativa.
  • Seguridad – La implementación de fuertes controles de acceso, cifrado y monitoreo ayuda a proteger los datos confidenciales utilizados en la base de conocimientos de su organización y previene el uso indebido de la IA generativa.
  • Fiabilidad – Los principios de buena arquitectura guían el diseño de sistemas resilientes y tolerantes a fallos, proporcionando una entrega de valor constante a los usuarios.
  • Optimización del rendimiento – La elección de los recursos adecuados, la implementación de estrategias de almacenamiento en caché y el monitoreo proactivo de las métricas de rendimiento garantizan que las aplicaciones brinden respuestas rápidas y precisas, lo que conduce a un rendimiento óptimo y una experiencia de usuario mejorada.
  • Optimización de costos – Las pautas de buena arquitectura ayudan a optimizar el uso de recursos, utilizar servicios que ahorran costos y monitorear los gastos, lo que resulta en la viabilidad a largo plazo de los proyectos de IA generativa.
  • Sostenibilidad – Los principios de buena arquitectura promueven la utilización eficiente de los recursos y minimizan la huella de carbono, abordando el impacto ambiental del creciente uso generativo de la IA.

Al alinearse con el marco de buena arquitectura, las organizaciones pueden crear y administrar de manera efectiva aplicaciones RAG de nivel empresarial utilizando las bases de conocimiento para Amazon Bedrock. Ahora, profundicemos en las nuevas funciones lanzadas en las bases de conocimiento de Amazon Bedrock.

Soporte de AWS CloudFormation

Para las organizaciones que crean aplicaciones RAG, es importante proporcionar operaciones eficientes y efectivas e infraestructura consistente en diferentes entornos. Esto se puede lograr implementando prácticas como la automatización de los procesos de implementación. Para lograr esto, las bases de conocimiento de Amazon Bedrock ahora ofrecen soporte para Formación en la nube de AWS.

Con AWS CloudFormation y el Kit de desarrollo en la nube de AWS (AWS CDK), ahora puede crear, actualizar y eliminar bases de conocimiento y fuentes de datos asociadas. La adopción de AWS CloudFormation y AWS CDK para administrar bases de conocimiento y fuentes de datos asociadas no solo agiliza el proceso de implementación, sino que también promueve el cumplimiento de los principios de buena arquitectura. Al realizar operaciones (aplicaciones, infraestructura) como código, puede proporcionar implementaciones consistentes y confiables en múltiples cuentas de AWS y regiones de AWS, y mantener configuraciones de infraestructura versionadas y auditables.

La siguiente es una muestra Script de CloudFormation en formato JSON por crear y actualizar una base de conocimientos en Amazon Bedrock:

{
    "Type" : "AWS::Bedrock::KnowledgeBase", 
    "Properties" : {
        "Name": String,
        "RoleArn": String,
        "Description": String,
        "KnowledgeBaseConfiguration": {
  		"Type" : String,
  		"VectorKnowledgeBaseConfiguration" : VectorKnowledgeBaseConfiguration
},
        "StorageConfiguration": StorageConfiguration,            
    } 
}

Type especifica una base de conocimientos como recurso en una plantilla de nivel superior. Como mínimo, debe especificar las siguientes propiedades:

  • Nombre – Especifique un nombre para la base de conocimientos.
  • RolArn – Especifique el nombre de recurso de Amazon (ARN) del Gestión de identidades y accesos de AWS (IAM) con permisos para invocar operaciones API en la base de conocimientos. Para más información, ver Crear un rol de servicio para bases de conocimiento para Amazon Bedrock.
  • Configuración de la base de conocimientos – Especificar la configuración de incrustaciones de la base de conocimientos. Se requieren las siguientes subpropiedades:
    • Tipo de Propiedad – Especifique el valor VECTOR.
    • Configuración de VectorKnowledgeBase – Contiene detalles sobre el modelo utilizado para crear incrustaciones de vectores para la base de conocimientos.
  • Configuración de almacenamiento – Especificar información sobre el almacén de vectores en el que se encuentra la fuente de datos. almacenados. Se requieren las siguientes subpropiedades:
    • Tipo de Propiedad – Especifique el servicio de tienda de vectores que está utilizando.
    • También deberá seleccionar uno de los almacenes de vectores admitidos por las bases de conocimiento, como OpenSearchServerless, Pinecone o Amazon PostgreSQL, y proporcionar la configuración para el almacén de vectores seleccionado.

Para obtener detalles sobre todos los campos y proporcionar la configuración de varios almacenes de vectores compatibles con las bases de conocimiento de Amazon Bedrock, consulte AWS::Bedrock::Base de conocimiento.

Los almacenes de vectores de Redis Enterprise Cloud no son compatibles en el momento de escribir este artículo en AWS CloudFormation. Para obtener la información más reciente, consulte la documentación anterior.

Después de crear una base de conocimientos, debe crear una fuente de datos a partir de la Servicio de almacenamiento simple de Amazon (Amazon S3) depósito que contiene los archivos de su base de conocimientos. llama al CreateDataSource y DeleteDataSource APIs

La siguiente es la muestra Script de formación de nube en formato JSON:

{
    "Type" : "AWS::Bedrock::DataSource", 
    "Properties" : {
        "KnowledgeBaseId": String,
        "Name": String,
        "RoleArn": String,
        "Description": String,
        "DataSourceConfiguration": {
  		"S3Configuration" : S3DataSourceConfiguration,
  		"Type" : String
},
ServerSideEncryptionConfiguration":ServerSideEncryptionConfiguration,           
"VectorIngestionConfiguration": VectorIngestionConfiguration
    } 
}

Type especifica una fuente de datos como recurso en una plantilla de nivel superior. Como mínimo, debe especificar las siguientes propiedades:

  • Nombre – Especifique un nombre para la fuente de datos.
  • ID de la base de conocimientos – Especifique el ID de la base de conocimientos a la que pertenecerá la fuente de datos.
  • Configuración de fuente de datos – Especifique información sobre el depósito de S3 que contiene la fuente de datos. Se requieren las siguientes subpropiedades:
    • Tipo de Propiedad – Especifique el valor S3.
    • Configuración S3 – Contiene detalles sobre la configuración del objeto S3 que contiene la fuente de datos.
  • Configuración de ingestión de vectores – Contiene detalles sobre cómo ingerir los documentos en una fuente de datos. Necesitas proporcionar “Configuración de fragmentación”donde puede definir su estrategia de fragmentación.
  • Configuración del cifrado del lado del servidor – Contiene la configuración para el cifrado del lado del servidor, donde puede proporcionar el nombre de recurso de Amazon (ARN) de la clave AWS KMS utilizada para cifrar el recurso.

Para obtener más información sobre la configuración de fuentes de datos en Amazon Bedrock, consulte Configure una fuente de datos para su base de conocimientos.

Nota: No puede cambiar la configuración de fragmentación después de crear la fuente de datos.

La plantilla de CloudFormation le permite definir y administrar los recursos de su base de conocimientos utilizando infraestructura como código (IaC). Al automatizar la configuración y gestión de la base de conocimientos, puede proporcionar una infraestructura coherente en diferentes entornos. Este enfoque se alinea con el pilar de Excelencia Operacional, que enfatiza la realización de operaciones como código. Al tratar toda su carga de trabajo como código, puede automatizar procesos, crear respuestas consistentes a eventos y, en última instancia, reducir los errores humanos.

Políticas de red privada para Amazon OpenSearch Serverless

Para las empresas que crean aplicaciones RAG, es fundamental que los datos permanezcan seguros y que el tráfico de la red no vaya a la Internet pública. Para respaldar esto, las bases de conocimiento de Amazon Bedrock ahora admiten políticas de red privada para Amazon OpenSearch sin servidor.

Knowledge Bases para Amazon Bedrock ofrece una opción para utilizar OpenSearch Serverless como almacén de vectores. Ahora puede acceder a las colecciones de OpenSearch Serverless que tienen una política de red privada, lo que mejora aún más la seguridad de su aplicación RAG. Para lograr esto, debe crear una colección OpenSearch Serverless y configurarla para acceso a la red privada. Primero, cree un índice vectorial dentro de la colección para almacenar las incrustaciones. Luego, mientras crea la colección, configure Configuración de acceso a la red a Privado y especifique el punto final de la VPC para el acceso. Es importante destacar que ahora puede proporcionar acceso a la red privada para OpenSearch Serverless colecciones específicamente para Amazon Bedrock. Para hacer esto, seleccione Acceso privado al servicio AWS y especificar bedrock.amazonaws.com como el servicio.

Esta configuración de red privada garantiza que sus incorporaciones se almacenen de forma segura y que solo Amazon Bedrock pueda acceder a ellas, lo que mejora la seguridad y privacidad generales de sus bases de conocimiento. Se alinea estrechamente con el Pilar de seguridad de controlar el tráfico en todas las capas, porque todo el tráfico de la red se mantiene dentro de la columna vertebral de AWS con esta configuración.

Hasta ahora, hemos explorado la automatización de la creación, eliminación y actualización de recursos de la base de conocimientos y la seguridad mejorada a través de políticas de red privada para que OpenSearch Serverless almacene incrustaciones de vectores de forma segura. Ahora, comprendamos cómo crear aplicaciones RAG más confiables, integrales y con costos optimizados.

Múltiples depósitos de S3 como fuentes de datos

Las bases de conocimiento para Amazon Bedrock ahora admiten la adición de múltiples depósitos de S3 como fuentes de datos dentro de una única base de conocimiento, incluido el acceso entre cuentas. Esta mejora aumenta la amplitud y precisión de la base de conocimientos al permitir a los usuarios agregar y utilizar información de diversas fuentes sin problemas.

Las siguientes son características clave:

  • Múltiples depósitos S3 – Las bases de conocimiento para Amazon Bedrock ahora pueden incorporar datos de múltiples depósitos de S3, lo que permite a los usuarios combinar y utilizar información de diferentes fuentes sin esfuerzo. Esta característica promueve la diversidad de datos y garantiza que la información relevante esté disponible para aplicaciones basadas en RAG.
  • Acceso a datos entre cuentas – Las bases de conocimientos para Amazon Bedrock admiten la configuración de depósitos S3 como fuentes de datos en diferentes cuentas. Puede proporcionar las credenciales necesarias para acceder a estas fuentes de datos, ampliando la gama de información que se puede incorporar a sus bases de conocimiento.
  • Gestión de datos eficiente – Al configurar una fuente de datos en una base de conocimientos, puede especificar si los datos que pertenecen a esa fuente de datos deben conservarse o eliminarse si se elimina la fuente de datos. Esta característica garantiza que su base de conocimientos permanezca actualizada y libre de datos obsoletos o irrelevantes, manteniendo la integridad y precisión del proceso RAG.

Al admitir múltiples depósitos de S3 como fuentes de datos, se elimina la necesidad de crear múltiples bases de conocimiento o copias de datos redundantes, optimizando así los costos y promoviendo la gestión financiera de la nube. Además, las capacidades de acceso entre cuentas permiten el desarrollo de arquitecturas resilientes, alineándose con el pilar de confiabilidad del marco de buena arquitectura de AWS, proporcionando alta disponibilidad y tolerancia a fallas.

Otras funciones anunciadas recientemente para las bases de conocimientos

Para mejorar aún más la confiabilidad de su aplicación RAG, Knowledge Bases para Amazon Bedrock ahora amplía el soporte para Cuotas de servicio. Esta característica proporciona un único panel para ver los valores y el uso de cuotas de AWS aplicados. Por ejemplo, ahora tiene acceso rápido a información como el número permitido de `RetrieveAndGenerate Solicitudes de API por segundo.

Esta característica le permite administrar eficazmente las cuotas de recursos, evitar el aprovisionamiento excesivo y limitar las tasas de solicitudes de API para proteger los servicios contra posibles abusos.

También puede mejorar el rendimiento de su aplicación utilizando funciones anunciadas recientemente como búsqueda híbrida, filtrado basado en metadatos, mensajes personalizados para la API RetreiveAndGenerate y número máximo de recuperaciones. Estas características mejoran colectivamente la precisión, relevancia y coherencia de las respuestas generadas y se alinean con el pilar de eficiencia del rendimiento del marco de buena arquitectura de AWS.

Las bases de conocimientos para Amazon Bedrock se alinean con el pilar de sostenibilidad del marco de buena arquitectura de AWS mediante el uso de servicios administrados y la optimización de la utilización de recursos. Como servicio totalmente administrado, Knowledge Bases for Amazon Bedrock elimina la carga de aprovisionar, administrar y escalar la infraestructura subyacente, reduciendo así el impacto ambiental asociado con la operación y el mantenimiento de estos recursos.

Además, al alinearse con los principios de buena arquitectura de AWS, las organizaciones pueden diseñar y operar sus aplicaciones RAG de manera sostenible. Prácticas como la automatización de implementaciones a través de AWS CloudFormation, la implementación de políticas de red privada para el acceso seguro a los datos y el uso de servicios eficientes como OpenSearch Serverless contribuyen a minimizar el impacto ambiental de estas cargas de trabajo.

En general, las bases de conocimiento para Amazon Bedrock, combinadas con el marco de buena arquitectura de AWS, permiten a las organizaciones crear aplicaciones RAG escalables, seguras y confiables, al tiempo que priorizan la sostenibilidad ambiental a través de la utilización eficiente de los recursos y la adopción de servicios administrados.

Conclusión

Las nuevas funciones de nivel empresarial, como la compatibilidad con AWS CloudFormation, las políticas de red privada, la capacidad de utilizar múltiples depósitos S3 como fuentes de datos y la compatibilidad con cuotas de servicio, facilitan la creación de aplicaciones RAG escalables, seguras y confiables con bases de conocimiento. para Amazon Bedrock. El uso de los servicios administrados de AWS y el seguimiento de las mejores prácticas de buena arquitectura permiten a las organizaciones centrarse en ofrecer soluciones innovadoras de IA generativa y, al mismo tiempo, brindar excelencia operativa, seguridad sólida y utilización eficiente de los recursos. A medida que crea aplicaciones en AWS, alinear las aplicaciones RAG con el marco de buena arquitectura de AWS proporciona una base sólida para crear soluciones de nivel empresarial que impulsen el valor empresarial y al mismo tiempo cumplan con los estándares de la industria.

Para recursos adicionales, consulte lo siguiente:


Sobre los autores

Mani Januja es líder tecnológica: especialistas en IA generativa, autora del libro Applied Machine Learning and High Performance Computing on AWS y miembro de la junta directiva de la Junta Directiva de la Women in Manufacturing Education Foundation. Lidera proyectos de aprendizaje automático en diversos ámbitos, como la visión por computadora, el procesamiento del lenguaje natural y la inteligencia artificial generativa. Habla en conferencias internas y externas como AWS re:Invent, Women in Manufacturing West, seminarios web de YouTube y GHC 23. En su tiempo libre, le gusta salir a correr largas distancias por la playa.

Nitin Eusebio es un arquitecto sénior de soluciones empresariales en AWS, con experiencia en ingeniería de software, arquitectura empresarial e IA/ML. Le apasiona profundamente explorar las posibilidades de la IA generativa. Colabora con los clientes para ayudarlos a crear aplicaciones bien diseñadas en la plataforma AWS y se dedica a resolver desafíos tecnológicos y ayudarlos en su viaje a la nube.

Pallavi Nargund es arquitecto principal de soluciones en AWS. En su función como facilitadora de tecnología en la nube, trabaja con los clientes para comprender sus objetivos y desafíos y brindarles orientación prescriptiva para lograr su objetivo con las ofertas de AWS. Le apasionan las mujeres en la tecnología y es miembro principal de Women in AI/ML en Amazon. Habla en conferencias internas y externas como AWS re:Invent, AWS Summits y seminarios web. Fuera del trabajo, le gusta el voluntariado, la jardinería, el ciclismo y el senderismo.

punto_img

Información más reciente

punto_img

Habla con nosotros!

¡Hola! ¿Le puedo ayudar en algo?