Merge https://github.com/google/adk-python/pull/3394 This PR corrects misspellings identified by the [check-spelling action](https://github.com/marketplace/actions/check-spelling) Note: while I use tooling to identify errors, the tooling doesn't _actually_ provide the corrections, I'm picking them on my own. I'm a human, and I may make mistakes. ### Testing Plan The misspellings have been reported at https://github.com/jsoref/adk-python/actions/runs/19056081305/attempts/1#summary-54426435973 The action reports that the changes in this PR would make it happy: https://github.com/jsoref/adk-python/actions/runs/19056081446/attempts/1#summary-54426436321 **Unit Tests:** - [ ] I have added or updated unit tests for my change. - [ ] All unit tests pass locally. _Please include a summary of passed `pytest` results._ **Manual End-to-End (E2E) Tests:** _Please provide instructions on how to manually test your changes, including any necessary setup or configuration. Please provide logs or screenshots to help reviewers better understand the fix._ ### Checklist - [x] I have read the [CONTRIBUTING.md](https://github.com/google/adk-python/blob/main/CONTRIBUTING.md) document. - [x] I have performed a self-review of my own code. - [ ] I have commented my code, particularly in hard-to-understand areas. - [ ] I have added tests that prove my fix is effective or that my feature works. - [ ] New and existing unit tests pass locally with my changes. - [ ] I have manually tested my changes end-to-end. - [ ] Any dependent changes have been merged and published in downstream modules. ### Additional context - https://github.com/google/adk-python/pull/3382#issuecomment-3488654110 COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/3394 from jsoref:spelling-contributing c3d5e342c4350f7cae9f8f0c6638b176f2e30e80 PiperOrigin-RevId: 828659867
Bigtable Tools Sample
Introduction
This sample agent demonstrates the Bigtable first-party tools in ADK,
distributed via the google.adk.tools.bigtable module. These tools include:
bigtable_list_instances
Fetches Bigtable instance ids in a Google Cloud project.
bigtable_get_instance_info
Fetches metadata information about a Bigtable instance.
bigtable_list_tables
Fetches table ids in a Bigtable instance.
bigtable_get_table_info
Fetches metadata information about a Bigtable table.
bigtable_execute_sql
Runs a DQL SQL query in Bigtable database.
How to use
Set up environment variables in your .env file for using
Google AI Studio
or
Google Cloud Vertex AI
for the LLM service for your agent. For example, for using Google AI Studio you
would set:
- GOOGLE_GENAI_USE_VERTEXAI=FALSE
- GOOGLE_API_KEY={your api key}
With Application Default Credentials
This mode is useful for quick development when the agent builder is the only user interacting with the agent. The tools are run with these credentials.
-
Create application default credentials on the machine where the agent would be running by following https://cloud.google.com/docs/authentication/provide-credentials-adc.
-
Set
CREDENTIALS_TYPE=Noneinagent.py -
Run the agent
With Service Account Keys
This mode is useful for quick development when the agent builder wants to run the agent with service account credentials. The tools are run with these credentials.
-
Create service account key by following https://cloud.google.com/iam/docs/service-account-creds#user-managed-keys.
-
Set
CREDENTIALS_TYPE=AuthCredentialTypes.SERVICE_ACCOUNTinagent.py -
Download the key file and replace
"service_account_key.json"with the path -
Run the agent
With Interactive OAuth
-
Follow https://developers.google.com/identity/protocols/oauth2#1.-obtain-oauth-2.0-credentials-from-the-dynamic_data.setvar.console_name. to get your client id and client secret. Be sure to choose "web" as your client type.
-
Follow https://developers.google.com/workspace/guides/configure-oauth-consent to add scope "https://www.googleapis.com/auth/bigtable.admin" and "https://www.googleapis.com/auth/bigtable.data" as declaration, this is used for review purpose.
-
Follow https://developers.google.com/identity/protocols/oauth2/web-server#creatingcred to add http://localhost/dev-ui/ to "Authorized redirect URIs".
Note: localhost here is just a hostname that you use to access the dev ui, replace it with the actual hostname you use to access the dev ui.
-
For 1st run, allow popup for localhost in Chrome.
-
Configure your
.envfile to add two more variables before running the agent:- OAUTH_CLIENT_ID={your client id}
- OAUTH_CLIENT_SECRET={your client secret}
Note: don't create a separate .env, instead put it to the same .env file that stores your Vertex AI or Dev ML credentials
-
Set
CREDENTIALS_TYPE=AuthCredentialTypes.OAUTH2inagent.pyand run the agent
Sample prompts
- Show me all instances in the my-project.
- Show me all tables in the my-instance instance in my-project.
- Describe the schema of the my-table table in the my-instance instance in my-project.
- Show me the first 10 rows of data from the my-table table in the my-instance instance in my-project.