En esta página se explica cómo habilitar Cloud Trace en tu agente y ver las trazas para analizar los tiempos de respuesta de las consultas y las operaciones ejecutadas.
Una traza
es una cronología de las solicitudes a medida que tu agente responde a cada consulta. Por ejemplo, el siguiente gráfico de Gantt muestra un ejemplo de traza de un LangchainAgent
:
La primera fila del gráfico Gantt es para el seguimiento. Un rastreo se compone de spans individuales, que representan una sola unidad de trabajo, como una llamada a una función o una interacción con un LLM. El primer span representa la solicitud general. Cada intervalo proporciona detalles sobre una operación específica, como el nombre de la operación, las horas de inicio y finalización, y los atributos relevantes de la solicitud. Por ejemplo, el siguiente JSON muestra un único intervalo que representa una llamada a un modelo de lenguaje extenso (LLM):
{
"name": "llm",
"context": {
"trace_id": "ed7b336d-e71a-46f0-a334-5f2e87cb6cfc",
"span_id": "ad67332a-38bd-428e-9f62-538ba2fa90d4"
},
"span_kind": "LLM",
"parent_id": "f89ebb7c-10f6-4bf8-8a74-57324d2556ef",
"start_time": "2023-09-07T12:54:47.597121-06:00",
"end_time": "2023-09-07T12:54:49.321811-06:00",
"status_code": "OK",
"status_message": "",
"attributes": {
"llm.input_messages": [
{
"message.role": "system",
"message.content": "You are an expert Q&A system that is trusted around the world.\nAlways answer the query using the provided context information, and not prior knowledge.\nSome rules to follow:\n1. Never directly reference the given context in your answer.\n2. Avoid statements like 'Based on the context, ...' or 'The context information ...' or anything along those lines."
},
{
"message.role": "user",
"message.content": "Hello?"
}
],
"output.value": "assistant: Yes I am here",
"output.mime_type": "text/plain"
},
"events": [],
}
Para obtener más información, consulta la documentación de Cloud Trace sobre trazas e intervalos y contexto de traza.
Escribir trazas de un agente
Para escribir trazas de un agente, sigue estos pasos:
ADK
Para habilitar el rastreo de AdkApp
, especifica enable_tracing=True
cuando desarrolles un agente de Agent Development Kit.
Por ejemplo:
from vertexai.preview.reasoning_engines import AdkApp
from google.adk.agents import Agent
agent = Agent(
model=model,
name=agent_name,
tools=[get_exchange_rate],
)
app = AdkApp(
agent=agent, # Required.
enable_tracing=True, # Optional.
)
LangchainAgent
Para habilitar el rastreo de LangchainAgent
, especifica enable_tracing=True
cuando desarrolles un agente de LangChain.
Por ejemplo:
from vertexai.preview.reasoning_engines import LangchainAgent
agent = LangchainAgent(
model=model, # Required.
tools=[get_exchange_rate], # Optional.
enable_tracing=True, # [New] Optional.
)
LanggraphAgent
Para habilitar el rastreo de LanggraphAgent
, especifica enable_tracing=True
cuando desarrolles un agente de LangGraph.
Por ejemplo:
from vertexai.preview.reasoning_engines import LanggraphAgent
agent = LanggraphAgent(
model=model, # Required.
tools=[get_exchange_rate], # Optional.
enable_tracing=True, # [New] Optional.
)
LlamaIndex
Para habilitar el rastreo de LlamaIndexQueryPipelineAgent
, especifica enable_tracing=True
cuando desarrolles un agente de LlamaIndex.
Por ejemplo:
from vertexai.preview import reasoning_engines
def runnable_with_tools_builder(model, runnable_kwargs=None, **kwargs):
from llama_index.core.query_pipeline import QueryPipeline
from llama_index.core.tools import FunctionTool
from llama_index.core.agent import ReActAgent
llama_index_tools = []
for tool in runnable_kwargs.get("tools"):
llama_index_tools.append(FunctionTool.from_defaults(tool))
agent = ReActAgent.from_tools(llama_index_tools, llm=model, verbose=True)
return QueryPipeline(modules = {"agent": agent})
agent = reasoning_engines.LlamaIndexQueryPipelineAgent(
model="gemini-2.0-flash",
runnable_kwargs={"tools": [get_exchange_rate]},
runnable_builder=runnable_with_tools_builder,
enable_tracing=True, # Optional
)
Personalizado
Para habilitar el seguimiento de agentes personalizados, consulta los detalles en el artículo Seguimiento con OpenTelemetry.
De esta forma, se exportarán las trazas a Cloud Trace en el proyecto que se haya configurado en Configurar proyecto Google Cloud .
Ver las trazas de un agente
Puedes ver tus trazas con el Explorador de trazas:
Para obtener los permisos necesarios para ver los datos de traza en la consola o seleccionar un ámbito de traza, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Usuario de Cloud Trace (
roles/cloudtrace.user
) en tu proyecto. Google CloudVe a Trace Explorer en la consola de Google Cloud :
Selecciona tu Google Cloud proyecto (correspondiente a
PROJECT_ID
) en la parte superior de la página.
Para obtener más información, consulta la documentación de Cloud Trace.
Cuotas y límites
Es posible que algunos valores de atributos se trunquen cuando alcancen los límites de cuota. Para obtener más información, consulta la página Cuota de Cloud Trace.
Precios
Cloud Trace tiene un nivel gratuito. Para obtener más información, consulta los precios de Cloud Trace.