Skip to content

使用 Galileo 进行智能体可观测性和评估

Galileo 是一个 AI 评估和可观测性平台,为 AI 应用程序提供端到端的追踪、评估和监控。Galileo 支持从 ADK 直接导入 OpenTelemetry (OTel) 追踪数据,包括智能体运行、工具调用和模型请求。

欲了解更多信息,请参阅 Galileo 的 Google ADK 集成文档。

前提条件

安装依赖

pip install google-adk openinference-instrumentation-google-adk python-dotenv galileo

或者,也可以使用完整示例中的 requirements.txt

设置环境变量

配置环境变量:

my_agent/.env
# Gemini 环境变量
GOOGLE_GENAI_USE_VERTEXAI=0
GOOGLE_API_KEY="你的_API_密钥"

# Galileo 环境变量
GALILEO_API_KEY="你的_API_密钥"
GALILEO_PROJECT="你的_项目"
GALILEO_LOG_STREAM="你的_日志流"

配置 OpenTelemetry(必选)

在使用任何 ADK 组件之前,你必须配置一个 OTLP 导出器(exporter)并设置全局追踪器提供者(tracer provider),以便将 span 发送到 Galileo。

# my_agent/agent.py

from dotenv import load_dotenv

load_dotenv()

# OpenTelemetry 导入
from opentelemetry.sdk import trace as trace_sdk

# Galileo span 处理器(自动从环境变量配置 OTLP 标头和端点)
from galileo import otel

# 针对 ADK 的 OpenInference 仪表化
from openinference.instrumentation.google_adk import GoogleADKInstrumentor

# 创建追踪器提供者并注册 Galileo span 处理器
tracer_provider = trace_sdk.TracerProvider()
galileo_span_processor = otel.GalileoSpanProcessor()
tracer_provider.add_span_processor(galileo_span_processor)

# 使用 OpenInference 对 Google ADK 进行仪表化(这将捕获输入/输出)
GoogleADKInstrumentor().instrument(tracer_provider=tracer_provider)

示例:追踪一个 ADK 智能体

在设置了 OTLP 导出器和追踪器提供者的代码之后,你现在可以为一个简单的获取当前时间的智能体添加代码:

# my_agent/agent.py

from google.adk.agents import Agent

def get_current_time(city: str) -> dict:
    """返回指定城市的当前时间。"""
    return {"status": "success", "city": city, "time": "10:30 AM"}


root_agent = Agent(
    model="gemini-3-flash-preview",
    name="root_agent",
    description="告知指定城市的当前时间。",
    instruction=(
        "你是一个乐于助人的助手,能够告知城市中的当前时间。"
        "为此请使用 'get_current_time' 工具。"
    ),
    tools=[get_current_time],
)

运行该智能体:

adk run my_agent

并向它提问:

伦敦现在几点?
[root_agent]: 伦敦当前的时间是 10:30 AM。

查看完整的 Google ADK + OpenTelemetry 示例项目以获取完整代码。

在 Galileo 中查看追踪结果

选择你的项目,然后在日志流(Log Stream)中检查追踪(trace)和 span。

Galileo Traces

相关资源