mirror of
https://github.com/EvolutionAPI/adk-python.git
synced 2025-07-14 01:41:25 -06:00

Right now the agent builder has to specify the bigquery scope explicitly for bigquery tools, which is somewhat unnecessary. With this change the user does not have to specify scopes, although they would still have the ability to overrides scopes if necessary. PiperOrigin-RevId: 765354010
58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
# 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],
|
|
)
|