Cree agentes de Strands con modelos de IA de SageMaker y MLflow

Las empresas que crean agentes de IA a menudo requieren más de lo que pueden proporcionar los servicios de modelo básico administrado (FM). Necesitan un control preciso sobre el ajuste del rendimiento, la optimización de costos a escala, el cumplimiento y la residencia de datos, la selección de modelos y las configuraciones de red que se integren con las arquitecturas de seguridad existentes. Los puntos finales de IA de Amazon SageMaker se alinean con estos requisitos al brindar a las organizaciones control sobre los recursos informáticos, el comportamiento de escalado y la ubicación de la infraestructura, al tiempo que se benefician de la capa operativa administrada de AWS. Estos modelos implementados por SageMaker AI pueden impulsar agentes de IA, manejar cargas de trabajo conversacionales e integrarse con marcos de orquestación como los FM que están disponibles en Amazon Bedrock. La diferencia es que la organización conserva el control arquitectónico sobre cómo y dónde ocurre la inferencia.

En esta publicación, demostramos cómo crear agentes de IA utilizando el SDK de Strands Agents con modelos implementados en puntos finales de IA de SageMaker. Aprenderá cómo implementar modelos básicos de SageMaker JumpStart, integrarlos con Strands Agents y establecer observabilidad a nivel de producción utilizando SageMaker Serverless MLflow para el seguimiento de agentes. También cubrimos cómo implementar pruebas A/B en múltiples variantes de modelos y evaluar el rendimiento de los agentes utilizando métricas de MLflow y mostrar cómo puede crear, implementar y mejorar continuamente agentes de IA en la infraestructura que controla.

Strands Agents SDK es un SDK de código abierto que adopta un enfoque basado en modelos para crear y ejecutar agentes de IA en solo unas pocas líneas de código. Strands escala desde casos de uso de agentes simples hasta complejos, y desde el desarrollo local hasta la implementación en producción.

Amazon SageMaker JumpStart es un centro de aprendizaje automático (ML) que puede ayudarle a acelerar su recorrido por el ML. Con SageMaker JumpStart, puede evaluar, comparar y seleccionar FM rápidamente en función de métricas de calidad y responsabilidad predefinidas para realizar tareas, como resúmenes de artículos y generación de imágenes.

SageMaker AI MLflow es una capacidad administrada que agiliza el ciclo de vida del aprendizaje automático mediante el seguimiento de experimentos, el control de versiones de modelos y la gestión de implementación.

En esta publicación nosotros:

Implemente modelos en SageMaker AI: implemente modelos básicos desde SageMaker JumpStart. Integre Strands con SageMaker AI: utilice modelos de SageMaker AI implementados con Strands Agents. Configure la observabilidad del agente: configure la aplicación SageMaker AI MLflow para el seguimiento del agente. Implemente pruebas A/B con evaluación: implemente múltiples variantes de modelo y evalúe el agente con métricas de MLflow.

Puede encontrar un cuaderno de Jupyter con el código completo para usar en esta publicación en el repositorio de GitHub.

Construyendo su primer agente de Strands

Los agentes de Strands reunieron un modelo, un mensaje del sistema y un conjunto de herramientas para construir un agente de IA simple. Strands ofrece muchos proveedores de modelos, incluido Amazon SageMaker AI. También proporciona muchas herramientas de uso común como parte del SDK de strands-agent-tools, para que las organizaciones puedan crear rápidamente agentes de IA para sus necesidades comerciales.

El siguiente fragmento de código muestra cómo crear su primer agente utilizando el SDK de Strands Agents. Puede encontrar una muestra detallada de los agentes creados con el SDK de Strands Agents en el repositorio de GitHub.

modelo = BedrockModel( model_id="us.anthropic.claude-sonnet-4-5-20250929-v1:0" ) agente = Agente(modelo=modelo, herramientas=[http_request]) agente("¿Dónde está ahora la estación espacial internacional?")

