Integra un agente de datos en una aplicación

En este instructivo, se describe cómo configurar y usar un agente de datos en Spanner con la consola de Google Cloud y cómo integrarlo en tu aplicación. Aprenderás a compilar el archivo de contexto del agente, crear un agente de datos que use el contexto, usar MCP Toolbox para llamar a la API de QueryData y generar consultas en SQL para preguntas en lenguaje natural y, por último, integrarlo en tu aplicación.

Para obtener más información, consulta Descripción general de los agentes de datos.

Objetivos

  • Crear y completar tablas
  • Compila el contexto del agente con Gemini CLI y el kit de herramientas de MCP.
  • Crea un agente de datos y sube contexto.
  • Inspecciona el agente y genera consultas en SQL en Studio.
  • Integra el agente en tu aplicación con la herramienta Gemini Data Analytics QueryData en MCP Toolbox.

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.

Es posible que los usuarios nuevos de Google Cloud cumplan con los requisitos para acceder a una prueba gratuita.

Cuando finalices las tareas que se describen en este documento, borra los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Cómo realizar una limpieza.

Antes de comenzar

Completa los siguientes requisitos previos antes de crear un agente.

Habilita los servicios obligatorios

Habilita los siguientes servicios para tu proyecto:

Prepara una instancia de Spanner

Roles y permisos requeridos

Crea el esquema y las tablas flights y airports

En esta sección, crearás la base de datos flights y airports para este instructivo.

  1. En la consola de Google Cloud , ve a la página de Spanner.

    Ir a Spanner

  2. Selecciona una instancia de la lista y, luego, selecciona una base de datos.

  3. En el menú de navegación, haz clic en Spanner Studio.

  4. Haz clic en Nueva pestaña del editor de SQL o Nueva pestaña para abrir una pestaña nueva.

  5. Crea la tabla y el esquema airports:

    CREATE TABLE IF NOT EXISTS airports (
      id INT64 PRIMARY KEY,
      iata STRING(MAX),
      name STRING(MAX),
      city STRING(MAX),
      country STRING(MAX)
    );
    
  6. Crea la tabla y el esquema flights:

    CREATE TABLE flights (
      id INT64 NOT NULL,
      airline STRING(10),
      flight_number INT64,
      departure_airport STRING(5),
      arrival_airport STRING(5),
      departure_time TIMESTAMP,
      arrival_time TIMESTAMP,
      departure_gate STRING(10),
      arrival_gate STRING(10)
    ) PRIMARY KEY (id);
    
    

Propaga la tabla flights y airport

En esta sección, completarás las tablas flights y airports con las secuencias de comandos de SQL proporcionadas.

  1. Propaga la tabla airports.

  2. Propaga la tabla flights.

  3. Ejecuta la siguiente consulta para verificar que las tablas se hayan completado:

    SELECT * FROM flights LIMIT 10;
    SELECT * FROM airports LIMIT 10;
    

Crea un agente de datos

En esta sección, crearás un agente de datos llamado flights-assistant. Este agente no incluye ningún contexto de agente que se haya subido a él.

  1. En el panel Explorador, junto a Agentes de datos, haz clic en Ver acciones.
  2. Haz clic en Create agent.
  3. En Asigna un nombre a tu agente, ingresa flights-assistant.
  4. Haz clic en Crear.

Inspecciona el agente en Studio

