Acelere el desarrollo de la IA empresarial utilizando Weights & Biases y Amazon Bedrock AgentCore

Esta publicación está coescrita por Thomas Capelle y Ray Strickland de Weights & Biases (W&B).

La adopción de la inteligencia artificial (IA) generativa se está acelerando en todas las empresas, evolucionando desde simples interacciones de modelos básicos hasta sofisticados flujos de trabajo agentes. A medida que las organizaciones pasan de las pruebas de conceptos a las implementaciones de producción, necesitan herramientas sólidas para el desarrollo, la evaluación y el monitoreo de aplicaciones de IA a escala.

En esta publicación, demostramos cómo utilizar Foundation Models (FM) de Amazon Bedrock y el recientemente lanzado Amazon Bedrock AgentCore junto con W&B Weave para ayudar a construir, evaluar y monitorear soluciones de IA empresarial. Cubrimos el ciclo de vida completo del desarrollo, desde el seguimiento de llamadas FM individuales hasta el seguimiento de flujos de trabajo complejos de agentes en producción.

Descripción general del tejido W&B

Weights & Biases (W&B) es un sistema de desarrollo de inteligencia artificial que proporciona herramientas integrales para entrenar modelos, ajustar y aprovechar modelos básicos para empresas de todos los tamaños en diversas industrias.

W&B Weave ofrece un conjunto unificado de herramientas de desarrollo para respaldar cada etapa de sus flujos de trabajo de IA agente. Permite:

Seguimiento y supervisión: realice un seguimiento de las llamadas a modelos de lenguaje grandes (LLM) y de la lógica de aplicaciones para depurar y analizar sistemas de producción. Iteración sistemática: refine e itere solicitudes, conjuntos de datos y modelos. Experimentación: experimente con diferentes modelos e indicaciones en LLM Playground. Evaluación: utilice puntuaciones personalizadas o prediseñadas junto con nuestras herramientas de comparación para evaluar y mejorar sistemáticamente el rendimiento de las aplicaciones. Recopile comentarios de usuarios y expertos para pruebas y evaluaciones en la vida real. Guardrails: ayude a proteger su aplicación con medidas de seguridad para la moderación de contenido, seguridad inmediata y más. Utilice barandillas personalizadas o de terceros (incluidas las barandillas Amazon Bedrock) o barandillas nativas de W&B Weave.

W&B Weave puede ser administrado completamente por Weights & Biases en un entorno multiinquilino o de un solo inquilino o puede implementarse directamente en la nube privada virtual (VPC) de Amazon de un cliente. Además, la integración de W&B Weave en la plataforma de desarrollo de W&B proporciona a las organizaciones una experiencia perfectamente integrada entre el flujo de trabajo de capacitación/ajuste del modelo y el flujo de trabajo de IA agente.

Para comenzar, suscríbase a la plataforma de desarrollo de IA de Weights & Biases a través de AWS Marketplace. Las personas y los equipos académicos pueden suscribirse a W&B sin costo adicional.

Seguimiento de Amazon Bedrock FM con W&B Weave SDK

W&B Weave se integra perfectamente con Amazon Bedrock a través de los SDK de Python y TypeScript. Después de instalar la biblioteca y parchear su cliente Bedrock, W&B Weave rastrea automáticamente las llamadas de LLM:

!pip install weave import weave import boto3 import json from weave.integrations.bedrock.bedrock_sdk import patch_client weave.init("my_bedrock_app") # Crea y parchea el cliente Bedrock client = boto3.client("bedrock-runtime") patch_client(client) # Usa el cliente como de costumbre respuesta = client.invoke_model( modelId="anthropic.claude-3-5-sonnet-20240620-v1:0", body=json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 100, "messages": [ {"role": "user", "content": "¿Cuál es la capital de Francia?"} ] }), contentType="aplicación/json", aceptar="aplicación/json" ) respuesta_dict = json.loads(response.get('body').read()) print(response_dict["contenido"][0]["texto"])

Esta integración versiona automáticamente los experimentos y realiza un seguimiento de las configuraciones, lo que proporciona una visibilidad completa de sus aplicaciones de Amazon Bedrock sin modificar la lógica central.

