ADK(Agent Development Kit) 관련

ADK Tool - OpenAPI

alienbuddy 2025. 7. 8. 09:32

🧠 개요

OpenAPIToolset은 OpenAPI(v3.x) 스펙 문서를 기반으로 자동으로 API 호출 도구(RestApiTool) 를 생성해주는 ADK 기능입니다.
이 도구들을 통해 LLM이 외부 REST API를 직접 호출하고 응답을 받아 처리할 수 있습니다.


🔧 핵심 구성 요소

구성 요소                      설명 
OpenAPIToolset OpenAPI 스펙 전체를 받아 파싱하고, 모든 API operation을 RestApiTool로 변환
RestApiTool 하나의 API 엔드포인트(예: GET /pets)를 대표하는 개별 호출 도구
자동 기능 operationId, parameters, requestBody 등을 기반으로 자동 함수 선언 + HTTP 요청 수행



⚙️ 동작 방식 요약

  1. OpenAPI 스펙 입력
    • JSON, YAML, 또는 Python dict 형식 지원
  2. 파싱 및 변환
    • $ref, 경로(path), 메서드(POST/GET 등) 분석
  3. 도구 생성
    • 각 API operation에 대해 RestApiTool 자동 생성
    • 이름은 operationId → snake_case 변환으로 자동 결정
  4. LLM 호출 흐름
    • LLM이 툴 호출 필요 판단 → 자동 생성된 도구 호출 → HTTP 요청 수행 → 응답 반환
  5. 인증 처리 지원
    • API key, OAuth 등은 OpenAPIToolset 초기화 시 옵션으로 설정 가능

🛠 설정 단계별 가이드

✅ 1단계: OpenAPI 스펙 준비

  • JSON 또는 YAML 형식의 OpenAPI 3.x 문서
  • 예: PetStore API (httpbin 기반 mock API)

✅ 2단계: OpenAPIToolset 인스턴스 생성

 

✅ 3단계: Agent에 도구 추가

 

✅ 4단계: Runner로 실행


🧪 예시 요청 흐름


📌 주요 특징 요약

기능                                             설명
🔄 자동 변환 OpenAPI 명세 → RestApiTool 자동 생성
🧠 LLM 최적화 operationId, summary, request/response 구조 기반 자동 안내
🔐 인증 지원 API Key, Bearer Token 등 자동 헤더 추가 설정 가능
🔁 반복 개발 최소화 하나의 OpenAPI 문서로 여러 개 도구 생성 자동화
🧪 모의 테스트 가능 httpbin.org 기반 테스트 가능 (Echo 응답 확인용)
 

📂 예시 저장소 or 추가 자료

  • 샘플 코드 경로: openapi_example.py
  • 서버 URL: https://httpbin.org
  • 사용된 메서드: GET /get, POST /post, GET /get?petId={id}

'ADK(Agent Development Kit) 관련' 카테고리의 다른 글

ADK - Runtime  (4) 2025.07.09
ADK Tool - 인증 도구  (1) 2025.07.09
ADK Tool - MCP  (1) 2025.07.07
ADK Tool - Google Cloud Tools  (0) 2025.07.05
ADK Tool - Third-Party Tool  (1) 2025.07.04