使用 Galileo 进行智能体可观测性和评估¶
Galileo 是一个 AI 评估和可观测性平台,为 AI 应用提供端到端的追踪、评估和监控。Galileo 支持从 ADK 直接导入 OpenTelemetry (OTel) 追踪数据,包括智能体运行、工具调用和模型请求。
有关更多信息,请参阅 Galileo 官方提供的 Google ADK 集成 文档。
前置条件¶
- 一个 Galileo API 密钥
- 一个 Galileo 项目和日志流 (Log stream)
- 一个 Gemini API 密钥
安装依赖¶
或者,使用完整示例中的 requirements.txt。
设置环境变量¶
配置环境变量:
my_agent/.env
# Gemini 环境变量
GOOGLE_GENAI_USE_ENTERPRISE=0
GOOGLE_API_KEY="YOUR_API_KEY"
# Galileo 环境变量
GALILEO_API_KEY="YOUR_API_KEY"
GALILEO_PROJECT="YOUR_PROJECT"
GALILEO_LOG_STREAM="YOUR_LOG_STREAM"
配置 OpenTelemetry(必需){: #configure-opentelemetry-required }¶
在使用任何 ADK 组件之前,你必须配置 OTLP 导出器并设置全局追踪提供者,以便将 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
# OpenInference ADK 插桩
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-flash-latest",
name="root_agent",
description="获取指定城市的当前时间。",
instruction=(
"你是一个能够提供城市当前时间的助手。"
"请使用 'get_current_time' 工具来完成此任务。"
),
tools=[get_current_time],
)
使用以下命令运行智能体:
然后向它提问:
查看完整的 Google ADK + OpenTelemetry 示例项目 了解完整示例。
在 Galileo 中查看追踪数据¶
选择你的项目,检查日志流 (Log Stream) 中的追踪和 span 数据。

资源¶
- Galileo Google ADK 集成文档: 使用 OpenTelemetry 和 OpenInference 将 Google ADK 项目与 Galileo 集成的官方文档。
- Google ADK + OpenTelemetry 示例项目: 这是一个示例项目,演示如何将 Galileo 与 Google ADK 配合使用。该示例是一个完成的 Google ADK Python 快速入门, 并在此基础上集成了 Galileo 插桩。