Este agente utiliza el modelo de inferencia multiregión Claude 4.5 Sonnet en Amazon Bedrock. Puede encontrar una lista de perfiles de inferencia disponibles en la Guía del usuario de Amazon Bedrock.

Amazon Bedrock te ofrece una variedad de modelos. La identificación del modelo para los modelos disponibles se puede encontrar en la Guía del usuario de Amazon Bedrock.

¿Por qué utilizar modelos implementados en SageMaker AI?

Las organizaciones pueden considerar implementar modelos básicos en SageMaker AI por las siguientes razones.

Control de infraestructura: SageMaker AI proporciona control sobre instancias informáticas, configuraciones de red y políticas de escalado. Esto es crucial para organizaciones con SLA de latencia estrictos o requisitos de hardware específicos. Flexibilidad del modelo: SageMaker AI permite la implementación de diferentes modelos, ya sea una arquitectura personalizada, una variante ajustada o una alternativa de código abierto como Llama o Mistral. Previsibilidad de costos: los puntos finales dedicados de IA de SageMaker permiten una previsión y optimización de costos precisas a través de instancias reservadas, precios al contado y recursos informáticos del tamaño adecuado. Esto puede resultar especialmente beneficioso para cargas de trabajo de gran volumen. MLOps avanzados: la integración de SageMaker AI con el registro de modelos MLflow y las capacidades de prueba A/B brindan gobernanza de modelos de nivel empresarial que muchas organizaciones requieren para los sistemas de AI de producción.

Creación de un agente de Strands con modelos de IA de SageMaker

El SDK de Strands Agents implementa un proveedor de IA de SageMaker, por lo que puede ejecutar agentes contra modelos implementados en puntos finales de inferencia de IA de SageMaker. Esto incluye tanto modelos previamente entrenados de SageMaker JumpStart como modelos personalizados y ajustados. El modelo que use con Strands Agents SDK debe admitir API de finalización de chat compatibles con OpenAI. En esta publicación, vemos cómo los modelos Qwen3 4B y Qwen3 8B disponibles en SageMaker AI JumpStart se usan con Strands Agents.

Requisitos previos

Para ejecutar el código de esta publicación debes tener lo siguiente:

Una cuenta de AWS con acceso a Amazon Bedrock y Amazon SageMaker AI. Un rol con acceso a SageMaker AI, modelos de Amazon Bedrock, SageMaker AI Serverless MLflow, Amazon Simple Storage Service (Amazon S3) y Amazon SageMaker AI JumpStart. Puede utilizar la política de confianza para asumir ese rol. Una computadora portátil Jupyter que se ejecuta localmente en su escritorio o en SageMaker AI Studio. Cuando se ejecute localmente, asegúrese de autenticarse en su cuenta de AWS y asumir el rol que tiene los permisos necesarios.

Paso 1: instale los paquetes necesarios

Primero, instalamos los paquetes de Python necesarios en nuestro entorno.

%%writefile requisitos.txt strands-agents>=1.9.1 strands-agents-tools>=0.2.8 mlflow>=3.4.0 strands-agents[sagemaker] mlflow-sagemaker>=1.5.11 pip install -r requisitos.txt

Paso 2: Implementar el modelo como punto final de SageMaker AI

Ahora que los paquetes están disponibles, utilizamos SageMaker JumpStart API para implementar el modelo Qwen3-4B como un punto final de SageMaker AI.

# Implementar punto final inicial con Qwen-4B importar sagemaker importar boto3 desde boto3.session importar sesión desde sagemaker.jumpstart.model importar JumpStartModel boto_session = Session() sts = boto3.client('sts') account_id = sts.get_caller_identity().get("Cuenta") región = boto_session.region_name ENDPOINT_NAME = INITIAL_CONFIG_NAME = "llm-qwen-endpoint-sagemaker" # Seguiremos usando este nombre de punto final model_a = JumpStartModel( model_id="huggingface-reasoning-qwen3-4b", model_version="1.0.0", name="qwen3-4b-model" ) # Implementar el modelo en un punto final predictor_a = model_a.deploy(inicial_instance_count=1, tipo_instancia="ml.g5.2xlarge", nombre_punto_final=NOMBRE_ENDPOINT)

