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。