Skip to content

ADK 智能体的 Apigee AI 网关

Supported in ADKPython v1.18.0Java v0.4.0

Apigee 提供了一个强大的 AI 网关,改变了你管理和治理生成式 AI 模型流量的方式。通过 Apigee 代理公开你的 AI 模型端点(如 Vertex AI 或 Gemini API),你可以立即获得企业级功能:

  • 模型安全: 实施安全策略,如 Model Armor 以进行威胁防护。

  • 流量治理: 执行速率限制和令牌限制以管理成本并防止滥用。

  • 性能: 使用语义缓存和高级模型路由提高响应时间和效率。

  • 监控与可见性: 获得对所有 AI 请求的细粒度监控、分析和审计。

Note

ApigeeLLM 包装器当前设计用于 Vertex AI 和 Gemini API (generateContent)。我们正在不断扩展对其他模型和接口的支持。

示例实现

通过实例化 ApigeeLlm 包装器对象并将其传递给 LlmAgent 或其他智能体类型,将 Apigee 的治理集成到你的智能体工作流程中。

from google.adk.agents import LlmAgent
from google.adk.models.apigee_llm import ApigeeLlm

# 实例化 ApigeeLlm 包装器
model = ApigeeLlm(
    # 指定到你的模型的 Apigee 路由。有关更多信息,请查看 ApigeeLlm 文档 (https://github.com/google/adk-python/tree/main/contributing/samples/hello_world_apigeellm)。
    model="apigee/gemini-2.5-flash",
    # 已部署的 Apigee 代理的代理 URL,包括基本路径
    proxy_url=f"https://{APIGEE_PROXY_URL}",
    # 传递必要的身份验证/授权标头(如 API 密钥)
    custom_headers={"foo": "bar"}
)

# 将配置的模型包装器传递给你的 LlmAgent
agent = LlmAgent(
    model=model,
    name="my_governed_agent",
    instruction="You are a helpful assistant powered by Gemini and governed by Apigee.",
    # ... 其他智能体参数
)
import com.google.adk.agents.LlmAgent;
import com.google.adk.models.ApigeeLlm;
import com.google.common.collect.ImmutableMap;

ApigeeLlm apigeeLlm =
        ApigeeLlm.builder()
            .modelName("apigee/gemini-2.5-flash") // 指定到你的模型的 Apigee 路由。有关更多信息,请查看 ApigeeLlm 文档
            .proxyUrl(APIGEE_PROXY_URL) // 已部署的 Apigee 代理的代理 URL,包括基本路径
            .customHeaders(ImmutableMap.of("foo", "bar")) // 传递必要的身份验证/授权标头(如 API 密钥)
            .build();
LlmAgent agent =
    LlmAgent.builder()
        .model(apigeeLlm)
        .name("my_governed_agent")
        .description("my_governed_agent")
        .instruction("You are a helpful assistant powered by Gemini and governed by Apigee.")
        // 接下来将添加工具
        .build();

通过此配置,来自你的智能体的每个 API 调用都将首先通过 Apigee 路由,在那里执行所有必要的策略(安全性、速率限制、日志记录),然后将请求安全地转发到底层 AI 模型端点。有关使用 Apigee 代理的完整代码示例,请参阅 Hello World Apigee LLM