Paso 3: Úselo con el agente Strands

Con el modelo implementado, creamos un SageMakerAIModel y lo usamos con Strands Agents.

de strands.models.sagemaker importe SageMakerAIModel de strands import Agente, herramienta de strands_tools importe http_request, calculadora model_sagemaker = SageMakerAIModel( endpoint_config={ "endpoint_name": ENDPOINT_NAME, "region_name": región }, payload_config={ "max_tokens": 2048, "temperature": 0.2, "stream": True, } ) # Pruebe el agente agente = Agente(model=model_sagemaker, herramientas=[http_request]) agente("¿Dónde está ahora la estación espacial internacional? (Uso: http://api.open-notify.org/iss-now.json")

Para obtener más información sobre SageMaker AI como proveedor de modelos para Strands Agents, consulte Amazon SageMaker en el sitio web de Strands Agent.

Uso de la aplicación MLflow sin servidor SageMaker AI para la observabilidad de los agentes

SageMaker AI Serverless MLflow ayuda a proporcionar observabilidad integral para los agentes de IA al capturar automáticamente seguimientos de ejecución, patrones de uso de herramientas y flujos de trabajo de toma de decisiones sin requerir instrumentación personalizada. El servicio administrado ayuda a reducir los gastos operativos al tiempo que ofrece integración nativa con Strands Agents SDK. Esto permite el seguimiento de los flujos de conversación de los agentes. Con este servicio de observabilidad centralizado, los equipos pueden monitorear el comportamiento de los agentes en múltiples implementaciones, identificar cuellos de botella en el rendimiento y mantener pistas de auditoría para los requisitos de cumplimiento.

Paso 1: Configurar la aplicación MLflow sin servidor SageMaker AI

El primer paso para configurar la observabilidad de su agente de IA es configurar una aplicación MLflow. Tiene dos opciones principales para la implementación:

usando la interfaz de usuario intuitiva de SageMaker AI Studio para una configuración rápida con configuración guiada usando Boto3 para una implementación programática que permite prácticas de automatización y infraestructura como código.

Ambos enfoques crean una aplicación MLflow sin servidor, por lo que puede concentrarse en crear y monitorear sus agentes Strands en lugar de administrar la infraestructura de observabilidad subyacente. En esta publicación, utilizamos el SDK de Boto3 para implementar una aplicación MLflow.

# Crear depósito S3 para artefactos de MLflow s3_client = boto3.client('s3', region_name=region) nombre_depósito = f'{account_id}-mlflow-bucket' if región == 'us-east-1': s3_client.create_bucket(Bucket=nombre_depósito) else: s3_client.create_bucket( Bucket=nombre_depósito, CreateBucketConfiguration={'LocationConstraint': región}) # Crear cliente SageMaker sagemaker_client = boto3.client('sagemaker') # Crear aplicación MLflow mlflow_app_details = sagemaker_client.create_mlflow_app( Name="strands-mlflow-app", ArtifactStoreUri=f's3://{account_id}-mlflow-bucket/artifacts', RoleArn=role, ) print(f"Se inició la creación de la aplicación MLflow: { mlflow_app_details['Arn']}")

Paso 2: configurar la aplicación MLflow para el seguimiento del agente Strands

Ahora que ha creado una aplicación MLflow, habilita el registro automático para los agentes de Strands para que las interacciones de los agentes, el uso de herramientas y las métricas de rendimiento se capturen y envíen automáticamente a la aplicación MLflow sin necesidad de instrumentación manual.

import os import mlflow tracking_uri = mlflow_app_details['Arn'] print(f"MLflow App URL: {tracking_uri}") # Establecer URI de seguimiento de MLflow os.environ["MLFLOW_TRACKING_URI"] =tracking_uri # O puede configurar el servidor de seguimiento como se muestra a continuación. #mlflow.set_tracking_uri(tracking_uri) mlflow.set_experiment("Strands-MLflow") # El nombre de este experimento se utilizará en la interfaz de usuario mlflow.strands.autolog()

