Amazon Bedrock

Información general

Monitoriza, soluciona problemas y evalúa tus aplicaciones impulsadas por LLM, como chatbots o herramientas de extracción de datos, con Amazon Bedrock.

Si creas aplicaciones de LLM, usa la observabilidad de LLM para investigar la causa raíz de los problemas, monitorizar el rendimiento operativo y evaluar la calidad, la privacidad y la seguridad de tus aplicaciones de LLM.

Ve el vídeo sobre la vista de rastreo de observabilidad de LLM para obtener un ejemplo acerca de cómo puedes investigar una traza (trace).

Amazon Bedrock es un servicio totalmente gestionado que pone a disposición modelos fundacionales (FMs) de Amazon y de empresas emergentes de IA líderes a través de una API, de modo que puedas elegir entre varios FMs para encontrar el modelo que mejor se adapte a tu caso de uso.

Habilita esta integración para ver todas tus métricas de Bedrock en Datadog.

Configuración

Observabilidad de LLM: obtén visibilidad integral de tu aplicación de LLM con Amazon Bedrock

Puedes habilitar la observabilidad de LLM en diferentes entornos. Sigue la configuración adecuada en función de tu caso:

Instalación para Python

Si no tienes el Datadog Agent:
  1. Instala el paquete ddtrace:
  pip install ddtrace
  1. Inicia tu aplicación con el siguiente comando y habilita el modo sin Agent:
  DD_SITE=<YOUR_DATADOG_SITE> DD_API_KEY=<YOUR_API_KEY> DD_LLMOBS_ENABLED=1 DD_LLMOBS_AGENTLESS_ENABLED=1 DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME> ddtrace-run python <YOUR_APP>.py
Si ya tienes instalado el Datadog Agent:
  1. Asegúrate de que el Agent se encuentre en ejecución y de que se haya habilitado APM y StatsD. Por ejemplo, usa el siguiente comando con Docker:
docker run -d \
  --cgroupns host \
  --pid host \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v /proc/:/host/proc/:ro \
  -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
  -e DD_API_KEY=<DATADOG_API_KEY> \
  -p 127.0.0.1:8126:8126/tcp \
  -p 127.0.0.1:8125:8125/udp \
  -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true \
  -e DD_APM_ENABLED=true \
  gcr.io/datadoghq/agent:latest
  1. Si aún no lo has hecho, instala el paquete ddtrace.
  pip install ddtrace
  1. Inicia tu aplicación con el comando ddtrace-run para habilitar el rastreo de manera automática:
   DD_SITE=<YOUR_DATADOG_SITE> DD_API_KEY=<YOUR_API_KEY> DD_LLMOBS_ENABLED=1 DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME> ddtrace-run python <YOUR_APP>.py

Nota: Si el Agent se ejecuta en un host o puerto personalizado, configura DD_AGENT_HOST y DD_TRACE_AGENT_PORT según corresponda.

Si ejecutas la observabilidad de LLM en un entorno serverless (AWS Lambda):
  1. Instala las capas de Lambda Datadog-Python y Datadog-Extension como parte de tu configuración de AWS Lambda.
  2. Habilita la observabilidad de LLM al configurar las siguientes variables de entorno:
   DD_SITE=<YOUR_DATADOG_SITE> DD_API_KEY=<YOUR_API_KEY> DD_LLMOBS_ENABLED=1 DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME>

Nota: En entornos serverless, Datadog vacía de manera automática los tramos (spans) cuando la función de Lambda termina de ejecutarse.

Rastreo automático de Amazon Bedrock

La integración de Amazon Bedrock se habilita de manera automática cuando se configura la observabilidad de LLM. Esto captura latencia, errores, mensajes de entrada y salida, así como el uso de tokens para llamadas de Amazon Bedrock.

Se rastrean los siguientes métodos tanto para operaciones sincrónicas como transmitidas de Amazon Bedrock:

  • InvokeModel()
  • InvokeModelWithResponseStream()

No se requiere configuración adicional para estos métodos.

Validación

Valida que la observabilidad de LLM capture tramos de manera adecuada al comprobar los logs de tu aplicación a fin de verificar si se crean de forma correcta. También puedes ejecutar el siguiente comando para comprobar el estado de la integración ddtrace:

ddtrace-run --info

Busca el siguiente mensaje para confirmar la configuración:

Agent error: None
Depuración

Si tienes problemas durante la configuración, habilita el registro de depuración al pasar la marca --debug:

ddtrace-run --debug

Aquí se muestran todos los errores relacionados con la instrumentación o transmisión de datos, incluidos los problemas con las trazas de Amazon Bedrock.

APM: obtén métricas de uso para aplicaciones de Python

Si aún no lo has hecho, configura la integración Amazon Web Services.

Recopilación de métricas

  1. En la página de la integración de AWS, asegúrate de que Bedrock se encuentre habilitado en la pestaña Metric Collection (Recopilación de métricas).
  2. Instala la integración de Datadog con Amazon Bedrock.

Datos recopilados

Métricas

aws.bedrock.content_filtered_count
(count)
The total number of times the text output content was filtered.
Shown as time
aws.bedrock.input_token_count
(gauge)
The average number of input tokens used in prompts invoked for a model.
Shown as token
aws.bedrock.input_token_count.maximum
(gauge)
The maximum number of input tokens used in prompts invoked for a model.
Shown as token
aws.bedrock.input_token_count.minimum
(gauge)
The minimum number of input tokens used in prompts invoked for a model.
Shown as token
aws.bedrock.input_token_count.sum
(count)
The total number of input tokens used in prompts invoked for a model.
Shown as token
aws.bedrock.invocation_client_errors
(count)
The number of client invocation errors.
Shown as error
aws.bedrock.invocation_latency
(gauge)
Average latency of the invocations in milliseconds.
Shown as millisecond
aws.bedrock.invocation_latency.maximum
(gauge)
The maximum invocation latency over a 1 minute period.
Shown as millisecond
aws.bedrock.invocation_latency.minimum
(gauge)
The minimum invocation latency over a 1 minute period.
Shown as millisecond
aws.bedrock.invocation_latency.p90
(gauge)
The 90th percentile of invocation latency over a 1 minute period.
Shown as millisecond
aws.bedrock.invocation_latency.p95
(gauge)
The 95th percentile of invocation latency over a 1 minute period.
Shown as millisecond
aws.bedrock.invocation_latency.p99
(gauge)
The 99th percentile of invocation latency over a 1 minute period.
Shown as millisecond
aws.bedrock.invocation_server_errors
(count)
The number of server invocation errors.
Shown as error
aws.bedrock.invocation_throttles
(count)
The number of invocation throttles.
Shown as throttle
aws.bedrock.invocations
(count)
The number of invocations sent to a model endpoint.
Shown as invocation
aws.bedrock.output_image_count
(gauge)
The average number of output images returned by model invocations over a 1 minute period.
Shown as item
aws.bedrock.output_token_count
(gauge)
The average number of output tokens returned by model invocations over a 1 minute period.
Shown as token
aws.bedrock.output_token_count.maximum
(gauge)
The maximum number of output tokens returned by model invocations over a 1 minute period.
Shown as token
aws.bedrock.output_token_count.minimum
(gauge)
The minimum number of output tokens returned by model invocations over a 1 minute period.
Shown as token
aws.bedrock.output_token_count.sum
(count)
The total number of output tokens returned by all model invocations.
Shown as token

Eventos

La integración de Amazon Bedrock no incluye eventos.

Checks de servicio

La integración de Amazon Bedrock no incluye checks de servicio.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.

Referencias adicionales

Más enlaces, artículos y documentación útiles: