Obtén acceso a más de 700 labs y cursos

Potencia los agentes del ADK con herramientas

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Avanzado
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

GENAI105

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, se explica el uso de herramientas con agentes del Kit de desarrollo de agentes.

Hay muchas opciones para comenzar, desde las potentes herramientas que proporciona Google, como la Búsqueda de Google y Vertex AI Search, hasta la gran variedad de herramientas que ofrecen los ecosistemas de LangChain y CrewAI.

Además, crear tu propia herramienta a partir de una función solo requiere escribir una buena cadena de documentación.

En este lab, se da por sentado que conoces los conceptos básicos del ADK que se abordan en el lab Comienza a usar el Kit de desarrollo de agentes (ADK).

Objetivo

En este lab, aprenderás sobre el ecosistema de herramientas disponibles para los agentes de ADK. También aprenderás a proporcionar una función a un agente como una herramienta personalizada.

Después de este lab, podrás hacer lo siguiente:

  • Proporcionar herramientas prediseñadas de Google, LangChain o CrewAI a un agente
  • Analizar la importancia de las cadenas de documentación estructuradas y la tipificación cuando se escriben funciones para herramientas de agentes
  • Escribir tus propias funciones de herramientas para un agente

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lea estas instrucciones. Los labs tienen un tiempo límite; no puede ponerlos en pausa. El cronómetro, que comienza a funcionar cuando hace clic en Comenzar lab, indica por cuánto tiempo estarán los recursos en la nube a su disposición.

Este lab práctico de Qwiklabs le permitirá llevar a cabo las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, recibe nuevas credenciales temporales que utilizará para acceder a Google Cloud Platform durante el transcurso del lab.

Lo que necesita

Para completar este lab, necesitará lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome
  • Tiempo para completar el lab

Nota: Si ya tiene un proyecto o una cuenta personal de GCP, no los use para este lab.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón para abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Uso de herramientas con el Kit de desarrollo de agentes

El uso eficaz de las herramientas es lo que realmente distingue a los agentes inteligentes de los modelos básicos. Una herramienta es un bloque de código, como una función o un método, que ejecuta acciones específicas, como interactuar con bases de datos, hacer solicitudes a la API o invocar otros servicios externos.

Las herramientas permiten que los agentes interactúen con otros sistemas y realicen acciones que van más allá de sus capacidades básicas de razonamiento y generación. Es fundamental tener en cuenta que estas herramientas operan de forma independiente del LLM del agente, lo que significa que no poseen automáticamente sus propias capacidades de razonamiento.

El Kit de desarrollo de agentes proporciona a los desarrolladores una amplia variedad de opciones de herramientas:

  • Herramientas prediseñadas: Funcionalidades listas para usar, como la Búsqueda de Google, la ejecución de código y las herramientas de Generación mejorada por recuperación (RAG)
  • Herramientas de terceros: Integración perfecta de herramientas de bibliotecas externas como LangChain y CrewAI
  • Herramientas personalizadas: La capacidad de crear herramientas personalizadas adaptadas a requisitos específicos, utilizando construcciones específicas del lenguaje y agentes como herramientas El SDK también proporciona capacidades asíncronas a través de Long Running Function Tools.

En este lab, explorarás estas categorías y, luego, implementarás un ejemplo de cada tipo.

Herramientas prediseñadas de Google disponibles

Google proporciona varias herramientas útiles para tus agentes. Estas incluyen las siguientes:

Búsqueda de Google (google_search): Permite que el agente realice búsquedas web con la Búsqueda de Google. Solo debes agregar google_search a las herramientas del agente.

Ejecución de código (built_in_code_execution): Esta herramienta permite que el agente ejecute código para realizar cálculos, manipular datos o interactuar con otros sistemas de forma programática. Puedes usar el VertexCodeInterpreter compilado previamente o cualquier ejecutor de código que implemente la interfaz BaseCodeExecutor.

Retrieval (retrieval): Es un paquete de herramientas diseñado para recuperar información de varias fuentes.

Herramienta de Vertex AI Search (VertexAiSearchTool): Esta herramienta se integra con el servicio Vertex AI Search de Google Cloud para permitir que el agente busque en los almacenes de datos de AI Applications.

Tarea 1: Instala el ADK y configura tu entorno