Experimentando con Amazon Bedrock FM en W&B Weave Playground

W&B Weave Playground acelera la ingeniería rápida con una interfaz intuitiva para probar y comparar modelos Bedrock. Las características clave incluyen:

Edición directa de mensajes y reintento de mensajes Comparación de modelos en paralelo Acceso desde vistas de seguimiento para una iteración rápida

Para comenzar, agregue sus credenciales de AWS en la configuración de Playground, seleccione sus FM de Amazon Bedrock preferidos y comience a experimentar. La interfaz permite una iteración rápida de las indicaciones mientras mantiene la trazabilidad completa de los experimentos.

Evaluación de Amazon Bedrock FM con evaluaciones de tejido W&B

W&B Weave Assessments proporciona herramientas dedicadas para evaluar modelos de IA generativa de forma eficaz. Al aprovechar W&B Weave Assessments junto con Amazon Bedrock, los usuarios pueden evaluar eficientemente estos modelos, analizar resultados y visualizar el rendimiento en métricas clave. Los usuarios pueden utilizar puntajes integrados de W&B Weave, puntajes personalizados o de terceros, y también comentarios humanos/expertos. Esta combinación permite una comprensión más profunda de las compensaciones entre modelos, como las diferencias en costo, precisión, velocidad y calidad de salida.

W&B Weave tiene una forma de primera clase de realizar un seguimiento de las evaluaciones con clases de Modelo y Evaluación. Para configurar un trabajo de evaluación, los clientes pueden:

Defina un conjunto de datos o una lista de diccionarios con una colección de ejemplos para evaluar. Cree una lista de funciones de puntuación. Cada función debe tener una salida_modelo y, opcionalmente, otras entradas de sus ejemplos, y devolver un diccionario con las puntuaciones. Definir un modelo de Amazon Bedrock mediante la clase Modelo. Evaluar este modelo llamando a Evaluación.

A continuación se muestra un ejemplo de configuración de un trabajo de evaluación:

import weave from weave import Evaluación import asyncio # Recopile sus ejemplos ejemplos = [ {"question": "¿Cuál es la capital de Francia?", "expected": "Paris"}, {"question": "¿Quién escribió 'Matar a un ruiseñor'?", "expected": "Harper Lee"}, {"question": "¿Cuál es la raíz cuadrada de 64?", "expected": "8"}, ] # Definir cualquier función de puntuación personalizada @weave.op() def match_score1(expected: str, output: dict) -> dict: # Aquí es donde definirías la lógica para calificar la salida del modelo return {'match': esperado == model_output['generated_text']} @weave.op() def function_to_evaluate(question: str): # aquí es donde agregarías tu llamada LLM y devolverías la salida return {'generated_text': 'Paris'} # Califique sus ejemplos usando funciones de puntuación evaluación = Evaluación( conjunto de datos=ejemplos, puntajes=[match_score1] ) # Comience a rastrear la evaluación weave.init('intro-example') # Ejecute la evaluación asyncio.run(evaluación.evaluate(function_to_evaluate))

El panel de evaluación visualiza métricas de rendimiento, lo que permite tomar decisiones informadas sobre la selección y configuración del modelo. Para obtener orientación detallada, consulte nuestra publicación anterior sobre la evaluación del resumen de LLM con Amazon Bedrock and Weave.

Mejora de la observabilidad de Amazon Bedrock AgentCore con W&B Weave

Amazon Bedrock AgentCore es un conjunto completo de servicios para implementar y operar agentes altamente capaces de forma más segura a escala empresarial. Proporciona entornos de ejecución más seguros, herramientas de ejecución de flujo de trabajo y controles operativos que funcionan con marcos populares como Strands Agents, CrewAI, LangGraph y LlamaIndex, así como muchos modelos LLM, ya sea de Amazon Bedrock o de fuentes externas.

AgentCore incluye observabilidad integrada a través de paneles de Amazon CloudWatch que rastrean métricas clave como el uso de tokens, la latencia, la duración de la sesión y las tasas de error. También rastrea los pasos del flujo de trabajo, mostrando qué herramientas se invocaron y cómo respondió el modelo, proporcionando visibilidad esencial para la depuración y el control de calidad en la producción.