En esta sección, le harás una pregunta en lenguaje natural al agente de flights-assistant, y este generará una consulta en SQL. Dado que el agente no tiene ningún contexto, incluso después de hacer una pregunta con contexto, como nighttime traffic, genera una búsqueda subóptima.

  1. En el panel Explorador, junto a tu agente de datos, haz clic en Ver acciones.
  2. Haz clic en Inspect agent.
  3. En el editor de consultas, haz clic en Generar SQL con el agente: flights-assistant.
  4. Ingresa la siguiente pregunta en lenguaje natural para generar una consulta en SQL y haz clic en Generar.

    Find flights from SFO to JFK.
    

    Revisa la consulta en SQL. Observa que el agente genera el código SQL correcto para esta pregunta inequívoca.

      SELECT
        *
      FROM
        flights
      WHERE
        departure_airport = 'SFO'
        AND arrival_airport = 'JFK';
    
  5. En la ventana Generar SQL con el agente: flights-assistant, haz clic en Editar.

  6. Ingresa la siguiente pregunta en lenguaje natural para generar una consulta en SQL y haz clic en Actualizar.

    Tell me flights that can help me beat nighttime traffic if traveling from New York
    

    La base de datos no comprende el término tráfico de nighttime. Esto podría impedir que genere una consulta en SQL o hacer que genere una consulta que ignore el término, como se muestra en la siguiente consulta.

    -- The database schema does not contain information about traffic.
    -- Returning all flights departing from New York airports.
    SELECT
      f.airline,
      f.flight_number,
      a.name AS departure_airport_name,
      f.departure_time,
      b.name AS arrival_airport_name,
      f.arrival_time
    FROM
      flights AS f
    JOIN
      airports AS a
      ON f.departure_airport = a.iata
    JOIN
      airports AS b
      ON f.arrival_airport = b.iata
    WHERE
      a.city = 'New York'
    ORDER BY
      f.departure_time;
    

Genera contexto para el agente

En esta sección, crearás un archivo de contexto que ayudará a mejorar las capacidades de consulta del agente. Para abordar el problema de la sección anterior en el que el agente no reconoció el término nighttime traffic, defínelo en el contexto del agente como el tráfico que se produce entre 5:00 PM y 7:00 PM.