Paso 3: ejecutar el agente

Con la configuración de la aplicación MLflow y el registro automático habilitados, ahora está listo para invocar a nuestro Agente Strands exactamente como lo hizo al principio.

def capitalize(respuesta): return respuesta.upper() agente = Agente(model=model_sagemaker, herramientas=[http_request]) respuesta = agente("¿Dónde está ahora la estación espacial internacional?") capitalize(respuesta.message['content'][0]['texto'])

Los seguimientos y las métricas estarán disponibles en su aplicación MLflow, a la que se puede acceder mediante la URL firmada construida con información de mlflow_app_details y las variables de la región de AWS.

# Obtener URL prefirmada para la aplicación MLflow presigned_response = sagemaker_client.create_presigned_mlflow_app_url( Arn=mlflow_app_details['Arn'] ) mlflow_ui_url = presigned_response['AuthorizedUrl'] print(f"MLflow UI URL: {mlflow_ui_url}")

Paso 4: revisar los seguimientos en MLflow

La ejecución posterior del agente, el seguimiento de su agente, las llamadas a herramientas y otras métricas estarán disponibles a través de la sección Seguimientos de la interfaz de usuario de la aplicación MLflow.

Los rastros de un experimento están disponibles en una vista de lista para inspeccionarlos más a fondo.

Cuando selecciona un seguimiento específico, tiene la opción de ver los detalles como una línea de tiempo de ejecución o como un árbol de distribución. En ambas vistas, puede ver el bucle del agente, las llamadas a herramientas, la entrada/salida de cada paso y otra información.

Modal de detalle de seguimiento de MLflow que muestra la consulta de ubicación de la ISS con una latencia de 2,45 minutos y salida de coordenadas a -37,0416° de latitud, -24,3535° de longitud

Seguimiento manual

Mientras que el bloque de código anterior tenía capitalize(response.message['content'][0]['text']), la función de capitalización no es visible en el seguimiento de MLflow. El seguimiento automatizado de MLflow Strands registra la invocación del agente (y su herramienta y las invocaciones de FM). Otras llamadas a funciones no se registran. Si necesita rastrear un bloque de código completo, puede usar la capacidad de rastreo manual de MLflow como se muestra en el siguiente bloque de código.

@mlflow.trace(span_type="func", atributos={"operación": "capitalize"}) def capitalize(response): return respuesta.upper() @mlflow.trace def run_agent(): agente = Agente(tools=[http_request]) mlflow.update_current_trace(request_preview="Ejecutar Strands Agent") respuesta = agente("¿Dónde está ahora la estación espacial internacional? (Usar: http://api.open-notify.org/iss-now.json) ") capitalized_response = capitalize(response.message['content'][0]['text']) return capitalized_response # Ejecutar la función rastreada capitalized_response = run_agent() print(capitalized_response)

En este bloque de código, la función de capitalización está decorada con @mlflow.trace para garantizar que su ejecución, entrada y salida se vean en MLflow. Como resultado, verá el siguiente seguimiento en MLflow que incluye la invocación del agente y la llamada a la función "capitalizar".

Seguimiento de MLflow run_agent que muestra el procesamiento de datos de ubicación de ISS con transformación de capitalización, tiempo de ejecución de 16,11 segundos

Implementación de un nuevo LLM para pruebas A/B

Con Amazon SageMaker AI, puede optimizar modelos de lenguaje grandes (LLM) para las aplicaciones de sus agentes. Por ejemplo, para mejorar el rendimiento de su aplicación mediante la actualización de un modelo Qwen3-4B más pequeño al modelo Qwen3-8B más grande, no necesita realizar una migración completa de inmediato. Debido a que su agente actual con Qwen3-4B funciona bien, puede implementar el nuevo modelo Qwen3-8B junto con él y distribuir el tráfico entre ambos puntos finales de LLM. Con este enfoque, puede realizar pruebas A/B para medir el impacto y la eficacia del modelo más grande antes de comprometerse por completo con la actualización. Primero, implemente un nuevo modelo detrás del mismo punto final que una segunda variante:

# Paso 1: crear un modelo desde JumpStart model_b_name ="sagemaker-strands-demo-qwen3-8b" model_b_id, model_b_version = "huggingface-reasoning-qwen3-8b", "1.0.0" model_8b = JumpStartModel( model_id="huggingface-reasoning-qwen3-8b", model_version="1.0.0", nombre=model_b_name ) model_b.create(instance_type="ml.g5.2xlarge") # Paso 2: Crear variantes de producción para pruebas A/B # Crear variantes de producción para pruebas A/B Production_variants = [ # El modelo original (campeón) { "VariantName": "qwen-4b-variant", "ModelName": "qwen3-4b-model", "InitialInstanceCount": 1, "InstanceType": "ml.g5.2xlarge", "InitialVariantWeight": 0.5 # Tomará el 50% del tráfico }, # El nuevo modelo (challenger) { "VariantName": "qwen3-8b-variant", "ModelName": model_b_name, "InitialInstanceCount": 1, "InstanceType": "ml.g5.2xlarge", "InitialVariantWeight": 0.5 # Tomará el 50% del tráfico } ] # Paso 3: Crear una nueva configuración de punto final sagemaker_client = boto3.client('sagemaker') ENDPOINT_CONFIG_AB_TESTING = "llm-endpoint-config-ab" sagemaker_client.create_endpoint_config( EndpointConfigName=ENDPOINT_CONFIG_AB_TESTING, ProductionVariants=production_variants ) # Paso 4: Actualizar el punto final con una nueva configuración de prueba A/B sagemaker_client.update_endpoint( EndpointName=ENDPOINT_NAME, #Recuerde, el nombre del punto final sigue siendo el mismo EndpointConfigName=ENDPOINT_CONFIG_AB_TESTING ) # Espere hasta que se complete la actualización camarero = boto3.client('sagemaker').get_waiter('endpoint_in_service') camarero.wait(EndpointName=ENDPOINT_NAME)

Una vez realizada la actualización, el agente que creó con este punto final utilizará ambos LLM con una probabilidad del 50/50. Para un experimento controlado, puede crear dos nuevos agentes que apuntarán a variantes específicas.

de strands.models.sagemaker importe SageMakerAIModel de strands import Agente, herramienta de strands_tools importe http_request, calculadora model_sagemaker_a = SageMakerAIModel( endpoint_config={ "endpoint_name": ENDPOINT_NAME, "region_name": región, "target_variant": "qwen-4b-variant" }, payload_config={ "max_tokens": 2048, "temperatura": 0.2, "flujo": Verdadero, } ) model_sagemaker_b = SageMakerAIModel( endpoint_config={ "endpoint_name": ENDPOINT_NAME, "region_name": región, "target_variant": "qwen-8b-variant" }, payload_config={ "max_tokens": 2048, "temperatura": 0.2, "flujo": Cierto, } )

Evaluación de agente utilizando variantes de modelo con MLflow GenAI

Con ambas variantes de modelo implementadas detrás de su punto final de prueba A/B, el siguiente paso es usarlas en Strands Agents, que son iguales en otros aspectos excepto en el modelo en sí. Luego evaluaremos sistemáticamente a estos agentes utilizando el marco de evaluación GenAI de MLflow, que proporciona un enfoque estructurado que utiliza métricas personalizadas y jueces basados ​​en LLM.

Crear un conjunto de datos de evaluación

Para medir objetivamente el rendimiento de los agentes, necesita un conjunto coherente de casos de prueba que representen sus cargas de trabajo del mundo real. Cada entrada en el conjunto de datos de evaluación incluye la consulta de entrada junto con las expectativas, los valores reales que los evaluadores utilizarán para evaluar si el agente respondió correctamente. Esta estructura facilita evaluaciones reproducibles entre variantes del modelo.

