Quiero solucionar el problema de la alta latencia de los agentes de Amazon Bedrock y optimizar su rendimiento.
Descripción corta
Los agentes de Amazon Bedrock utilizan capacidades de razonamiento para recuperar información de las bases de conocimiento que pueden provocar una latencia alta. Los siguientes factores afectan a los tiempos de respuesta de los agentes de Amazon Bedrock:
- Tamaño del modelo
- Estructura y complejidad de la petición
- Número de tokens de entrada y salida
- Conectividad de red e infraestructura regional de AWS
Resolución
Solución de problemas de latencia del agente
Actualización del tamaño del modelo
Si utilizas modelos fundacionales de gran tamaño y experimentas una latencia más alta, utiliza modelos más ligeros para los casos prácticos sensibles a la latencia. La latencia de invocación se escala con el recuento combinado de los tokens de entrada y salida. Para reducir el tamaño de los tokens de salida, puedes dar instrucciones a tu agente para que dé respuestas claras y breves a las consultas de los usuarios.
Nota: Amazon Bedrock publica automáticamente la métrica de latencia de invocación en Bedrock en Amazon CloudWatch. Para obtener más información, consulta Supervisión del rendimiento de Amazon Bedrock.
Revisión de las estrategias de orquestación
A medida que aumenta el número de invocaciones del modelo, también aumenta la latencia. Asegúrate de definir de manera eficiente las instrucciones de tu agente y tus funciones y parámetros. Si recibes respuestas lentas y tus casos prácticos no requieren características de orquestación, desactiva la orquestación para reducir la latencia. Las características como el preprocesamiento, la orquestación y el posprocesamiento pueden introducir un tiempo de procesamiento adicional.
Para desactivar las plantillas de orquestación, sigue estos pasos:
- Abre la consola de Amazon Bedrock en la región de AWS en la que esté desplegado tu agente.
- En el panel de navegación, expande Herramientas de creador y selecciona Agentes.
- Selecciona el agente y, a continuación, elige Editar en Agent Builder.
- En la sección Detalles de la estrategia de orquestación, selecciona Editar.
- Selecciona la pestaña Preprocesamiento y desactiva Activar plantilla de preprocesamiento.
- Selecciona la pestaña Posprocesamiento y desactiva Activar plantilla de posprocesamiento.
- Selecciona Guardar y salir.
Si usas una orquestación personalizada, configura la orquestación para optimizar el rendimiento. Proporciona instrucciones claras. Si incluyes instrucciones redundantes o ambiguas, puedes aumentar la carga cognitiva del modelo y afectar al tiempo de respuesta.
Comprobación de la configuración de red de Amazon Bedrock
Si usas AWS Lambda con una nube virtual privada (VPC) y experimentas interacciones de red lentas con Amazon Bedrock, es posible que el tráfico se dirija a través de la Internet pública. Para resolver este problema, utiliza AWS PrivateLink para configurar el acceso privado a Amazon Bedrock.
Activar CRIS
Si experimentas latencia durante los periodos de alta demanda regional, es posible que te encuentres con un cuello de botella regional. Para resolver este problema, aumenta el rendimiento con la inferencia entre regiones (CRIS) para distribuir las cargas de trabajo de inferencia en varias regiones.
Optimización del rendimiento de los agentes
Activación de las respuestas de streaming
Si tus resultados tienen un alto número de tokens, los usuarios deben esperar a recibir la respuesta completa. Para comprobar si tienes un número elevado de tokens, utiliza la métrica OutputTokenCount en CloudWatch. Para activar las respuestas en streaming, usa la API InvokeModelWithResponseStream para que el contenido llegue a medida que se genera.
Configuración de la base de conocimientos
Si no limitas la cantidad de fragmentos de documentos devueltos, el tiempo de generación de respuestas aumenta. Para resolver este problema, utiliza el parámetro numberOfResults para limitar la cantidad de fragmentos de documentos recuperados de la base de conocimientos.
Información relacionada
Supervisión de la invocación del modelo mediante Registros de CloudWatch y Amazon S3