Para generar el contexto del agente, sigue estos pasos:

  1. En tu directorio local, instala Gemini CLI. Para obtener más información, consulta la guía de inicio rápido de la CLI de Gemini.
  2. Instala Google Cloud CLI y configura las credenciales predeterminadas de la aplicación (ADC).
  3. Instala la extensión MCP Toolbox Gemini CLI, que se conecta a la base de datos.

    gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox
  4. Crea un archivo de configuración tools.yaml en el mismo directorio en el que instalas MCP Toolbox para configurar la conexión de la base de datos:

    sources:
      flight-sql-source:
        kind: spanner
        project: PROJECT_ID
        instance: INSTANCE_ID
        database: DATABASE_ID
    
    tools:
      # (Optional) Fetches database schemas for context generation in the bulk generation (/generate_bulk_templates) phase.
      list_flight_schemas_tool:
        kind: spanner-list-tables
        source: flight-spanner-source
        description: Use this tool to list all tables and their schemas in the flight database.
      # (Optional) Executes generated SQL for validation in the bulk generation (/generate_bulk_templates) phase.
      execute_sql_tool:
        kind: spanner-execute-sql
        source: flight-spanner-source
        description: Use this tool to execute SQL against the flight database.
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto de Google Cloud .
    • INSTANCE_ID: Es el ID de tu instancia de Spanner.
    • DATABASE_ID: El nombre de la base de datos a la que te conectarás.
  5. Instala el instalador de paquetes de Python uv siguiendo la guía de instalación oficial y verifica que la instalación se realice correctamente ejecutando el siguiente comando:

    uv --version
  6. Instala el servidor de MCP de DB Context Enrichment, que incluye flujos de trabajo para la generación de contexto.

    gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichment
  7. Exporta la clave de la API de Gemini como una variable de entorno. Para obtener más información sobre cómo encontrar la clave de API, consulta Usa claves de la API de Gemini.

    export GEMINI_API_KEY="YOUR_API_KEY"

    Reemplaza YOUR_API_KEY por tu clave de la API de Gemini.

  8. En el mismo directorio en el que creaste el archivo tools.yaml, inicia Gemini:

    gemini
  9. Completa la configuración de autenticación de Gemini CLI.

  10. Verifica que la caja de herramientas de MCP y la extensión de enriquecimiento de la base de datos estén conectadas y listas para usarse.

    /mcp list
  11. Ejecuta el comando /generate_targeted_templates y sigue el flujo de trabajo:

    /generate_targeted_templates
  12. En la terminal, proporciona la consulta en lenguaje natural que deseas agregar a la plantilla de consulta.

    Tell me flights that can help me beat nighttime traffic if traveling from New York
  13. Proporciona una consulta SQL correspondiente que desees agregar a la plantilla de consulta. Esta plantilla de consulta define el término nighttime como un término que ocurre entre 5:00 PM y 7:00 PM.

    SELECT
      f.airline,
      f.flight_number,
      a.name AS airport_name,
      f.departure_time
    FROM
      flights f
    JOIN
      airports a
      ON f.departure_airport = a.iata
    WHERE
      a.city = 'New York'
      AND (
        EXTRACT(HOUR FROM f.departure_time) < 17
        OR EXTRACT(HOUR FROM f.departure_time) >= 19
      )
    ORDER BY
      f.departure_time;
    
  14. Presiona Intro. Gemini convierte tu entrada en un formato específico que mejora el rendimiento del agente en una amplia variedad de consultas de los usuarios. Para obtener más información, consulta Contexto del agente.

    De manera opcional, ejecuta el flujo de trabajo /generate_bulk_templates para permitir que Gemini CLI genere más contexto a través del análisis de tu esquema de base de datos y la sugerencia de contexto relacionado. Asegúrate de agregar list_flight_schemas_tool y execute_sql_tool a la configuración de tools.yaml que creaste en el paso 4.

  15. Revisa la plantilla de búsqueda generada. Puedes guardar la plantilla de consulta como un archivo de contexto del agente nuevo o agregarla a un archivo de contexto del agente existente.

  16. Selecciona la opción para crear un archivo de contexto del agente nuevo. Gemini crea un nombre de archivo INSTANCE_ID_DATABASE_ID_context_set_TIMESTAMP.json en el mismo directorio, con el siguiente contenido:

    {
      "templates": [
        {
          "nl_query": "Tell me flights that can help me beat nighttime traffic if traveling from New York",
          "sql": "SELECT f.airline, f.flight_number, a.name AS airport_name, f.departure_time FROM flights f JOIN airports a ON f.departure_airport = a.iata WHERE a.city = 'New York' AND (EXTRACT(HOUR FROM f.departure_time) < 17 OR EXTRACT(HOUR FROM f.departure_time) >= 19) ORDER BY f.departure_time;",
          "intent": "Tell me flights that can help me beat nighttime traffic if traveling from New York",
          "manifest": "Tell me flights that can help me beat nighttime traffic if traveling from a given city",
          "parameterized": {
            "parameterized_sql": "SELECT f.airline, f.flight_number, a.name AS airport_name, f.departure_time FROM flights f JOIN airports a ON f.departure_airport = a.iata WHERE a.city = ? AND (EXTRACT(HOUR FROM f.departure_time) < 17 OR EXTRACT(HOUR FROM f.departure_time) >= 19) ORDER BY f.departure_time;",
            "parameterized_intent": "Tell me flights that can help me beat nighttime traffic if traveling from ?"
          }
        }
      ]
    }
    

Sube contexto al agente

En esta sección, subirás el archivo de contexto del agente al agente de datos para que mejore las capacidades de generación de SQL del agente en tu base de datos.

Para subir el contexto, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página de Spanner.

    Ir a Spanner

  2. Selecciona una instancia de la lista y, luego, selecciona una base de datos.

  3. En el menú de navegación, haz clic en Spanner Studio.

  4. En el panel Explorador, junto a Agentes de datos, haz clic en Ver acciones.

  5. Haz clic en Editar agente.

  6. Opcional: Edita la Descripción del agente.

  7. Haz clic en Explorar en la sección Subir archivo de contexto del agente y selecciona el archivo de contexto del agente que generaste antes.

  8. Haz clic en Guardar.

Genera una consulta en SQL con el contexto del agente

En esta sección, usarás el archivo de contexto del agente que subiste para hacer preguntas en lenguaje natural. Esto te permite verificar que el agente comprenda y aplique correctamente las definiciones de términos como nighttime traffic y otras frases relacionadas.

Para generar consultas en SQL, sigue estos pasos:

  1. En el panel Explorador, junto a tu agente de datos, haz clic en Ver acciones.
  2. Haz clic en Inspect agent.
  3. En el editor de consultas, haz clic en Generar SQL con el agente: flights-assistant.
  4. Ingresa la siguiente pregunta en lenguaje natural para generar una consulta en SQL y haz clic en Generar.

    Tell me flights that can help me beat nighttime traffic if traveling from New York

    La consulta en SQL generada es similar a la siguiente:

    SELECT
      f.airline,
      f.flight_number,
      a.name AS airport_name,
      f.departure_time
    FROM
      flights f
    JOIN
      airports a ON f.departure_airport = a.iata
    WHERE
      a.city = 'New York'
      AND (
        EXTRACT(HOUR FROM f.departure_time) < 17
        OR EXTRACT(HOUR FROM f.departure_time) >= 19
      )
    ORDER BY
      f.departure_time;
    

    Esta es la misma pregunta que agregaste al contexto del agente de datos. Observa que el agente ahora puede interpretar con precisión el término nighttime traffic.

    Si bien el contexto se origina en una pregunta en particular, el agente lo usa para mejorar la generación de SQL para una amplia variedad de preguntas similares.

  5. En la ventana Generar SQL con el agente: flights-assistant, haz clic en Editar.

  6. Ingresa la siguiente pregunta similar para generar una consulta en SQL y haz clic en Actualizar.

    What are the flights that can help me avoid evening traffic if departing from Boston

    Dado que la pregunta reemplaza el término nighttime traffic por un término similar, evening traffic, el agente proporciona una respuesta coherente a esta pregunta aplicando la misma interpretación.

    La consulta en SQL generada es similar a la siguiente:

    -- What are the flights that can help me avoid evening traffic if departing from Boston
    SELECT
      f.airline,
      f.flight_number,
      a.name AS airport_name,
      f.departure_time
    FROM
      flights f
    JOIN
      airports a
    ON
      f.departure_airport = a.iata
    WHERE
      a.city = 'Boston'
      AND (
        EXTRACT(HOUR FROM f.departure_time) < 17
        OR EXTRACT(HOUR FROM f.departure_time) >= 19
      )
    ORDER BY
      f.departure_time;
    

Integra el agente en tu aplicación

