Ce tutoriel explique comment configurer et utiliser un agent de données dans Cloud SQL pour MySQL à l'aide de la console Cloud de Confiance et comment l'intégrer à votre application. Vous apprendrez à créer le fichier de contexte de l'agent, à créer un agent de données qui utilise le contexte, à utiliser MCP Toolbox pour appeler l'API QueryData afin de générer des requêtes SQL pour les questions en langage naturel, et enfin à l'intégrer à votre application.
Pour en savoir plus, consultez Présentation des agents de données.
Objectifs
- créer et remplir des tables ;
- Créez un contexte d'agent avec Gemini CLI et la boîte à outils MCP.
- Créez un agent de données et importez le contexte.
- Inspectez l'agent et générez des requêtes SQL dans Studio.
- Intégrez l'agent à votre application à l'aide de l'outil Gemini Data Analytics QueryData dans MCP Toolbox.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Cloud de Confiance by S3NS :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Les nouveaux utilisateurs de Cloud de Confiance by S3NS peuvent bénéficier d'un essai sans frais.
Une fois que vous avez terminé les tâches décrites dans ce document, évitez de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
Avant de créer un agent, remplissez les conditions préalables suivantes.
Activer les services requis
Activez les services suivants pour votre projet :Préparer une instance Cloud SQL
- Assurez-vous d'avoir accès à une instance Cloud SQL existante ou créez-en une. Pour en savoir plus, consultez Créer des instances pour Cloud SQL.
- Assurez-vous de créer une base de données dans votre instance où vous créerez les tables. Pour en savoir plus, consultez Créer une base de données sur l'instance Cloud SQL.
Rôles et autorisations requis
- Ajoutez un compte d'utilisateur ou de service IAM au niveau de l'instance. Pour en savoir plus, consultez Ajouter une liaison de stratégie IAM à un utilisateur, un compte de service ou un groupe.
- Attribuez les rôles
cloudsql.studioUseretcloudsql.instanceUserà l'utilisateur IAM au niveau du projet. Pour en savoir plus, consultez Ajouter une association de stratégie IAM pour un projet. - Vous devez également accorder des droits sur la base de données à un utilisateur ou à un compte de service IAM en vous connectant en tant qu'utilisateur de la base de données avec mot de passe.
GRANT ALL PRIVILEGES ON * TO "IAM_USERNAME";.
Pour en savoir plus, consultez Accorder des droits sur une base de données à un utilisateur ou à un compte de service IAM individuel.
Accorder l'autorisation executesql à l'instance Cloud SQL
Pour accorder l'autorisation executesql à l'instance Cloud SQL et activer l'API Cloud SQL Data, exécutez la commande suivante :
gcloud components update gcloud beta sql instances patch INSTANCE_ID --data-api-access=ALLOW_DATA_API
INSTANCE_ID par l'ID de votre instance Cloud SQL.
Pour effectuer les étapes de ce tutoriel, connectez-vous à Cloud de Confiance by S3NS, puis authentifiez-vous auprès de la base de données à l'aide de l'authentification IAM.
Créer le schéma et les tables flights et airports
Dans cette section, vous allez créer les bases de données flights et airports pour ce tutoriel.
Dans la console Cloud de Confiance , accédez à la page Cloud SQL.
Sélectionnez une instance dans la liste.
Dans le menu de navigation, cliquez sur Cloud SQL Studio.
Connectez-vous à Studio à l'aide de l'authentification Identity and Access Management (IAM).
Cliquez sur Authentifier. Le volet "Explorateur" affiche la liste des objets de votre base de données.
Cliquez sur Nouvel onglet de l'éditeur SQL ou Nouvel onglet pour en ouvrir un.
Créez la table et le schéma
airports:CREATE TABLE IF NOT EXISTS airports ( id INT PRIMARY KEY, iata TEXT, name TEXT, city TEXT, country TEXT );Créez la table et le schéma
flights:CREATE TABLE IF NOT EXISTS flights ( id INT PRIMARY KEY, airline VARCHAR(10), flight_number INT, departure_airport VARCHAR(5), arrival_airport VARCHAR(5), departure_time TIMESTAMP, arrival_time TIMESTAMP, departure_gate VARCHAR(10), arrival_gate VARCHAR(10) );
Remplir la table flights et airport
Dans cette section, vous allez remplir les tables flights et airports à l'aide des scripts SQL fournis.
Remplissez la table
airports.Remplissez la table
flights.Exécutez la requête suivante pour vérifier que les tables sont remplies :
SELECT * FROM flights LIMIT 10; SELECT * FROM airports LIMIT 10;
Créer un agent de données
Dans cette section, vous allez créer un agent de données nommé flights-assistant. Aucun contexte d'agent n'a été importé dans cet agent.
- Dans le volet Explorateur, à côté de Agents de données, cliquez sur Afficher les actions.
- Cliquez sur Create agent (Créer un agent).
- Dans Nommez votre agent, saisissez
flights-assistant. - Cliquez sur Créer.
Inspecter l'agent dans Studio
Dans cette section, vous posez une question en langage naturel à l'agent flights-assistant, qui génère une requête SQL. Comme l'agent n'a aucun contexte, même après avoir posé une question avec un contexte tel que nighttime traffic, il génère une requête sous-optimale.
- Dans le volet Explorateur, à côté de votre agent de données, cliquez sur Afficher les actions.
- Cliquez sur Inspecter l'agent.
- Dans l'éditeur de requête, cliquez sur Générer du code SQL à l'aide de l'agent flights-assistant.
Saisissez la question en langage naturel suivante pour générer une requête SQL, puis cliquez sur Générer.
Find flights from SFO to JFK.Examinez la requête SQL. Notez que l'agent génère le code SQL correct pour cette question non ambiguë.
SELECT * FROM "flights" WHERE "departure_airport" = 'SFO' AND "arrival_airport" = 'JFK';Dans la fenêtre Générer du code SQL à l'aide de l'agent : assistant-vols, cliquez sur Modifier.
Saisissez la question en langage naturel suivante pour générer une requête SQL, puis cliquez sur Mettre à jour.
Tell me flights that can help me beat nighttime traffic if traveling from New YorkLa base de données ne comprend pas le terme "trafic"
nighttime. Cela peut l'empêcher de générer une requête SQL ou l'amener à générer une requête qui ignore le terme, comme le montre la requête suivante.-- 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;
Générer le contexte pour l'agent
Dans cette section, vous allez créer un fichier de contexte qui permet d'améliorer les capacités de requête de l'agent. Pour résoudre le problème de la section précédente, où l'agent n'a pas reconnu le terme nighttime traffic, définissez le terme dans le contexte de l'agent comme trafic se produisant entre 5:00 PM et 7:00 PM.
Pour générer le contexte de l'agent, procédez comme suit :
- Dans votre répertoire local, installez Gemini CLI. Pour en savoir plus, consultez le guide de démarrage rapide de Gemini CLI.
- Installez gcloud CLI et configurez les identifiants par défaut de l'application (ADC).
Installez l'extension MCP Toolbox Gemini CLI, qui se connecte à la base de données.
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolboxCréez un fichier de configuration
tools.yamldans le même répertoire où vous installez la boîte à outils MCP pour configurer la connexion à la base de données :sources: flight-sql-source: kind: cloud-sql-mysql project: PROJECT_ID region: REGION_ID instance: INSTANCE_ID database: DATABASE_ID user: USER_NAME password: PASSWORD tools: # (Optional) Fetches database schemas for context generation in the bulk generation (/generate_bulk_templates) phase. list_flight_schemas_tool: kind: mysql-list-tables source: flight-sql-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: mysql-execute-sql source: flight-sql-source description: Use this tool to execute SQL against the flight database.Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance .REGION_ID: région de votre instance Cloud SQL (par exemple, us-central1).INSTANCE_ID: ID de votre instance Cloud SQL.DATABASE_ID: nom de la base de données à laquelle se connecter.USER_NAME: utilisateur de la base de données. Définissez-le comme variable d'environnement et non comme valeur littérale. Pour savoir comment définir cette valeur, consultez Sources dans MCP Toolbox.PASSWORD: mot de passe de l'utilisateur de la base de données. Définissez-le comme variable d'environnement et non comme valeur littérale. Pour savoir comment définir cette valeur, consultez Sources dans MCP Toolbox.
Installez le programme d'installation de packages Python
uven suivant le guide d'installation officiel et vérifiez que l'installation a réussi en exécutant la commande suivante :uv --versionInstallez le serveur MCP d'enrichissement du contexte de base de données, qui inclut des workflows pour la génération de contexte.
gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichmentExportez la clé API Gemini en tant que variable d'environnement. Pour savoir comment trouver la clé API, consultez Utiliser des clés API Gemini.
export GEMINI_API_KEY="YOUR_API_KEY"Remplacez
YOUR_API_KEYpar votre clé API Gemini.Dans le même répertoire où vous avez créé le fichier
tools.yaml, démarrez Gemini :geminiVérifiez que la boîte à outils MCP et l'extension d'enrichissement de la base de données sont connectées et prêtes à l'emploi.
/mcp listExécutez la commande
/generate_targeted_templateset suivez le workflow :/generate_targeted_templatesDans le terminal, indiquez la requête en langage naturel que vous souhaitez ajouter au modèle de requête.
Tell me flights that can help me beat nighttime traffic if traveling from New YorkFournissez la requête SQL correspondante que vous souhaitez ajouter au modèle de requête. Ce modèle de requête définit le terme
nighttimecomme se produisant entre5:00 PMet7: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;Appuyez sur Entrée. Gemini convertit votre entrée dans un format spécifique qui améliore les performances de l'agent pour un large éventail de requêtes utilisateur. Pour en savoir plus, consultez Contexte de l'agent.
Vous pouvez également exécuter le workflow
/generate_bulk_templatespour permettre à Gemini CLI de générer plus de contexte en analysant le schéma de votre base de données et en suggérant un contexte associé. Veillez à ajouterlist_flight_schemas_tooletexecute_sql_toolà la configurationtools.yamlque vous avez créée à l'étape 4.Examinez le modèle de requête généré. Vous pouvez enregistrer le modèle de requête en tant que fichier de contexte d'agent ou l'ajouter à un fichier de contexte d'agent existant.
Sélectionnez l'option permettant de créer un fichier de contexte d'agent. Gemini crée un fichier nommé
INSTANCE_ID_DATABASE_ID_context_set_TIMESTAMP.jsondans le même répertoire, avec le contenu suivant :{ "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 ?" } } ] }
Importer du contexte dans l'agent
Dans cette section, vous importez le fichier de contexte de l'agent dans l'agent de données. Cela permet d'améliorer les capacités de génération de code SQL de l'agent dans votre base de données.
Pour importer le contexte, procédez comme suit :
Dans la console Cloud de Confiance , accédez à la page Cloud SQL.
Sélectionnez une instance dans la liste.
Dans le menu de navigation, cliquez sur Cloud SQL Studio.
Connectez-vous à Studio à l'aide de l'authentification Identity and Access Management (IAM).
Dans le volet Explorateur, à côté de Agents de données, cliquez sur Afficher les actions.
Cliquez sur Modifier l'agent.
Facultatif : Modifiez la description de l'agent.
Cliquez sur Parcourir dans la section Importer le fichier de contexte de l'agent, puis sélectionnez le fichier de contexte de l'agent généré précédemment.
Cliquez sur Enregistrer.
Générer une requête SQL à l'aide du contexte de l'agent
Dans cette section, vous allez utiliser le fichier de contexte de l'agent que vous avez importé pour poser des questions en langage naturel. Cela vous permet de vérifier que l'agent comprend et applique correctement les définitions de termes tels que nighttime traffic et d'autres expressions associées.
Pour générer des requêtes SQL, procédez comme suit :
- Dans le volet Explorateur, à côté de votre agent de données, cliquez sur Afficher les actions.
- Cliquez sur Inspecter l'agent.
- Dans l'éditeur de requête, cliquez sur Générer du code SQL à l'aide de l'agent flights-assistant.
Saisissez la question en langage naturel suivante pour générer une requête SQL, puis cliquez sur Générer.
Tell me flights that can help me beat nighttime traffic if traveling from New YorkLa requête SQL générée ressemble à celle-ci :
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;Il s'agit de la même question que celle que vous avez ajoutée au contexte de l'agent de données. Notez que l'agent peut désormais interpréter correctement le terme
nighttime traffic.Bien que le contexte provienne d'une question spécifique, l'agent l'utilise pour améliorer la génération de code SQL pour un large éventail de questions similaires.
Dans la fenêtre Générer du code SQL à l'aide de l'agent : assistant-vols, cliquez sur Modifier.
Saisissez une question semblable à celle-ci pour générer une requête SQL, puis cliquez sur Mettre à jour.
What are the flights that can help me avoid evening traffic if departing from BostonComme la question remplace le terme
nighttime trafficpar un terme similaire,evening traffic, l'agent fournit une réponse cohérente en appliquant la même interprétation.La requête SQL générée ressemble à celle-ci :
-- 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;
Intégrer l'agent à votre application
Dans cette section, vous allez créer un agent de données pour une application de recherche de vols. Cet agent de données fournit une interface de conversation pour les tables flights et airports que vous avez créées précédemment. Il explique également comment créer et intégrer cet agent dans votre application à l'aide de l'Agent Development Kit (ADK), de l'outil Gemini Data Analytics QueryData MCP et du contexte de l'agent pour améliorer la qualité des réponses.
Téléchargez la MCP Toolbox version 0.24.0 ou ultérieure. MCP Toolbox expose l'agent de données en tant qu'outil auquel les applications peuvent se connecter. La boîte à outils MCP diffère de l'extension Gemini CLI MCP Toolbox que vous avez installée précédemment et qui génère du contexte.
Dans le terminal, définissez le projet que vous utilisez.
gcloud config set project [PROJECT_ID]Configurez les identifiants par défaut de l'application.
gcloud auth application-default loginRecherchez l'ID de contexte de l'agent. Pour savoir comment trouver l'ID de l'ensemble de contexte, consultez Trouver l'ID du contexte de l'agent.
Créez la configuration
tools.yamlpour vous connecter à l'agent de données à l'aide de la boîte à outils MCP. Pour en savoir plus, consultez Source Gemini Data Analytics et l'outil QueryData Gemini Data Analytics.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: cloudSqlReference: databaseReference: engine: "MYSQL" 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: trueRemplacez les éléments suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance .REGION_ID: région de votre instance Cloud SQL (par exemple, us-central1).INSTANCE_ID: ID de votre instance Cloud SQL.DATABASE_ID: nom de la base de données à laquelle se connecter.DATA_AGENT_CONTEXT_SET_ID: ID de l'ensemble de contexte de l'agent de données.
Exécutez le serveur MCP Toolbox avec le fichier
tools.yaml../toolbox --tools-file "tools.yaml"Créez une application ADK qui appelle l'outil QueryData Gemini Data Analytics à l'aide du SDK Python de MCP Toolbox. Pour en savoir plus sur l'utilisation du SDK Python de la boîte à outils MCP, consultez le guide de démarrage rapide de la boîte à outils. Pour en savoir plus sur le SDK Python de l'ADK, consultez le guide de démarrage rapide de l'ADK.
- Créez un répertoire pour stocker l'application, par exemple
flight-assistant-app. Remplacez le répertoire par le répertoire
flight-assistant-app.mkdir flight-assistant-appcd flight-assistant-appExécutez les commandes suivantes dans le répertoire
flight-assistant-apppour créer un environnement virtuel et installer les composants requis.python3 -m venv .venvsource .venv/bin/activatepip install toolbox-corepip install google-genaipip install google-adkConfigurez un agent ADK.
Créez un agent ADK.
adk create my_agentSélectionnez le modèle
gemini-2.5-flash.Sélectionnez Google AI, puis saisissez votre clé API Gemini. Pour savoir comment trouver votre clé API, consultez Utiliser des clés API Gemini.
Remplacez le contenu du fichier
agent.pypar le code d'exemple suivant de l'application Flight Data Assistant.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]), )
- Créez un répertoire pour stocker l'application, par exemple
Exécutez les commandes suivantes dans le répertoire
flight-assistant-apppour démarrer l'application et accéder au serveur Web ADK à l'adressehttp://127.0.0.1:8000.adk web --port 8000Saisissez du texte, par exemple
hello, pour commencer à interagir avec l'agent.L'agent ADK répond aux questions générales et appelle les outils MCP requis.
Saisissez la question suivante sur un vol.
How many flights depart from the west side?L'outil MCP est appelé à répondre à cette question. Toutefois, comme le terme
the westest ambigu et ne spécifie aucun aéroport, l'outil MCP renvoie une question de clarification que l'agent utilise pour construire une réponse.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?Saisissez une question semblable à celle du modèle de requête généré pour l'agent.
Help me find flights from San Francisco that avoid the evening rush hour.En fonction du contexte d'agent ajouté précédemment, l'outil MCP comprend que
evening trafficse produit entre 17h et 19h. L'outil MCP renvoie les données associées que l'agent peut utiliser pour construire sa réponse.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
Améliorer les performances de l'agent
L'interface utilisateur Web de l'ADK vous permet d'inspecter la requête et la réponse de l'outil MCP QueryData de Gemini Data Analytics. Vous pouvez utiliser cette réponse pour observer les réponses de l'outil, telles que la requête SQL générée, l'ensemble de résultats, l'explication de l'intention, la question de clarification et la réponse en langage naturel, afin de vérifier l'exactitude des réponses de votre agent.
Par exemple, cliquez sur la bulle de l'agent pour le texte d'entrée How many flights depart from the west side? que vous avez saisi précédemment. Dans l'onglet Événement du panneau de navigation de gauche, développez functionResponse pour afficher la réponse suivante.
"{"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?"]}"
Améliorer la précision des réponses
Vous pouvez affiner en continu la précision des réponses de l'outil QueryData Gemini Data Analytics en ajoutant du contexte. Utilisez la CLI Gemini pour générer du contexte, puis importez le contexte d'agent mis à jour dans l'agent flights-assistant existant. Pour en savoir plus, consultez Créer des contextes à l'aide de Gemini CLI. La console ingère immédiatement le nouveau contexte après l'avoir importé, ce qui vous permet d'améliorer la précision de l'agent sans aucun temps d'arrêt de l'application.
Plusieurs agents
Dans votre environnement de développement, vous pouvez effectuer des tests A/B sur plusieurs contextes d'agent en attribuant des noms distincts aux outils de votre fichier tools.yaml. Par exemple, vous pouvez créer des configurations tools.yaml uniques en définissant deux outils cloud-gemini-data-analytics-query avec des noms différents, tels que cloud_gda_query_tool_v1 et cloud_gda_query_tool_v2. Cette configuration vous permet d'implémenter une logique d'application qui sélectionne de manière programmatique la version de contexte d'agent requise en choisissant le nom d'outil correspondant.
L'exemple suivant tools.yaml montre comment configurer plusieurs agents pour une source de données de base de données :
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: ...
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Cloud de Confiance by S3NS .V1_YOUR_DATA_AGENT_CONTEXT_SET_ID: ID de l'ensemble de contexte de l'agent de données pour la version 1.V2_YOUR_DATA_AGENT_CONTEXT_SET_ID: ID de l'ensemble de contexte de l'agent de données pour la version 2.
Effectuer un nettoyage
Dans les sections suivantes, nous allons voir comment supprimer ces ressources et ces objets.
Supprimer l'agent
Avant de supprimer l'instance, supprimez l'agent que vous avez créé.
Dans la console Cloud de Confiance , accédez à la page Cloud SQL.
Sélectionnez une instance dans la liste.
Dans le menu de navigation, cliquez sur Cloud SQL Studio.
Connectez-vous à Studio à l'aide de l'authentification Identity and Access Management (IAM).
Dans le volet Explorateur, à côté de votre agent de données, cliquez sur Afficher les actions.
Dans la fenêtre Supprimer l'agent, saisissez
flight-assistantdans la zone de confirmation.Cliquez sur Confirmer.
Supprimer l'instance
Lorsque vous supprimez l'instance que vous avez créée dans la section Avant de commencer, tous les objets que vous avez créés sont également supprimés.
Dans la console Cloud de Confiance , accédez à la page Cloud SQL.
Sélectionnez une instance dans la liste.
Cliquez sur Supprimer.
Confirmez que vous souhaitez supprimer l'instance en saisissant son nom et en cliquant sur Supprimer.
Étape suivante
- En savoir plus sur la présentation des agents de données
- Découvrez comment définir le contexte de l'agent de données pour les sources de données de base de données.