Nota: Se recomienda usar una ventana de incógnito en el navegador en la mayoría de los Qwiklabs para evitar confusiones entre tu cuenta de estudiante de Qwiklabs y otras cuentas que accedieron a Google Cloud. Si usas Chrome, la forma más sencilla de hacerlo es cerrar todas las ventanas de incógnito y, luego, hacer clic con el botón derecho en el botón **Abrir la consola de Google Cloud** en la parte superior del lab y seleccionar **Abrir el vínculo en una ventana de incógnito**.

Habilita las APIs recomendadas de Vertex AI

  1. En este entorno de lab, la API de Vertex AI ya está habilitada para ti. Si siguieras estos pasos en tu propio proyecto, podrías habilitarla navegando a Vertex AI y siguiendo la instrucción para hacerlo.

Prepara una pestaña del editor de Cloud Shell

  1. Con la ventana de la consola de Google Cloud seleccionada, abre Cloud Shell presionando la tecla G y, luego, la tecla S. También puedes hacer clic en el botón Activar Cloud Shell (Activar Cloud Shell) en la parte superior derecha de la consola de Cloud.

  2. Haz clic en Continuar.

  3. Cuando se te solicite que autorices Cloud Shell, haz clic en Autorizar.

  4. En la esquina superior derecha del panel de la terminal de Cloud Shell, haz clic en el botón Abrir en una ventana nueva Botón Abrir en una ventana nueva.

  5. En la terminal de Cloud Shell, ingresa lo siguiente para abrir el Editor de Cloud Shell en tu directorio principal:

    cloudshell workspace ~
  1. Cierra cualquier instructivo adicional o panel de Gemini que aparezca en el lado derecho de la pantalla para tener más espacio en la ventana para tu editor de código.
  2. Durante el resto de este lab, puedes trabajar en esta ventana como tu IDE con el editor de Cloud Shell y la terminal de Cloud Shell.

Descarga e instala el ADK y las muestras de código para este lab

  1. Pega los siguientes comandos en la terminal de Cloud Shell para descargar el código de este lab desde un bucket de Cloud Storage:

    gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/adk_tools .
  2. Actualiza tu variable de entorno PATH e instala el ADK y algunos requisitos adicionales para este lab ejecutando los siguientes comandos en la terminal de Cloud Shell.

    export PATH=$PATH:"/home/${USER}/.local/bin" python3 -m pip install google-adk[extensions] -r adk_tools/requirements.txt

    Nota: google-adk[extensions] se usa para instalar dependencias adicionales necesarias para las herramientas de CrewAI.

Tarea 2: Crea una app de búsqueda que se usará para fundamentar las respuestas con tus propios datos

En una tarea posterior, usarás la herramienta Vertex AI Search proporcionada por Google para fundamentar respuestas con tus propios datos que estarán en un almacén de datos de AI Applications. Como el almacén de datos de la app necesita un tiempo para transferir los datos, lo configurarás ahora y, luego, lo usarás para fundamentar las respuestas con tus datos en una tarea posterior.

  1. En la pestaña del navegador que aún muestra la consola de Cloud, ve a AI Applications buscándolo en la parte superior de la consola.

  2. Selecciona la casilla de verificación de las condiciones y haz clic en Continue and Activate the API.

  3. En el menú de navegación de la izquierda, selecciona Almacenes de datos.

  4. Selecciona + Crear almacén de datos.

  5. Busca la tarjeta Cloud Storage y haz clic en Select.

  6. Selecciona Unstructured documents (PDF, HTML, TXT and more)

  7. Se subieron documentos de ejemplo a Cloud Storage por ti. Se relacionan con el descubrimiento ficticio de un nuevo planeta llamado Perséfone. En este caso, se usa un planeta ficticio para que el modelo no haya aprendido nada sobre él durante su entrenamiento.

    Para una ruta de GCS, ingresa -bucket/planet-search-docs.

  8. Haz clic en Continuar.

  9. Deja la ubicación establecida como Global.

  10. En Nombre del almacén de datos, ingresa Planet Search.

  11. Haz clic en Crear.

  12. Haz clic en Apps en el panel de navegación de la izquierdo.

  13. Haz clic en Crear una app nueva.

  14. Busca la tarjeta de una app de Búsqueda personalizada (general) y haz clic en Crear.

  15. Asigna el nombre Planet Search a la app.

  16. Proporciona un nombre de la empresa de Planet Conferences.

  17. Haz clic en Continuar.

  18. Selecciona la casilla de verificación junto al almacén de datos Planet Search.

  19. Selecciona Crear.

  20. Una vez que se crea tu app, haz clic en el logotipo de Aplicaciones basadas en IA en la esquina superior izquierda para volver al panel de la app.

  21. Copia el ID de tu app que se muestra en la tabla Apps. Guárdalo en un documento de texto, ya que lo necesitarás más tarde.

  22. Por ahora, le darás al almacén de datos un tiempo para que ingiera sus datos. Más adelante, se lo proporcionarás a un agente para fundamentar sus respuestas.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un almacén de datos y una app de búsqueda

Herramientas de terceros

ADK te permite usar herramientas disponibles en bibliotecas de IA de terceros como LangChain y CrewAI.

Tarea 3: Usa una herramienta de LangChain

La comunidad de LangChain creó una gran cantidad de integraciones de herramientas para acceder a muchas fuentes de datos, integrarse con varios productos web y lograr hacer muchas tareas. Usar herramientas de la comunidad en ADK puede ahorrarte el trabajo de reescribir una herramienta que ya creó otra persona.

  1. De vuelta en la pestaña del navegador que muestra el editor de Cloud Shell, usa el explorador de archivos en el lado izquierdo para ir al directorio adk_tools/langchain_tool_agent.

  2. Escribe un archivo .env para proporcionar detalles de autenticación para este directorio de agentes ejecutando lo siguiente en la terminal de Cloud Shell:

    cd ~/adk_tools cat << EOF > langchain_tool_agent/.env GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} GOOGLE_CLOUD_LOCATION={{{project_0.default_region| GCP_LOCATION}}} MODEL=gemini-2.5-flash EOF
  3. Copia el archivo .env en los otros directorios de agentes que usarás en este lab con el siguiente comando:

    cp langchain_tool_agent/.env crewai_tool_agent/.env cp langchain_tool_agent/.env function_tool_agent/.env cp langchain_tool_agent/.env vertexai_search_tool_agent/.env
  4. Haz clic en el archivo agent.py en el directorio langchain_tool_agent.

  5. Observa la importación de la clase LangchainTool. Esta es una clase wrapper que te permite usar herramientas de LangChain en el Kit de desarrollo de agentes.

  6. Agrega el siguiente código donde se indica en el archivo agent.py para agregar la herramienta de Wikipedia de LangChain a tu agente. Esto permitirá que tu agente busque información en Wikipedia:

    tools = [ # Usa el wrapper LangchainTool... LangchainTool( # para pasar una herramienta de LangChain. # En este caso, la herramienta WikipediaQueryRun, # que requiere WikipediaAPIWrapper como # parte de la herramienta. tool=WikipediaQueryRun( api_wrapper=WikipediaAPIWrapper() ) ) ]
  7. Guarda el archivo.

  8. En la terminal de Cloud Shell, desde el directorio del proyecto adk_tools, inicia la IU de desarrollo del Kit de desarrollo de agentes con los siguientes comandos:

    adk web

    Resultado

    INFO: Started server process [2434] INFO: Waiting for application startup. +-------------------------------------------------------+ | ADK Web Server started | | | | For local testing, access at http://localhost:8000. | +-------------------------------------------------------+ INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  9. Para ver la interfaz web en una pestaña nueva, haz clic en el vínculo http://127.0.0.1:8000 en el resultado de la terminal.

  10. Se abrirá una nueva pestaña del navegador con la IU de desarrollo del ADK.

  11. En el menú desplegable Select an agent de la izquierda, selecciona langchain_tool_agent.

  12. Consulta al agente con lo siguiente:

    Who was Grace Hopper?

    Resultado:

    Herramienta de Wikipedia de Langchain

  13. Haz clic en el ícono (Ícono del agente) del agente junto a la burbuja de chat del agente que indica el uso de la herramienta wikipedia.

  14. Ten en cuenta que el contenido incluye una functionCall con la consulta a Wikipedia.

  15. En la parte superior de la pestaña, haz clic en el botón de avance para pasar al siguiente evento.

  16. Si exploras este evento, puedes ver el resultado recuperado de Wikipedia que se usó para generar la respuesta del modelo.

  17. Cuando termines de hacerle preguntas a este agente, cierra la pestaña del navegador de la IU de desarrollo.

  18. Selecciona el panel de la terminal de Cloud Shell y presiona CTRL + C para detener el servidor.

Haz clic en Revisar mi progreso para verificar el objetivo. Usar una herramienta de LangChain

Tarea 4: Usa una herramienta de CrewAI

De manera similar, puedes usar Herramientas de CrewAI con un wrapper CrewaiTool.

  1. Para ello, con el explorador de archivos del editor de Cloud Shell, ve al directorio adk_tools/crewai_tool_agent.

  2. Haz clic en el archivo agent.py en el directorio crewai_tool_agent.

  3. Observa la importación de la clase CrewaiTool desde ADK y la herramienta ScrapeWebsiteTool desde crewai_tools.

  4. Agrega el siguiente código donde se indica en el archivo agent.py para agregar la herramienta CrewAI Scrape Website a tu agente, junto con un nombre y una descripción:

    tools = [ CrewaiTool( name="scrape_apnews", description=( """Scrapes the latest news content from the Associated Press (AP) News website.""" ), tool=ScrapeWebsiteTool("https://apnews.com/") ) ]

    La herramienta ScrapeWebsiteTool cargará contenido del sitio web de noticias de Associated Press apnews.com.

  5. Guarda el archivo.

  6. Ejecutarás este agente con la interfaz de línea de comandos para familiarizarte con ella como una forma práctica de probar un agente rápidamente. En la terminal de Cloud Shell, desde el directorio del proyecto adk_tools, inicia el agente con la IU de línea de comandos del ADK con este comando:

    adk run crewai_tool_agent
  7. Mientras el agente se carga, puede mostrar algunas advertencias. Puedes ignorarlas. Cuando se te presente el prompt user:, ingresa lo siguiente:

    Get 10 of the latest headlines from AP News.

    Resultado:

    Using Tool: Read website content [crewai_tool_agent]: Here are the latest headlines from AP News: ...
  8. Ten en cuenta que la interfaz de línea de comandos también te indica cuándo se está usando una herramienta.

  9. En la terminal, responde al siguiente prompt user: con exit para salir de la interfaz de línea de comandos.

  10. Desplázate hacia atrás en el historial de tu terminal para encontrar dónde ejecutaste adk run crewai_tool_agent y observa que la interfaz de línea de comandos te proporcionó un archivo de registro para seguir. Copia y ejecuta ese comando para ver más detalles de la ejecución:

    tail -F /tmp/agents_log/agent.latest.log
  11. Presiona CTRL + C para detener el seguimiento del archivo de registro y volver al símbolo del sistema.

Haz clic en Revisar mi progreso para verificar el objetivo. Usar una herramienta de CrewAI

Tarea 5: Usa una función como una herramienta personalizada

Cuando las herramientas prediseñadas no cumplen por completo con los requisitos específicos, puedes crear tus propias herramientas. Esto permite una funcionalidad personalizada, como conectarse a bases de datos propias o implementar algoritmos únicos.

La forma más sencilla de crear una nueva herramienta es escribir una función estándar de Python con una cadena de documentación escrita en un formato estándar y pasarla a tu modelo como una herramienta. Este enfoque ofrece flexibilidad y una integración rápida.

Cuando escribas una función para usarla como herramienta, ten en cuenta lo siguiente:

  • Parámetros: Tu función puede aceptar cualquier cantidad de parámetros, cada uno de los cuales puede ser de cualquier tipo serializable en JSON (p. ej., cadena, número entero, lista, diccionario). Es importante evitar establecer valores predeterminados para los parámetros, ya que el modelo de lenguaje grande (LLM) no admite interpretarlos en este momento.
  • Tipo de datos que se devuelve: El tipo de datos que se devuelve preferido para una herramienta de función de Python es un diccionario. Esto te permite estructurar la respuesta con pares clave-valor, lo que proporciona contexto y claridad al LLM. Por ejemplo, en lugar de devolver un código de error numérico, devuelve un diccionario con una clave "error_message" que contiene una explicación legible por humanos. Como práctica recomendada, incluye una clave "status" en tu diccionario de datos que se devuelven para indicar el resultado general (p. ej., "success", "error", "pending"), lo que proporciona al LLM un indicador claro sobre el estado de la operación.
  • Cadena de documentación: La cadena de documentación de tu función sirve como descripción de la herramienta y se envía al LLM. Por lo tanto, una cadena de documentación bien escrita y completa es fundamental para que el LLM comprenda cómo usar la herramienta de manera eficaz. Explica claramente el propósito de la función, el significado de sus parámetros y los valores devueltos esperados.

Para definir una función y usarla como herramienta, sigue estos pasos:

  1. Con el explorador de archivos del editor de Cloud Shell, ve al directorio adk_tools/function_tool_agent.

  2. En el directorio function_tool_agent, haz clic en el archivo agent.py.

  3. Observa que las funciones get_date() y write_journal_entry() tienen cadenas de documentación con el formato adecuado para que un agente de ADK sepa cuándo y cómo usarlas. Estas incluyen las siguientes:

    • una descripción clara de lo que hace cada función
    • una sección Args: que describe los parámetros de entrada de la función con tipos serializables en JSON
    • una sección Returns: que describe lo que devuelve la función, con el tipo de respuesta preferido de un dict
  4. Para pasar la función a tu agente para que la use como herramienta, agrega el siguiente código donde se indica en el archivo agent.py:

    tools=[get_date, write_journal_entry]
  5. Guarda el archivo.

  6. Ejecutarás este agente con la IU de desarrollo para ver cómo sus herramientas te permiten visualizar fácilmente las solicitudes y respuestas de las herramientas. En la terminal de Cloud Shell, desde el directorio del proyecto adk_tools, vuelve a ejecutar la IU de desarrollo con el siguiente comando (si el servidor aún se está ejecutando, primero detenlo con CTRL + C y, luego, ejecuta el siguiente comando para volver a iniciarlo):

    adk web
  7. Haz clic en el vínculo http://127.0.0.1:8000 en el resultado de la terminal.

  8. Se abrirá una nueva pestaña del navegador con la IU de desarrollo del ADK.

  9. En el menú desplegable Select an agent de la izquierda, selecciona function_tool_agent.

  10. Inicia una conversación con el agente con lo siguiente:

    hello
  11. El agente debería preguntarte sobre tu día. Responde con una frase sobre cómo va tu día (por ejemplo It's been a good day. I did a cool ADK lab.) y escribirá una entrada de diario por ti.

    Resultado de ejemplo:

    Función de la herramienta para llevar un diario

  12. Observa que tu agente muestra botones para la solicitud y la respuesta de tu herramienta personalizada. Puedes hacer clic en cada uno para ver más información sobre estos eventos.

  13. Cierra la pestaña de la IU de desarrollo.

  14. En el editor de Cloud Shell, puedes encontrar tu archivo de entrada de diario con fecha en el directorio adk_tools. (Es posible que quieras usar el menú del editor de Cloud Shell para habilitar View > Word Wrap y ver el texto completo sin tener que desplazarte horizontalmente).

  15. Detén el servidor haciendo clic en el panel de la terminal de Cloud Shell y presionando CTRL + C.

Algunas prácticas recomendadas para escribir funciones que se usarán como herramientas:

  • Cuanto menos parámetros, mejor: Minimiza la cantidad de parámetros para reducir la complejidad.
  • Usa tipos de datos simples: Prefiere los tipos de datos primitivos como str e int en lugar de clases personalizadas cuando sea posible.
  • Usa nombres significativos: El nombre de la función y los nombres de los parámetros influyen significativamente en cómo el LLM interpreta y utiliza la herramienta. Elige nombres que reflejen claramente el propósito de la función y el significado de sus entradas.
  • Divide funciones complejas: En lugar de una sola función update_profile(profile: Profile), crea funciones separadas como update_name(name: str), update_age(age: int), etcétera.
  • Estado de datos devueltos: Incluye una clave "status" en tu diccionario de datos devueltos para indicar el resultado general (p. ej., "success", "error", "pending") para proporcionar al LLM un indicador claro sobre el estado de la operación.

Haz clic en Revisar mi progreso para verificar el objetivo. Usar una función como una herramienta personalizada

Tarea 6: Usa Vertex AI Search como herramienta para fundamentar tus propios datos

En esta tarea, descubrirás lo fácil que es implementar una aplicación RAG con un agente del Kit de desarrollo de agentes con la herramienta integrada Vertex AI Search de Google y el almacén de datos de AI Applications que creaste anteriormente.

  1. Regresa a la pestaña Editor de Cloud Shell y selecciona el directorio adk_tools/vertexai_search_tool_agent.

  2. Haz clic en el archivo agent.py en el directorio vertexai_search_tool_agent.

  3. Agrega una importación de la clase VertexAiSearchTool donde se indica en la parte inferior de las importaciones:

    from google.adk.tools import VertexAiSearchTool
  4. Actualiza el código en el que se creó una instancia de VertexAiSearchTool. En la ruta que se pasa a data_store_id, actualiza YOUR_PROJECT_ID a y actualiza YOUR_SEARCH_APP_ID al ID de la app de búsqueda que copiaste en la tarea anterior.

  5. Agrega la siguiente línea donde se indica en la definición del agente para proporcionarle la herramienta:

tools=[vertexai_search_tool]
  1. Guarda el archivo agents.py.

Para confirmar que tu almacén de datos está listo para usarse, selecciona su nombre en la página AI Applications > Almacenes de datos en la consola.

Las pestañas ACTIVIDAD y DOCUMENTOS proporcionan estados sobre la importación y la indexación de tus documentos. Cuando la pestaña ACTIVIDAD informe "La importación se completó", tu almacén de datos debería estar listo para realizar consultas.

  1. En la terminal de Cloud Shell, desde el directorio del proyecto adk_tools, inicia la interfaz de línea de comandos con el siguiente comando. Incluirás la marca --reload_agents para que la IU de desarrollo vuelva a cargar tu agente cuando realices cambios.

    adk web --reload_agents Nota: Si no cerraste tu sesión anterior de adk web, selecciona el panel de la terminal de Cloud Shell en el que se está ejecutando y presiona CTRL + C. Si no encuentras la pestaña de la terminal de Cloud Shell que usaste antes, el puerto predeterminado 8000 estará bloqueado, pero puedes iniciar la IU de desarrollo con un nuevo puerto usando adk web --port 8001.
  2. Haz clic en http://127.0.0.1:8000 para abrir la IU de desarrollo del ADK.

  3. En el menú desplegable Select an agent de la izquierda, selecciona vertexai_search_tool_agent.

  4. Hazle una pregunta al agente sobre el planeta ficticio descrito en tus documentos de Cloud Storage con lo siguiente:

    Is the new planet Persephone suitable for habitation?

    Resultado de ejemplo (el tuyo puede ser un poco diferente):

    Based on the "Persephone Survey: What we Know So Far" document, Persephone exhibits several characteristics that suggest it could be habitable: - Location: It orbits within the habitable zone of its star. - Temperature: The average surface temperature is estimated to be around 18°C (64°F). ...

Usa AgentTool para integrar herramientas de búsqueda con otras herramientas

Las herramientas de búsqueda están limitadas en cuanto a su implementación, ya que no puedes mezclar herramientas de búsqueda y herramientas que no son de búsqueda en el mismo agente. Para evitar esto, puedes envolver un agente con una herramienta de búsqueda con un AgentTool y, luego, usar ese agente como herramienta para realizar búsquedas junto con otras herramientas.

Para ver esto en acción, haz lo siguiente:

  1. Asegúrate de tener abierto el archivo adk_tools/vertexai_search_tool_agent/agent.py.

  2. Actualiza el parámetro tools de root_agent para incluir la herramienta de función get_date:

    tools=[vertexai_search_tool, get_date]
  3. Guarda el archivo.

  4. En la IU de desarrollo del ADK, pregúntale al agente:

    What is today's date?

    Resultado esperado:

    Error que muestra un mensaje de que se admiten varias herramientas cuando todas son herramientas de búsqueda.
  5. De vuelta en el archivo adk_tools/vertexai_search_tool_agent/agent.py, pega el siguiente código sobre tu root_agent. Este agente está dedicado a usar la herramienta de búsqueda y contiene tanto la herramienta de búsqueda como las instrucciones para usarla:

    vertexai_search_agent = Agent( name="vertexai_search_agent", model=os.getenv("MODEL"), instruction="Use your search tool to look up facts.", tools=[vertexai_search_tool] )
  6. Luego, reemplaza el parámetro de herramientas de tu root_agent por lo siguiente para unir el agente creado con AgentTool en el paso anterior:

    tools=[ AgentTool(vertexai_search_agent, skip_summarization=False), get_date ]
  7. Ahora puedes consultar a tu agente y recibir resultados de la búsqueda, además de usar la función get_date().

    De vuelta en la pestaña del navegador de la IU de desarrollo del ADK, haz clic en + New Session.

  8. Pregunta nuevamente:

    What is today's date?

    El agente debe responder con la fecha correcta.

  9. Luego, para invocar la herramienta de búsqueda, pregunta lo siguiente:

    When is the PlanetCon conference?

    Resultado esperado:

    The PlanetCon: Persephone conference is scheduled for October 26th - 28th, 2028.
  10. No dudes en hacerle más preguntas al agente sobre este nuevo planeta y la conferencia en la que se anunciará su descubrimiento. Cuando estés conforme, cierra la pestaña de la IU de desarrollo.

  11. Cuando termines de hacerle preguntas a este agente, cierra la pestaña del navegador, selecciona la ventana de la terminal de Cloud Shell en la que se está ejecutando el servidor y presiona CTRL + C para detenerlo.

Haz clic en Revisar mi progreso para verificar el objetivo. Usar una herramienta proporcionada por Google

¡Aún más tipos de herramientas!

Es bueno que conozcas los siguientes tipos de herramientas, pero no los implementarás en este lab.

La clase LongRunningFunctionTool

Esta herramienta es una subclase de FunctionTool. Está diseñada para tareas que requieren una cantidad significativa de tiempo de procesamiento y que deben llamarse sin bloquear la ejecución del agente.

Cuando se usa una LongRunningFunctionTool, tu función de Python puede iniciar la operación de larga duración y, de manera opcional, devolver un resultado intermedio para mantener informado al modelo y al usuario sobre el progreso (p. ej., actualizaciones de estado o tiempo estimado de finalización). Luego, el agente puede continuar con otras tareas.

Un ejemplo es una situación con interacción humana en la que el agente necesita la aprobación humana antes de continuar con una tarea.

Flujos de trabajo de Application Integration como herramientas

Con Application Integration, puedes usar una interfaz de arrastrar y soltar en la consola de Google Cloud para crear herramientas, conexiones de datos y transformaciones de datos con los más de 100 conectores prediseñados de Integration Connectors para productos de Google Cloud y sistemas de terceros como Salesforce, ServiceNow, JIRA, SAP y muchos más. Luego, puedes usar un ApplicationIntegrationToolset del ADK para permitir que tus agentes se conecten a esas fuentes o llamen a tus flujos de trabajo.

Herramientas del Protocolo de contexto del modelo (MCP)

El Protocolo de contexto del modelo (MCP) es un estándar abierto diseñado para estandarizar la forma en que los modelos de lenguaje grandes (LLM) como Gemini y Claude se comunican con aplicaciones, fuentes de datos y herramientas externas. El ADK te ayuda a usar y consumir herramientas de MCP en tus agentes, ya sea que intentes crear una herramienta para llamar a un servicio de MCP o exponer un servidor de MCP para que otros desarrolladores o agentes interactúen con tus herramientas.

Consulta la documentación de las herramientas de MCP para ver muestras de código y patrones de diseño que te ayudarán a usar el ADK junto con los servidores de MCP, incluido lo siguiente:

  • Usar servidores de MCP existentes en el ADK: Un agente de ADK puede actuar como cliente de MCP y usar herramientas proporcionadas por servidores de MCP externos.
  • Exponer las herramientas del ADK a través de un servidor de MCP: Cómo crear un servidor de MCP que una herramientas del ADK, para hacerlas accesibles a cualquier cliente de MCP.

Para obtener más información sobre el uso de MCP con agentes de ADK, consulta el lab Cómo usar herramientas del Protocolo de contexto del modelo (MCP) con agentes de ADK.

¡Felicitaciones!

En este lab, aprendiste a hacer lo siguiente:

  • Proporcionar herramientas prediseñadas de Google, LangChain o CrewAI a un agente
  • Escribir tus propias funciones de herramientas para un agente
  • Analizar la importancia de las cadenas de documentación estructuradas y la tipificación cuando se escriben funciones para herramientas de agentes

Próximos pasos

Para obtener más información sobre cómo crear y, luego, implementar agentes con el Kit de desarrollo de agentes, consulta estos labs:

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 22 de septiembre de 2025

Prueba más reciente del lab: 22 de septiembre de 2025

Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.