콘텐츠로 이동

ADK 에이전트를 위한 Apigee AI Gateway

ADK에서 지원Python v1.18.0Java v0.4.0

Apigee는 강력한 AI Gateway를 제공하여 생성형 AI 모델 트래픽을 관리하고 거버넌스 하는 방식 자체를 바꿉니다. AI 모델 엔드포인트(예: Vertex AI 또는 Gemini API)를 Apigee 프록시를 통해 노출하면 다음과 같은 엔터프라이즈급 기능을 즉시 사용할 수 있습니다.

  • 모델 보안: Model Armor와 같은 보안 정책으로 위협을 차단합니다.
  • 트래픽 거버넌스: Rate Limiting 및 Token Limiting을 적용해 비용을 관리하고 남용을 방지합니다.
  • 성능: 시맨틱 캐싱과 고급 모델 라우팅을 사용하여 응답 시간과 효율성을 개선합니다.
  • 모니터링 및 가시성: 모든 AI 요청에 대해 세부 모니터링, 분석, 감사 로그를 확보할 수 있습니다.

Note

ApigeeLLM 래퍼는 현재 Vertex AI 및 Gemini API(generateContent)에서 사용하도록 설계되어 있습니다. 다른 모델 및 인터페이스에 대한 지원은 계속 확장하고 있습니다.

구현 예시

ApigeeLlm 래퍼 객체를 생성해 에이전트 워크플로우에 통합하고, 이를 LlmAgent 또는 다른 에이전트 유형에 전달하세요.

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

# Instantiate the ApigeeLlm wrapper
model = ApigeeLlm(
    # Specify the Apigee route to your model. For more info, check out the ApigeeLlm documentation (https://github.com/google/adk-python/tree/main/contributing/samples/hello_world_apigeellm).
    model="apigee/gemini-flash-latest",
    # The proxy URL of your deployed Apigee proxy including the base path
    proxy_url=f"https://{APIGEE_PROXY_URL}",
    # Pass necessary authentication/authorization headers (like an API key)
    custom_headers={"foo": "bar"}
)

# Pass the configured model wrapper to your LlmAgent
agent = LlmAgent(
    model=model,
    name="my_governed_agent",
    instruction="You are a helpful assistant powered by Gemini and governed by Apigee.",
    # ... other agent parameters
)
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-flash-latest") // Specify the Apigee route to your model. For more info, check out the ApigeeLlm documentation
            .proxyUrl(APIGEE_PROXY_URL) //The proxy URL of your deployed Apigee proxy including the base path
            .customHeaders(ImmutableMap.of("foo", "bar")) //Pass necessary authentication/authorization headers (like an API key)
            .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.")
        // tools will be added next
        .build();

이 설정을 사용하면 에이전트의 모든 API 호출이 먼저 Apigee로 라우팅되며, 보안, 속도 제한, 로깅 같은 필수 정책이 모두 실행된 뒤 요청이 기본 AI 모델 엔드포인트로 안전하게 전달됩니다. 전체 Apigee 프록시 사용 예제는 Hello World Apigee LLM에서 확인할 수 있습니다.