Herramientas de Apigee API Hub para ADK¶
ApiHubToolset te permite convertir cualquier API documentada desde Apigee API hub en una herramienta con pocas líneas de código. Esta sección te muestra las instrucciones paso a paso incluyendo la configuración de autenticación para una conexión segura a tus APIs.
Requisitos previos
- Instalar ADK
- Instalar el CLI de Google Cloud.
- Instancia de Apigee API hub con APIs documentadas (es decir, especificación OpenAPI)
- Configurar la estructura de tu proyecto y crear los archivos requeridos
Crear un API Hub Toolset¶
Nota: Este tutorial incluye la creación de un agente. Si ya tienes un agente, solo necesitas seguir un subconjunto de estos pasos.
-
Obtén tu token de acceso, para que APIHubToolset pueda obtener la especificación desde la API de API Hub. En tu terminal ejecuta el siguiente comando
-
Asegúrate de que la cuenta utilizada tenga los permisos requeridos. Puedes usar el rol predefinido
roles/apihub.viewero asignar los siguientes permisos:- apihub.specs.get (requerido)
- apihub.apis.get (opcional)
- apihub.apis.list (opcional)
- apihub.versions.get (opcional)
- apihub.versions.list (opcional)
- apihub.specs.list (opcional)
-
Crea una herramienta con
APIHubToolset. Agrega lo siguiente atools.pySi tu API requiere autenticación, debes configurar la autenticación para la herramienta. El siguiente ejemplo de código demuestra cómo configurar una clave API. ADK soporta autenticación basada en tokens (clave API, token Bearer), cuenta de servicio, y OpenID Connect. Pronto añadiremos soporte para varios flujos OAuth2.
from google.adk.tools.openapi_tool.auth.auth_helpers import token_to_scheme_credential from google.adk.tools.apihub_tool.apihub_toolset import APIHubToolset # Proporciona autenticación para tus APIs. No es requerido si tus APIs no requieren autenticación. 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="...", # Copia tu token de acceso generado en el paso 1 apihub_resource_name="...", # Nombre del recurso de API Hub auth_scheme=auth_scheme, auth_credential=auth_credential, )Para despliegue en producción recomendamos usar una cuenta de servicio en lugar de un token de acceso. En el fragmento de código anterior, usa
service_account_json=service_account_cred_json_stry proporciona tus credenciales de cuenta de seguridad en lugar del token.Para apihub_resource_name, si conoces el ID específico de la especificación OpenAPI que se está utilizando para tu API, usa
`projects/my-project-id/locations/us-west1/apis/my-api-id/versions/version-id/specs/spec-id`. Si deseas que el Toolset obtenga automáticamente la primera especificación disponible de la API, usa`projects/my-project-id/locations/us-west1/apis/my-api-id` -
Crea tu archivo de agente Agent.py y agrega las herramientas creadas a la definición de tu agente:
-
Configura tu
__init__.pypara exponer tu agente -
Inicia la interfaz web de Google ADK y prueba tu agente:
Luego ve a http://localhost:8000 para probar tu agente desde la interfaz web.