Cuando trabajan juntos con AgentCore y W&B Weave, los equipos pueden utilizar las bases de seguridad y monitoreo operativo integradas de AgentCore y al mismo tiempo usar W&B Weave si se alinea con sus flujos de trabajo de desarrollo existentes. Las organizaciones que ya han invertido en el entorno de W&B pueden optar por incorporar las herramientas de visualización de W&B Weave junto con las capacidades nativas de AgentCore. Este enfoque brinda a los equipos flexibilidad para utilizar la solución de observabilidad que mejor se adapte a sus procesos y preferencias establecidos al desarrollar agentes complejos que encadenan múltiples herramientas y pasos de razonamiento.

Hay dos enfoques principales para agregar observabilidad de W&B Weave a sus agentes AgentCore: usar el SDK nativo de W&B Weave o integrarlo a través de OpenTelemetry.

SDK de tejido nativo de W&B

El enfoque más sencillo es utilizar el decorador @weave.op de W&B Weave para realizar un seguimiento automático de las llamadas a funciones. Inicialice W&B Weave con el nombre de su proyecto y ajuste las funciones que desea monitorear:

import weave import os os.environ["WANDB_API_KEY"] = "your_api_key" weave.init("your_project_name") @weave.op() def word_count_op(text: str) -> int: return len(text.split()) @weave.op() def run_agent(agent: Agent, user_message: str) -> Dict[str, Any]: resultado = agente(mensaje_usuario) return {"mensaje": resultado.mensaje, "modelo": agente.model.config["model_id"]}

Dado que AgentCore se ejecuta como un contenedor acoplable, agregue W&B weave a sus dependencias (por ejemplo, uv add weave) para incluirlo en la imagen de su contenedor.

Integración de OpenTelemetry

Para los equipos que ya utilizan OpenTelemetry o que desean instrumentación independiente del proveedor, W&B Weave admite OTLP (Protocolo OpenTelemetry) directamente:

desde opentelemetry importar seguimiento desde opentelemetry.exporter.otlp.proto.http.trace_exporter importar OTLPSpanExporter auth_b64 = base64.b64encode(f"api:{WANDB_API_KEY}".encode()).decode() exportador = OTLPSpanExporter( endpoint="https://trace.wandb.ai/otel/v1/traces", headers={"Authorization": f"Basic {auth_b64}", "project_id": WEAVE_PROJECT} ) # Cree intervalos para realizar un seguimiento de la ejecución con tracer.start_as_current_span("invoke_agent") como intervalo: span.set_attribute("input.value", json.dumps({"prompt": user_message})) result = agent(user_message) span.set_attribute("output.value", json.dumps({"message": resultado.message}))

Este enfoque mantiene la compatibilidad con la infraestructura OpenTelemetry existente de AgentCore al tiempo que enruta los seguimientos a W&B Weave para su visualización. Cuando se utilizan AgentCore y W&B Weave juntos, los equipos tienen múltiples opciones de observabilidad. La integración de CloudWatch de AgentCore monitorea el estado del sistema, la utilización de recursos y las tasas de error al tiempo que proporciona seguimiento para el razonamiento de los agentes y la selección de herramientas. W&B Weave ofrece capacidades de visualización que presentan datos de ejecución en formatos familiares para los equipos que ya utilizan el entorno W&B. Ambas soluciones brindan visibilidad sobre cómo los agentes procesan la información y toman decisiones, lo que permite a las organizaciones elegir el enfoque de observabilidad que mejor se alinee con sus flujos de trabajo y preferencias existentes. Este enfoque de doble capa significa que los usuarios pueden:

Supervise los acuerdos de nivel de servicio (SLA) de producción a través de alertas de CloudWatch. Depure comportamientos complejos de los agentes en el explorador de seguimiento de W&B Weave. Optimice el uso de tokens y la latencia con desgloses de ejecución detallados. Compare el rendimiento de los agentes en diferentes avisos y configuraciones.

La integración requiere cambios mínimos de código, preserva su implementación de AgentCore existente y escala con la complejidad de su agente. Ya sea que esté creando agentes de llamada de herramientas simples u organizando flujos de trabajo de varios pasos, esta pila de observabilidad proporciona la información necesaria para iterar rápidamente e implementar con confianza.

