# Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import os from google.adk.agents import llm_agent from google.adk.tools.bigquery import BigQueryCredentialsConfig from google.adk.tools.bigquery import BigQueryToolset import google.auth RUN_WITH_ADC = False if RUN_WITH_ADC: # Initialize the tools to use the application default credentials. application_default_credentials, _ = google.auth.default() credentials_config = BigQueryCredentialsConfig( credentials=application_default_credentials ) else: # Initiaze the tools to do interactive OAuth # The environment variables OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET # must be set credentials_config = BigQueryCredentialsConfig( client_id=os.getenv("OAUTH_CLIENT_ID"), client_secret=os.getenv("OAUTH_CLIENT_SECRET"), ) bigquery_toolset = BigQueryToolset(credentials_config=credentials_config) # The variable name `root_agent` determines what your root agent is for the # debug CLI root_agent = llm_agent.Agent( model="gemini-2.0-flash", name="hello_agent", description=( "Agent to answer questions about BigQuery data and models and execute" " SQL queries." ), instruction="""\ You are a data science agent with access to several BigQuery tools. Make use of those tools to answer the user's questions. """, tools=[bigquery_toolset], )