eval_dataset = [ { "inputs": {"query": "Calcula el 15% de propina en un billete de $85,50. Usa la herramienta calculadora"}, "expectations": { "expected_tool": "calculator", "expected_facts": ["El monto de la propina es aproximadamente $12,83"] } }, { "inputs": {"query": "¿Cuánto es 2048 dividido por 64? Usa la calculadora herramienta"}, "expectaciones": { "expected_tool": "calculadora", "expected_facts": ["La respuesta es 32"] } } # Agregar más casos de prueba… ]

Definir puntuadores de evaluación

Los evaluadores determinan cómo se evalúan las respuestas de los agentes en función de sus expectativas. MLflow admite puntajes personalizados para verificaciones deterministas (como verificar que se usó la herramienta correcta) y jueces LLM integrados que evalúan cualidades subjetivas como la corrección fáctica y la relevancia. La combinación de estos tipos de puntajes ayuda a brindar una visión integral del desempeño de los agentes, desde la verificación de la capacidad básica hasta la calidad de la respuesta matizada.

de mlflow.genai.scorers importa el anotador, Corrección, RelevanceToQuery de mlflow.entities importa Comentarios @scorer def tool_selection_scorer(entradas, salidas, expectativas): herramienta_esperada = expectativas.get("herramienta_esperada", "") herramienta_usada = herramienta_esperada en salidas.get("herramientas",[]) devolver comentarios (nombre = "selección_herramienta", valor = 1,0 si se usa herramienta en caso contrario 0,0)

Ejecute la evaluación

Con su conjunto de datos y puntajes definidos, ahora puede ejecutar la evaluación en cada variante del modelo. La función mlflow.genai.evaluate() ejecuta su agente en cada caso de prueba, aplica los puntajes para evaluar las respuestas y registra los resultados en MLflow para su análisis. Realizar evaluaciones independientes para cada variante ayuda a garantizar que pueda comparar directamente su rendimiento en condiciones idénticas.

importar mlflow desde strands importar Agente desde strands_tools importar calculadora mlflow.set_experiment("Strands_Agents_AB_Evaluación") def predict_4b(consulta): agente = Agente(modelo=model_sagemaker_a, herramientas=[calculadora]) respuesta = agente(consulta) return {"salidas": str(respuesta), "herramientas": lista(respuesta.metrics.tool_metrics.keys())} def predict_8b(consulta): agente = Agente(modelo=model_sagemaker_b, herramientas=[calculadora]) respuesta = agente(consulta) return {"outputs": str(respuesta), "tools": list(response.metrics.tool_metrics.keys())} goleadores = [tool_selection_scorer, Correctness(model="bedrock:/us.amazon.nova-pro-v1:0"), RelevanceToQuery(model="bedrock:/us.amazon.nova-pro-v1:0") ] eval_results_4b = mlflow.genai.evaluate(data=eval_dataset, predict_fn=predict_4b, goleadores=puntuadores) eval_results_8b = mlflow.genai.evaluate(data=eval_dataset, predict_fn=predict_8b, goleadores=goleadores)

Comparar resultados

Una vez completadas ambas evaluaciones, puede comparar las métricas agregadas para determinar qué variante de modelo funciona mejor para sus cargas de trabajo específicas. Esta comparación proporciona la evidencia basada en datos que necesita para tomar decisiones informadas sobre la selección del modelo, en lugar de depender de suposiciones o puntos de referencia generales.

metrics_4b = eval_results_4b.metrics metrics_8b = eval_results_8b.metrics para la métrica en metrics_4b: print(f"{metric}: 4B={metrics_4b[metric]:.3f}, 8B={metrics_8b[metric]:.3f}")

También puede ver comparaciones detalladas en la interfaz de usuario de MLflow navegando a la pestaña Evaluaciones y seleccionando ambas ejecuciones para un análisis en paralelo.

Comparación de pruebas A/B de MLflow 3.4.0 que muestra dos variantes de agente con puntuaciones de corrección y relevancia del 100% en pruebas de consultas matemáticas

Transición al nuevo modelo.

Si se demuestra que el nuevo modelo es mejor, puede realizar una transición al nuevo modelo ajustando los pesos:

Production_variants = [ { "VariantName": "qwen-8b-variant", "ModelName": model_b_name, "InitialInstanceCount": 1, "InstanceType": "ml.g5.2xlarge", "InitialVariantWeight": 1 } ]

Problemas de depuración con el seguimiento de MLflow

En el caso de "ImportError: no se puede importar el nombre 'TokenUsageKey' de 'mlflow.tracing.constant' (/opt/conda/lib/python3.12/site-packages/mlflow/tracing/constant.py)" u otros problemas con el seguimiento de Strands Agents en MLflow, verifique lo siguiente:

Verifique la versión de MLflow instalada. Debe ser 3.4.0 o superior. Asegúrese de que la función que está utilizando para ejecutar Strands Agent tenga permiso para: leer, escribir y enumerar el s3:bucket utilizado como ubicación del artefacto para acceder al servidor de seguimiento de MLflow a la aplicación MLflow.

Limpiar los recursos creados

El siguiente código eliminará el punto final de SageMaker AI y la aplicación MLflow que creó.

# Eliminar el punto final sagemaker_client.delete_endpoint(EndpointName=ENDPOINT_NAME) sagemaker_client.delete_endpoint_config(EndpointConfigName=INITIAL_CONFIG_NAME) sagemaker_client.delete_endpoint_config(EndpointConfigName=ENDPOINT_CONFIG_AB_TESTING) # Eliminar la aplicación MLflow sagemaker_client.delete_mlflow_app( Arn=server_info["Arn"] )

Conclusión

En esta publicación, exploramos cómo crear agentes de IA utilizando el SDK de Strands Agents con modelos implementados en puntos finales de IA de Amazon SageMaker, mientras utilizamos SageMaker AI Serverless MLflow para una observabilidad integral de los agentes. Este enfoque ayuda a brindar a las organizaciones mayor flexibilidad y control sobre su infraestructura de IA. La implementación de modelos en SageMaker AI le brinda un control preciso sobre los recursos informáticos, las configuraciones de redes y las políticas de escalamiento que son especialmente valiosas para organizaciones con requisitos específicos de rendimiento, costos o cumplimiento. La integración con MLflow proporciona sólidas capacidades de observabilidad, para que pueda realizar un seguimiento del comportamiento de los agentes, monitorear métricas de rendimiento y mantener registros de auditoría. La combinación de Strands Agents SDK, SageMaker AI y MLflow crea un marco poderoso para crear, implementar y monitorear agentes de IA que puede personalizar para satisfacer sus necesidades comerciales específicas.

Próximos pasos

Para comenzar a crear sus propios agentes de IA utilizando este enfoque, recomendamos los siguientes recursos:

Si sigue los pasos descritos en esta publicación, puede crear agentes de IA sofisticados que puedan aprovechar todo el poder de la infraestructura flexible de SageMaker AI y las capacidades integrales de observabilidad de MLflow. ¡Estamos emocionados de ver lo que construirás!

Sobre los autores

Dheeraj Hegde

Dheeraj Hegde es arquitecto senior de soluciones especializado en Amazon Web Services, centrado en IA generativa y aprendizaje automático. Ayuda a los clientes a diseñar y construir agentes de IA y arquitecturas de agentes, aprovechando su profunda experiencia en aprendizaje automático para ofrecer soluciones de IA generativa listas para producción.

Gi Kim

Gi Kim es arquitecto senior de soluciones especializado en Amazon Web Services, especializado en IA generativa y aprendizaje automático. Se asocia con clientes para diseñar sistemas inteligentes basados ​​en agentes en AWS, combinando su experiencia en aprendizaje automático con una pasión por ampliar los límites de lo que los agentes autónomos de IA pueden lograr.