En esta sección, crearás un agente de datos para una aplicación de búsqueda de vuelos. Este agente de datos proporciona una interfaz conversacional para la tabla flights y airports que creaste anteriormente. También se explica cómo crear e integrar este agente en tu aplicación con el Kit de desarrollo de agentes (ADK), la herramienta QueryData de MCP de Gemini Data Analytics y el contexto del agente para mejorar la calidad de las respuestas.

  1. Descarga la versión 0.24.0 o posterior de MCP Toolbox. MCP Toolbox expone el agente de datos como una herramienta para que las aplicaciones se conecten. La caja de herramientas de MCP difiere de la extensión de la caja de herramientas de MCP de Gemini CLI que instalaste anteriormente, que genera contexto.

  2. En la terminal, configura el proyecto que estás usando.

    gcloud config set project [PROJECT_ID]
  3. Configura las credenciales predeterminadas de la aplicación (ADC).

    gcloud auth application-default login
  4. Busca el ID del contexto del agente. Para obtener más información sobre cómo encontrar el ID del conjunto de contexto, consulta Cómo encontrar el ID del contexto del agente.

  5. Crea la configuración de tools.yaml para conectarte al agente de datos con el kit de herramientas de MCP. Para obtener más información, consulta Gemini Data Analytics Source y Gemini Data Analytics QueryData Tool.

    sources:
      gda-api-source:
        kind: cloud-gemini-data-analytics
        projectId: "PROJECT_ID"
    
    tools:
      cloud_gda_query_tool:
        kind: cloud-gemini-data-analytics-query
        source: gda-api-source
        description: Use this tool to send natural language queries to the Gemini Data Analytics API and receive SQL, natural language answers, and explanations.
        location: "REGION_ID"
        context:
          datasourceReferences:
            spannerReference:
              databaseReference:
                engine: "GOOGLE_SQL"
                projectId: "PROJECT_ID"
                region: "REGION_ID"
                instanceId: "INSTANCE_ID"
                databaseId: "DATABASE_ID"
              agentContextReference:
                contextSetId: "DATA_AGENT_CONTEXT_SET_ID"
        generationOptions:
          generateQueryResult: true
          generateNaturalLanguageAnswer: true
          generateExplanation: true
          generateDisambiguationQuestion: true
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto de Google Cloud .
    • REGION_ID: Es la región de tu instancia de Spanner (p.ej., us-central1).
    • INSTANCE_ID: Es el ID de tu instancia de Spanner.
    • DATABASE_ID: El nombre de la base de datos a la que te conectarás.
    • DATA_AGENT_CONTEXT_SET_ID: Es el ID del conjunto de contexto del agente de datos.
  6. Ejecuta el servidor de MCP Toolbox con el archivo tools.yaml.

    ./toolbox --tools-file "tools.yaml"
  7. Crea una aplicación del ADK que invoque la herramienta Gemini Data Analytics QueryData con el SDK de Python del kit de herramientas de MCP. Para obtener más información sobre cómo usar el SDK de Python de MCP Toolbox, consulta la guía de inicio rápido de Toolbox y, para el ADK de Python, consulta la guía de inicio rápido del ADK.

    1. Crea un directorio para almacenar la aplicación, por ejemplo, flight-assistant-app.
    2. Cambia el directorio al directorio flight-assistant-app.

      mkdir flight-assistant-app
      cd flight-assistant-app
    3. Ejecuta los siguientes comandos en el directorio flight-assistant-app para crear un entorno virtual y, luego, instalar los componentes necesarios.

      python3 -m venv .venv
      source .venv/bin/activate
      pip install toolbox-core
      pip install google-genai
      pip install google-adk
    4. Configura un agente del ADK.

      1. Crea un agente de ADK.

        adk create my_agent
      2. Selecciona el modelo gemini-2.5-flash.

      3. Selecciona Google AI y, luego, ingresa tu clave de API de Gemini. Para obtener más información sobre cómo encontrar tu clave de API, consulta Usa claves de la API de Gemini.

    5. Reemplaza el contenido del archivo agent.py por el siguiente código de la aplicación de ejemplo del Asistente de datos de vuelo.

      from typing import cast
      
      from google.adk.agents.llm_agent import Agent
      from google.adk.agents.llm_agent import ToolUnion
      
      from toolbox_core import ToolboxSyncClient
      
      TOOLBOX_URL = "http://127.0.0.1:5000"
      
      INSTRUCTION = """
      # ROLE
      You are a friendly and factual flight data assistant. Your goal is to help users find the best flights for their needs by providing accurate information with a helpful, professional tone.
      - use the Query Data Tool to answer the user's question, if the tool fails to generate a valid query, ask the user to clarify their question.
      
      # OPERATIONAL CONSTRAINTS
      - TOOL LIMITATION: You only have access to the Query Data Tool. Do not claim to have capabilities beyond what this tool provides.
      - TRANSPARENCY POLICY: Maintain a seamless user experience. Never mention that you are using a tool, querying a database, or generating SQL. Frame all responses as your own direct assistance.
      - SCOPE MANAGEMENT: If a user asks for something beyond your capabilities, politely state that you cannot perform that specific task. Guide the user towards what you can help with.
      
      # COMMUNICATION STYLE
      - Be concise and scannable when listing answers.
      - Maintain a helpful, professional persona.
      
      =====
      
      # QUERY DATA TOOL
      
      Inputs:
      1. query: A natural language formulation of a database query.
      
      Outputs: (all optional)
      1. disambiguation_question: Clarification questions or comments where the tool needs the users' input.
      2. generated_query: The generated query for the user query.
      3. intent_explanation: An explanation for why the tool produced `generated_query`.
      4. query_result: The result of executing `generated_query`.
      5. natural_language_answer: The natural language answer that summarizes the `query` and `query_result`.
      
      Usage guidance:
      1. If `disambiguation_question` is produced, then solicit the needed inputs from the user and try the tool with a new `query` that has the needed clarification.
      2. If `natural_language_answer` is produced, use `intent_explanation` and `generated_query` to see if you need to clarify any assumptions for the user.
      3. If the tool output indicates failure or empty results, explain that clearly using the provided reasoning.
      """
      
      client = ToolboxSyncClient(TOOLBOX_URL)
      
      mcp_tool = client.load_tool("cloud_gda_query_tool")
      
      root_agent = Agent(
          model="gemini-2.5-flash",
          name="root_agent",
          instruction=INSTRUCTION,
          tools=cast(list[ToolUnion], [mcp_tool]),
      )
      
  8. Ejecuta los siguientes comandos en el directorio flight-assistant-app para iniciar la aplicación y acceder al servidor web del ADK en http://127.0.0.1:8000.

    adk web --port 8000
  9. Ingresa cualquier texto, como hello, para comenzar a interactuar con el agente.

    El agente del ADK responde preguntas generales y llama a las herramientas de MCP necesarias.

  10. Ingresa la siguiente pregunta relacionada con vuelos.

    How many flights depart from the west side?
    

    Se llama a la herramienta de MCP para responder esta pregunta. Sin embargo, dado que el término the west es ambiguo y no especifica ningún aeropuerto, la herramienta de MCP devuelve una pregunta de desambiguación que el agente usa para construir una respuesta.

    I cannot determine how many flights depart from the 'west side' as the database does not contain information about which airports are considered to be on the 'west side'. However, I can help you with questions like:
    
    1. How many flights depart from a specific airport?
    
    2. What are the departure airports for all flights?
    
    3. How many flights depart from each airport? Would you like to rephrase your question based on these options?
    
  11. Ingresa una pregunta similar a la de la plantilla de consulta generada para el agente.

    Help me find flights from San Francisco that avoid the evening rush hour.
    

    Según el contexto del agente que se agregó anteriormente, la herramienta de MCP comprende que evening traffic ocurre entre las 5 p.m. y las 7 p.m. La herramienta de MCP devuelve los datos asociados para que el agente los use en la construcción de su respuesta.

    Here are the flights departing from San Francisco that avoid the evening rush hour (defined as 5 PM to 7 PM):
    
    * UA 1532 departing at 05:50:00
    * UA 1158 departing at 05:57:00
    * CY 922 departing at 06:38:00
    * OO 5441 departing at 07:08:00
    * UA 616 departing at 07:14:00
    * AA 24 departing at 07:14:00
    * B6 434 departing at 08:00:00
    * AA 242 departing at 08:18:00
    * UA 1739 departing at 08:22:00
    * OO 6336 departing at 08:32:00
    * US 1784 departing at 08:47:00
    * DL 1631 departing at 09:00:00
    * DL 1106 departing at 09:06:00
    * OO 5427 departing at 09:06:00
    * CY 352 departing at 09:25:00
    

