ADK용 Apigee API Hub 도구¶
ApiHubToolset을 사용하면 Apigee API Hub의 문서화된 API를 코드 몇 줄만으로 도구로 변환할 수 있습니다. 이 문서에서는 API와의 안전한 연결을 위한 인증 설정을 포함해 단계별 방법을 설명합니다.
사전 준비
- ADK 설치
- Google Cloud CLI 설치
- 문서화된(OpenAPI 사양) API를 보유한 Apigee API Hub 인스턴스
- 프로젝트 구조를 설정하고 필요한 파일 생성
API Hub Toolset 생성¶
참고: 이 튜토리얼에는 에이전트 생성이 포함됩니다. 이미 에이전트가 있다면 일부 단계만 따르면 됩니다.
-
APIHubToolset이 API Hub API에서 명세를 가져오도록 접근 토큰을 가져옵니다. 터미널에서 다음 명령 실행:
-
사용 계정이 필요한 권한을 갖추었는지 확인합니다. 미리 정의된 역할
roles/apihub.viewer를 사용하거나 다음 권한을 부여할 수 있습니다.- apihub.specs.get (필수)
- apihub.apis.get (선택)
- apihub.apis.list (선택)
- apihub.versions.get (선택)
- apihub.versions.list (선택)
- apihub.specs.list (선택)
-
tools.py에APIHubToolset으로 도구를 생성합니다.
API가 인증을 요구하면 도구에 인증을 구성해야 합니다. 다음 코드 샘플은 API 키 설정을 보여줍니다. ADK는 토큰 기반 인증(API Key, Bearer token), 서비스 계정, OpenID Connect를 지원합니다. 향후 다양한 OAuth2 플로우를 지원할 예정입니다.
```py
from google.adk.tools.openapi_tool.auth.auth_helpers import token_to_scheme_credential
from google.adk.tools.apihub_tool.apihub_toolset import APIHubToolset
# API에 대한 인증 제공. 인증이 필요 없는 API라면 생략 가능
auth_scheme, auth_credential = token_to_scheme_credential(
"apikey", "query", "apikey", apikey_credential_str
)
sample_toolset = APIHubToolset(
name="apihub-sample-tool",
description="Sample Tool",
access_token="...", # 단계 1에서 생성한 액세스 토큰을 붙여넣으세요
apihub_resource_name="...", # API Hub 리소스 이름
auth_scheme=auth_scheme,
auth_credential=auth_credential,
)
```
운영 환경 배포에서는 접근 토큰 대신 서비스 계정 사용을 권장합니다.
위 코드 조각에서는 service_account_json=service_account_cred_json_str를 사용하고,
토큰 대신 서비스 계정 자격 증명을 제공합니다.
apihub_resource_name의 경우, API에 사용 중인 OpenAPI Spec의 특정 ID를 알고 있으면
`projects/my-project-id/locations/us-west1/apis/my-api-id/versions/version-id/specs/spec-id`를 사용합니다.
Toolset이 API에서 사용 가능한 첫 번째 spec을 자동으로 가져오게 하려면
`projects/my-project-id/locations/us-west1/apis/my-api-id`를 사용합니다.
-
Agent.py를 만들고 생성한 도구를 에이전트 정의에 추가합니다.
-
__init__.py를 구성해 에이전트를 노출합니다. -
Google ADK Web UI를 시작하고 에이전트를 실행합니다.
그런 다음 http://localhost:8000로 이동해 웹 UI에서 에이전트를 테스트하세요.