ADK 智能体的 MLflow AI 网关¶
Supported in ADKPython
MLflow AI Gateway 是一个基于数据库的 LLM 代理,内置于 MLflow 跟踪服务器(MLflow ≥ 3.0)。它为数十家提供商提供统一的兼容 OpenAI 的 API,包括 Gemini、Anthropic、Mistral、Bedrock、Ollama 等,具有内置的密钥管理、回退/重试、流量拆分和预算跟踪功能,全部通过 MLflow UI 配置。
由于 MLflow AI Gateway 公开了一个兼容 OpenAI 的端点,你可以使用 LiteLLM 模型连接器将 ADK 智能体连接到它。
使用场景¶
- 多提供商路由:切换 LLM 提供商而无需更改智能体代码
- 密钥管理:提供商 API 密钥在服务器上加密存储;你的应用程序不发送提供商密钥
- 回退和重试:失败时自动故障转移到备份模型
- 预算跟踪:每个端点或每个用户的令牌预算
- 流量拆分:将请求百分比路由到不同模型以进行 A/B 测试
- 使用跟踪:每次调用自动记录为 MLflow 跟踪
前置条件¶
- MLflow 3.0 或更高版本
- 在你的环境中安装了 Google ADK 和 LiteLLM
设置¶
安装依赖项:
启动 MLflow 服务器:
MLflow UI 将在 http://localhost:5000 上可用。
通过导航到 http://localhost:5000 的 MLflow UI 创建网关端点,然后转到 AI 网关 → 创建端点。选择提供商(例如 Google Gemini)和模型(例如 gemini-flash-latest),然后输入你的提供商 API 密钥,该密钥将在服务器上加密存储。

See the MLflow AI Gateway documentation for more details on endpoint configuration.
与智能体配合使用¶
使用 LiteLlm 包装器,并将 api_base 指向 MLflow 网关的端点。model 参数应使用 openai/ 前缀后跟你的网关端点名称。
from google.adk.agents import LlmAgent
from google.adk.models.lite_llm import LiteLlm
# 指向 MLflow AI Gateway 端点。
# "my-chat-endpoint" 是你在 MLflow UI 中创建的端点名称。
agent = LlmAgent(
model=LiteLlm(
model="openai/my-chat-endpoint",
api_base="http://localhost:5000/gateway/openai/v1",
api_key="unused", # 提供商密钥由 MLflow 服务器管理
),
name="gateway_agent",
instruction="你是一个由 MLflow AI Gateway 驱动的得力助手。",
)
你可以在 MLflow UI 中重新配置网关端点来随时切换底层 LLM 提供商,无需更改 ADK 智能体代码。
提示¶
api_key参数是 LiteLLM 必需的,但网关不会验证它。将其设置为任何非空字符串。- 在代理后面或远程主机上时,将
localhost:5000替换为你的服务器地址。 - 结合 MLflow Tracing 为你的 ADK 智能体提供端到端的可观测性。
资源¶
- MLflow AI Gateway 文档:MLflow AI Gateway 的官方文档,涵盖端点管理、查询 API 和网关功能。
- ADK 的 MLflow Tracing:使用 MLflow Tracing 为你的 ADK 智能体设置可观测性。
- LiteLLM 模型连接器:用于将 ADK 智能体连接到兼容端点的 LiteLLM 包装器文档。