La observability de modelos de lenguaje extensos (LLM) le permite observar las aplicaciones AgentScope mediante un probe de Python. Este probe es una herramienta propietaria de recopilación de observability desarrollada por Alibaba Cloud que implementa la instrumentación automática con base en los estándares de OpenTelemetry. En este tema se describe cómo integrar las aplicaciones AgentScope con ARMS Application Monitoring para monitorear el estado operativo en tiempo real de sus aplicaciones de IA.
Introducción al framework
AgentScope es un framework de código abierto para el desarrollo de aplicaciones multiagente creado por Alibaba Cloud. Ofrece diversos tipos de agentes, como ReActAgent, y adaptadores de modelos integrados para servicios como DashScope y OpenAI. También admite la invocación de herramientas, la gestión de memoria y la colaboración entre múltiples agentes.
Tras la integración, se monitorean automáticamente las siguientes capacidades:
Trazas de ejecución de los agentes
Llamadas a LLM, incluido el uso de tokens y el contenido de entrada y salida de cada llamada al modelo
Trazas de invocación de herramientas, con los detalles de cada herramienta del conjunto disponible
Pasos de ReAct, incluida la observación de las acciones en cada iteración del ciclo
Métodos de integración
ACK y ACS
Si su aplicación se ejecuta en un clúster de Container Service for Kubernetes (ACK) o de Container Compute Service (ACS), instale el componente ack-onepilot y agregue etiquetas a su carga de trabajo para habilitar el monitoreo. No es necesario modificar el código.
Paso 1: Instalar ack-onepilot
Inicie sesión en la . En la página Clusters, haga clic en el nombre del clúster.
En el panel de navegación izquierdo, haga clic en Add-ons y busque ack-onepilot en la esquina superior derecha.
-
En la tarjeta ack-onepilot, haga clic en Install. Configure los parámetros (se recomienda usar los valores predeterminados) y luego haga clic en OK.
NotaAsegúrese de que el componente ack-onepilot sea de la versión 5.1.1 o posterior. La versión se muestra en la tarjeta del componente antes de la instalación. Si tiene instalada una versión anterior, haga clic en Upgrade en lugar de Install.
Paso 2: Modificar las configuraciones para la observability de IA
Inicie sesión en la consola de Container Service for Kubernetes (ACK). En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre del clúster de destino. En el panel de navegación izquierdo, elija . El mismo procedimiento aplica para StatefulSets y DaemonSets.
Vaya al namespace de la carga de trabajo de destino. Busque la carga de trabajo, haga clic en el ícono More
de la columna Actions y seleccione Edit YAML.-
Agregue las siguientes
labelsen el nivel spec > template > metadata de su archivo YAML. Luego, haga clic en Update.labels: aliyun.com/app-language: python # Required for Python applications. Specifies that this is a Python application. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "deployment-name" # The display name of the application in ARMS.
Integración manual
Paso 1: Descargar el instalador del probe aliyun-bootstrap
Descargue el instalador del probe desde PyPI.
pip3 install aliyun-bootstrap
Paso 2: Configurar las variables de entorno
Debe agregar manualmente las siguientes variables de entorno para su aplicación de Python:
# Method 1: Add environment variables for all processes in the current shell.
export ARMS_APP_NAME=xxx # The application name.
export ARMS_REGION_ID=xxx # The region ID of your Alibaba Cloud account.
export ARMS_LICENSE_KEY=xxx # Your Alibaba Cloud license key.
# Method 2: Set environment variables for a single process
ARMS_APP_NAME=xxx ARMS_REGION_ID=xxx ARMS_LICENSE_KEY=xxx aliyun-instrument xxx.py
Para obtener la clave de licencia, consulte el campo authToken en la respuesta de la operación de API GetApplicationObservability.
Opcional: Instalación con Docker
Para entornos de Docker, modifique su Dockerfile con base en el siguiente ejemplo.
# Add environment variables
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}
## Original environment
Paso 3: Instalar el agente de Python
-
Para acelerar la instalación, configure el repositorio espejo con el siguiente comando:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com -
Instale el agente.
aliyun-bootstrap -a install
Paso 4: Iniciar la aplicación
Inicio con el agente de Python de ARMS
aliyun-instrument python app.py
Código de ejemplo
import asyncio
import os
from agentscope.agent import ReActAgent
from agentscope.formatter import DashScopeChatFormatter
from agentscope.message import Msg, TextBlock
from agentscope.model import DashScopeChatModel
from agentscope.tool import Toolkit, ToolResponse
def get_weather(city: str) -> ToolResponse:
weather_data = {
"Beijing": "Sunny 25°C",
"Shanghai": "Cloudy 22°C",
"Hangzhou": "Light rain 20°C",
}
result = weather_data.get(city, f"{city}: No weather data available")
return ToolResponse(content=[TextBlock(type="text", text=result)])
def search_info(keyword: str) -> ToolResponse:
info = {
"West Lake": "West Lake in Hangzhou is a famous freshwater lake, UNESCO World Heritage",
"Great Wall": "Ancient Chinese defensive structure, UNESCO World Heritage",
}
result = info.get(keyword, f"No information found for '{keyword}'")
return ToolResponse(content=[TextBlock(type="text", text=result)])
async def main():
model = DashScopeChatModel(
model_name=os.environ.get("MODEL_NAME", "qwen-plus"),
api_key=os.environ.get("DASHSCOPE_API_KEY"),
)
toolkit = Toolkit()
toolkit.register_tool_function(get_weather)
toolkit.register_tool_function(search_info)
agent = ReActAgent(
name="TravelAgent",
sys_prompt="You are a travel assistant. Use tools to query weather and travel info.",
model=model,
formatter=DashScopeChatFormatter(),
toolkit=toolkit,
max_iters=5,
)
msg = Msg(
name="user",
content="What's the weather in Hangzhou today? Is West Lake worth visiting?",
role="user",
)
result = await agent(msg)
print(result.content)
asyncio.run(main())
Consulta de los detalles de monitoreo
En la consola de Cloud Monitor 2.0, vaya a la página LLM Application Monitoring > Application List. Haga clic en el nombre de la aplicación de IA de destino para consultar sus datos de monitoreo detallados.
