跳到主要内容

跟踪 Google 智能体开发工具包 (ADK)

Google ADK Tracing

MLflow 跟踪为 Google 开发的灵活且模块化的 AI 智能体框架 Google ADK 提供了自动跟踪功能。MLflow 通过 OpenTelemetry 集成支持对 Google ADK 的跟踪。

步骤 1:安装库

bash
pip install 'mlflow[genai]>=3.6.0' google-adk opentelemetry-exporter-otlp-proto-http

步骤 2:启动 MLflow Tracking Server

使用基于 SQL 的后端存储启动 MLflow Tracking Server

bash
mlflow server --backend-store-uri sqlite:///mlflow.db --port 5000

本示例使用 SQLite 作为后端存储。要使用其他类型的 SQL 数据库(如 PostgreSQL、MySQL 和 MSSQL),请按照 后端存储文档 中的说明更改存储 URI。文件型后端存储不支持 OpenTelemetry 摄取。

步骤 3:配置 OpenTelemetry

配置 OpenTelemetry 跟踪器,将跟踪数据导出到 MLflow 跟踪服务器端点。

  • 将端点设置为 MLflow 跟踪服务器的 /v1/traces 端点 (OTLP)。
  • x-mlflow-experiment-id 标头设置为 MLflow 实验 ID。如果还没有实验 ID,请通过 Python SDK 或 MLflow UI 创建一个。
bash
export OTEL_EXPORTER_OTLP_ENDPOINT=https://:5000
export OTEL_EXPORTER_OTLP_HEADERS=x-mlflow-experiment-id=123

步骤 4:运行代理

像往常一样在 Python 脚本 (如 my_agent/agent.py) 中定义和调用智能体。Google ADK 将为您的智能体生成跟踪数据并将其发送到 MLflow 跟踪服务器端点。要为 Google ADK 启用跟踪并将跟踪数据发送到 MLflow,请在运行智能体之前使用 OTLPSpanExporter 设置 OpenTelemetry 跟踪器提供程序。

python
# my_agent/agent.py
from google.adk.agents import LlmAgent
from google.adk.tools import FunctionTool

from opentelemetry import trace
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor

# Configure the tracer provider and add the exporter
tracer_provider = TracerProvider()
tracer_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter()))
trace.set_tracer_provider(tracer_provider)


def calculator(a: float, b: float) -> str:
"""Add two numbers and return the result.

Args:
a: First number
b: Second number

Returns:
The sum of a and b
"""
return str(a + b)


calculator_tool = FunctionTool(func=calculator)

root_agent = LlmAgent(
name="MathAgent",
model="gemini-2.0-flash-exp",
instruction=(
"You are a helpful assistant that can do math. "
"When asked a math problem, use the calculator tool to solve it."
),
tools=[calculator_tool],
)

使用 adk run 命令或 Web UI 运行智能体。

bash
adk run my_agent

https://:5000 打开 MLflow UI 并导航到实验以查看跟踪数据。

后续步骤

  • 评估代理:了解如何评估代理的性能。
  • 管理提示:了解如何管理代理的提示。
  • 自动代理优化:了解如何使用最先进的优化算法对代理进行端到端的自动优化。