Itera el rendimiento del agente

La IU web del ADK te permite inspeccionar la solicitud y la respuesta de la herramienta QueryData del MCP de Gemini Data Analytics. Puedes usar esta respuesta para observar las respuestas de la herramienta, como la consulta en SQL generada, el conjunto de resultados, la explicación de la intención, la pregunta de desambiguación y la respuesta en lenguaje natural, para confirmar la exactitud de las respuestas del agente.

Por ejemplo, para el texto de entrada How many flights depart from the west side? que ingresaste antes, haz clic en la burbuja del agente. En la pestaña Evento del panel de navegación izquierdo, expande functionResponse para ver la siguiente respuesta.

"{"disambiguationQuestion": ["[NOT_ENOUGH_INFO] The database schema does not
contain information about which airports are on the 'west side'. Therefore, I
cannot determine how many flights depart from the west side.Possible alternative
questions: 1. How many flights depart from a specific airport? 2. What are the
departure airports for all flights? 3. How many flights depart from each
airport?"]}"

Mejora la precisión de la respuesta

Puedes mejorar continuamente la precisión de las respuestas de la herramienta QueryData de Gemini Data Analytics agregando contexto adicional. Usa la Gemini CLI para generar contexto y, luego, sube el contexto del agente actualizado al agente flights-assistant existente. Para obtener más información, consulta Cómo crear contextos de compilación con Gemini CLI. La consola incorpora de inmediato el contexto nuevo después de que lo subes, lo que te permite mejorar la precisión del agente sin tiempo de inactividad de la aplicación.

