Plataforma de IA generativa - Construcción de una base de IA empresarial con Amazon Bedrock
Aprende a construir aplicaciones de IA generativa usando Amazon Bedrock. Esta guía cubre la selección de modelos fundacionales, la implementación del patrón RAG, las barreras de seguridad y la integración con SageMaker para diseñar infraestructura de IA de nivel empresarial.
Desafíos de la IA generativa y el rol de Bedrock
Integrar la IA generativa en aplicaciones empresariales implica numerosos desafíos, incluyendo la selección de modelos fundacionales, el aprovisionamiento de infraestructura, la aplicación de seguridad y la gestión de costos. Alojar un modelo de lenguaje grande (LLM) por cuenta propia requiere adquirir instancias GPU, optimizar modelos, escalar endpoints de inferencia y gestionar versiones de modelos. Amazon Bedrock es un servicio de IA generativa completamente gestionado que aborda todos estos desafíos. Proporciona acceso por API a múltiples modelos fundacionales de proveedores como Anthropic Claude, Amazon Nova, Meta Llama y Mistral AI, eliminando la necesidad de alojar modelos o gestionar infraestructura. Dado que Bedrock ofrece una API unificada entre múltiples proveedores, puedes seleccionar y cambiar flexiblemente entre los modelos más adecuados para cada tarea, como el procesamiento de contexto largo de 200K tokens de Anthropic Claude o los modelos de código abierto de Meta Llama. Tus datos están protegidos por la infraestructura de seguridad de AWS y nunca se utilizan para el entrenamiento de modelos.
Patrones RAG y Knowledge Bases
La función Knowledge Bases de Bedrock proporciona una implementación completamente gestionada del patrón de Generación Aumentada por Recuperación (RAG). RAG mejora la precisión de las respuestas del modelo fundacional recuperando información relevante de fuentes de datos externas y proporcionándola como contexto al modelo. Knowledge Bases divide automáticamente los documentos almacenados en S3 (PDF, Word, HTML, texto) en fragmentos, los convierte en embeddings vectoriales y los almacena en un almacén vectorial como OpenSearch Serverless o Aurora PostgreSQL. A continuación se muestra un ejemplo de consulta RAG usando Knowledge Bases. ```python import boto3 client = boto3.client('bedrock-agent-runtime', region_name='ap-northeast-1') response = client.retrieve_and_generate( input={'text': 'Tell me about the company policies'}, retrieveAndGenerateConfiguration={ 'type': 'KNOWLEDGE_BASE', 'knowledgeBaseConfiguration': { 'knowledgeBaseId': 'KB_ID', 'modelArn': 'arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0' } } ) print(response['output']['text']) ``` La sincronización de fuentes de datos puede ejecutarse automática o manualmente, manteniendo el almacén vectorial actualizado a medida que se agregan o modifican documentos.
Guardrails y personalización de modelos
Bedrock Guardrails es una función de control integral para garantizar la seguridad de las aplicaciones de IA generativa. Los filtros de contenido pueden bloquear entradas y salidas inapropiadas como violencia, discriminación y contenido sexual. Al definir temas denegados, puedes restringir respuestas sobre temas específicos como información de competidores o asesoramiento de inversión. La función de detección y enmascaramiento de PII evita que información sensible como nombres, números de teléfono y direcciones de correo electrónico aparezca en las salidas. Para la personalización de modelos, el ajuste fino y el pre-entrenamiento continuo permiten crear modelos especializados para dominios o tareas empresariales específicas. Los modelos personalizados pueden asignarse capacidad dedicada a través de Provisioned Throughput, garantizando latencia y rendimiento estables. También puedes importar modelos personalizados entrenados en SageMaker a Bedrock, haciendo que la integración con flujos de trabajo de ML existentes sea sencilla. Para un estudio sistemático de Bedrock desde lo básico hasta temas avanzados, los libros en Amazon son un gran recurso.
Construcción de aplicaciones con Agents e integración con SageMaker
Bedrock Agents es una función que otorga a los modelos fundacionales la capacidad de acceder a herramientas externas y fuentes de datos, permitiendo la construcción de agentes de IA que ejecutan autónomamente tareas complejas. Los agentes comprenden instrucciones en lenguaje natural, descomponen tareas y realizan automáticamente las llamadas API y recuperaciones de datos necesarias. Por ejemplo, puedes construir un agente que responda a consultas de clientes obteniendo información del cliente de un sistema CRM, verificando el estado del pedido en un sistema de gestión de pedidos y generando una respuesta apropiada. Al definir funciones Lambda como grupos de acciones, puedes usar cualquier lógica de negocio como herramienta para el agente. A continuación se muestra un ejemplo de CloudFormation que define un grupo de acciones de Bedrock Agent. ```yaml Resources: BedrockAgent: Type: AWS::Bedrock::Agent Properties: AgentName: customer-support-agent FoundationModel: anthropic.claude-3-sonnet-20240229-v1:0 Instruction: Act as a customer support agent to handle inquiries ActionGroups: - ActionGroupName: OrderLookup ActionGroupExecutor: Lambda: !GetAtt OrderLookupFunction.Arn ``` Con la integración de SageMaker, puedes importar modelos personalizados entrenados en SageMaker usando la función de importación de modelos personalizados de Bedrock y ejecutar inferencia a través de la API de Bedrock. Una arquitectura híbrida que automatiza el entrenamiento, evaluación y despliegue de modelos a través del pipeline MLOps de SageMaker mientras integra aplicaciones a través de Bedrock optimiza tanto las operaciones de investigación como de producción.
Precios de Bedrock
Los precios de Bedrock se basan en el conteo de tokens de entrada y salida por modelo. Claude 3 Haiku cuesta aproximadamente $0,00025 por 1.000 tokens de entrada y $0,00125 por 1.000 tokens de salida. Claude 3.5 Sonnet cuesta aproximadamente $0,003 para entrada y $0,015 para salida. Provisioned Throughput, que reserva unidades de modelo por adelantado, proporciona latencia estable y tarifas con descuento. Guardrails cuesta aproximadamente $0,75 por 1.000 unidades de texto. Knowledge Bases incurre en cargos adicionales por vectorización y recuperación.
Resumen - Elección de una plataforma de IA generativa
Amazon Bedrock es un servicio de IA generativa completamente gestionado que proporciona acceso a múltiples modelos fundacionales a través de una API unificada. Sus capacidades, incluyendo la implementación del patrón RAG con Knowledge Bases, la aplicación de seguridad con Guardrails, la ejecución autónoma de tareas con Agents y la integración de modelos personalizados con SageMaker, cubren todo lo necesario para construir aplicaciones de IA de nivel empresarial. Bedrock es la plataforma ideal para organizaciones que buscan desplegar IA generativa en producción, ofreciendo la capacidad de evitar la dependencia de proveedores de modelos específicos mientras protege los datos con la infraestructura de seguridad de AWS.