Para obtener detalles de implementación y ejemplos de código completos, consulte nuestra publicación anterior.

Conclusión

En esta publicación, demostramos cómo crear y optimizar soluciones de IA agente de nivel empresarial combinando FM y AgentCore de Amazon Bedrock con el completo conjunto de herramientas de observabilidad de W&B Weave. Exploramos cómo W&B Weave puede mejorar cada etapa del ciclo de vida de desarrollo de LLM, desde la experimentación inicial en Playground hasta la evaluación sistemática del rendimiento del modelo y, finalmente, el monitoreo de producción de flujos de trabajo de agentes complejos.

La integración entre Amazon Bedrock y W&B Weave proporciona varias capacidades clave:

Seguimiento automático de llamadas de Amazon Bedrock FM con cambios mínimos de código utilizando el SDK de W&B Weave Experimentación rápida a través de la interfaz intuitiva de W&B Weave Playground para probar indicaciones y comparar modelos Evaluación sistemática con funciones de puntuación personalizadas para evaluar diferentes modelos de Amazon Bedrock Observabilidad integral para implementaciones de AgentCore, con métricas de CloudWatch que brindan un monitoreo operativo más sólido complementado con seguimientos de ejecución detallados

Para empezar:

Solicite una prueba gratuita o suscríbase a la plataforma de desarrollo de IA de Weights & Biases a través de AWS Marketplace. Instale el SDK de W&B Weave y siga nuestros ejemplos de código para comenzar a rastrear sus llamadas de Bedrock FM. Experimente con diferentes modelos en W&B Weave Playground agregando sus credenciales de AWS y probando varios FM de Amazon Bedrock. Configure evaluaciones utilizando el marco de evaluación de W&B Weave para comparar sistemáticamente el rendimiento del modelo para sus casos de uso. Mejore sus agentes AgentCore agregando observabilidad de W&B Weave utilizando el SDK nativo o la integración de OpenTelemetry.

Comience con una integración simple para rastrear sus llamadas de Amazon Bedrock y luego adopte progresivamente funciones más avanzadas a medida que sus aplicaciones de IA crezcan en complejidad. La combinación de las herramientas de desarrollo integrales de Amazon Bedrock y W&B Weave proporciona la base necesaria para crear, evaluar y mantener soluciones de IA listas para producción a escala.

Sobre los autores

James Yi es arquitecto senior de soluciones de socios de IA/ML en AWS. Encabeza las asociaciones estratégicas de AWS en tecnologías emergentes, guiando a los equipos de ingeniería para diseñar y desarrollar soluciones conjuntas de vanguardia en IA generativa. Permite que los equipos técnicos y de campo implementen, operen, protejan e integren sin problemas soluciones de socios en AWS. James colabora estrechamente con líderes empresariales para definir y ejecutar estrategias conjuntas de comercialización, impulsando el crecimiento empresarial basado en la nube. Fuera del trabajo, le gusta jugar fútbol, ​​viajar y pasar tiempo con su familia.

Ray Strickland es arquitecto de soluciones de socios senior en AWS y se especializa en IA/ML, IA agente y procesamiento inteligente de documentos. Permite a los socios implementar soluciones de IA generativa escalables utilizando las mejores prácticas de AWS e impulsa la innovación a través de programas de habilitación de socios estratégicos. Ray colabora con varios equipos de AWS para acelerar la adopción de la IA y tiene una amplia experiencia en la evaluación y habilitación de socios.

Thomas Capelle es ingeniero de aprendizaje automático en Weights & Biases. Es responsable de mantener el repositorio www.github.com/wandb/examples activo y actualizado. También crea contenido sobre MLOPS, aplicaciones de W&B para industrias y aprendizaje profundo divertido en general. Anteriormente utilizó el aprendizaje profundo para resolver pronósticos a corto plazo para la energía solar. Tiene experiencia en planificación urbana, optimización combinatoria, economía del transporte y matemáticas aplicadas.

Scott Juang es el director de alianzas de Weights & Biases. Antes de W&B, dirigió varias alianzas estratégicas en AWS y Cloudera. Scott estudió Ingeniería de Materiales y le apasionan las energías renovables.