Varios agentes

En tu entorno de desarrollo, puedes realizar pruebas A/B en varios contextos del agente asignando nombres distintos a las herramientas en tu archivo tools.yaml. Por ejemplo, puedes crear configuraciones de tools.yaml únicas definiendo dos herramientas de cloud-gemini-data-analytics-query con nombres diferentes, como cloud_gda_query_tool_v1 y cloud_gda_query_tool_v2. Esta configuración te permite implementar lógica de la aplicación que selecciona de forma programática la versión del contexto del agente requerida eligiendo el nombre de la herramienta correspondiente.

En el siguiente ejemplo tools.yaml, se muestra cómo configurar varios agentes para una fuente de base de datos:

sources:
  gda-api-source:
    kind: cloud-gemini-data-analytics
    projectId: "<var>PROJECT_ID</var>"
tools:
  cloud_gda_query_tool_v1:
    kind: cloud-gemini-data-analytics-query
    source: gda-api-source
    context:
      datasourceReferences:
        <var>DB_SOURCE</var>:
          databaseReference: ...
          agentContextReference:
            contextSetId: "V1_YOUR_DATA_AGENT_CONTEXT_SET_ID"
    generationOptions: ...
  cloud_gda_query_tool_v2:
    kind: cloud-gemini-data-analytics-query
    source: gda-api-source
    context:
      datasourceReferences:
        <var>DB_SOURCE</var>:
          databaseReference: ...
          agentContextReference:
            contextSetId: "V2_YOUR_DATA_AGENT_CONTEXT_SET_ID"
    generationOptions: ...

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud .
  • V1_YOUR_DATA_AGENT_CONTEXT_SET_ID: Es el ID del conjunto de contexto del agente de datos para la versión 1.
  • V2_YOUR_DATA_AGENT_CONTEXT_SET_ID: Es el ID del conjunto de contexto del agente de datos para la versión 2.

Limpia

En las siguientes secciones, se describe cómo borrar estos recursos y objetos.

Borra el agente

Antes de borrar la instancia, borra el agente que creaste.

  1. En la consola de Google Cloud , ve a la página de Spanner.

    Ir a Spanner

  2. Selecciona una instancia de la lista y, luego, selecciona una base de datos.

  3. En el menú de navegación, haz clic en Spanner Studio.

  4. En el panel Explorador, junto a tu agente de datos, haz clic en Ver acciones.

  5. En la ventana Borrar agente, ingresa flight-assistant en el cuadro de confirmación.

  6. Haz clic en Confirmar.

Borra la instancia

Cuando borras la instancia que creaste en la sección Antes de comenzar, también borras todos los objetos que creaste.

  1. En la consola de Google Cloud , ve a la página de Spanner.

    Ir a Spanner

  2. Haz clic en el nombre de la instancia que deseas borrar, por ejemplo, Instancia de prueba.

  3. Haz clic en Borrar instancia.

  4. Ingresa el nombre de la instancia y haz clic en Borrar para confirmar que deseas borrarla.

¿Qué sigue?