Files
genai-toolbox/docs/en/resources/tools/bigquery/bigquery-forecast.md
Yuan Teoh 293c1d6889 feat!: update configuration file v2 (#2369)
This PR introduces a significant update to the Toolbox configuration
file format, which is one of the primary **breaking changes** required
for the implementation of the Advanced Control Plane.

# Summary of Changes
The configuration schema has been updated to enforce resource isolation
and facilitate atomic, incremental updates.
* Resource Isolation: Resource definitions are now separated into
individual blocks, using a distinct structure for each resource type
(Source, Tool, Toolset, etc.). This improves readability, management,
and auditing of configuration files.
* Field Name Modification: Internal field names have been modified to
align with declarative methodologies. Specifically, the configuration
now separates kind (general resource type, e.g., Source) from type
(specific implementation, e.g., Postgres).

# User Impact
Existing tools.yaml configuration files are now in an outdated format.
Users must eventually update their files to the new YAML format.

# Mitigation & Compatibility
Backward compatibility is maintained during this transition to ensure no
immediate user action is required for existing files.
* Immediate Backward Compatibility: The source code includes a
pre-processing layer that automatically detects outdated configuration
files (v1 format) and converts them to the new v2 format under the hood.
* [COMING SOON] Migration Support: The new toolbox migrate subcommand
will be introduced to allow users to automatically convert their old
configuration files to the latest format.

# Example
Example for config file v2:
```
kind: sources
name: my-pg-instance
type: cloud-sql-postgres
project: my-project
region: my-region
instance: my-instance
database: my_db
user: my_user
password: my_pass
---
kind: authServices
name: my-google-auth
type: google
clientId: testing-id
---
kind: tools
name: example_tool
type: postgres-sql
source: my-pg-instance
description: some description
statement: SELECT * FROM SQL_STATEMENT;
parameters:
- name: country
  type: string
  description: some description
---
kind: tools
name: example_tool_2
type: postgres-sql
source: my-pg-instance
description: returning the number one
statement: SELECT 1;
---
kind: toolsets
name: example_toolset
tools:
- example_tool
```

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
2026-01-27 16:58:43 -08:00

3.4 KiB

title, type, weight, description, aliases
title type weight description aliases
bigquery-forecast docs 1 A "bigquery-forecast" tool forecasts time series data in BigQuery.
/resources/tools/bigquery-forecast

About

A bigquery-forecast tool forecasts time series data in BigQuery. It's compatible with the following sources:

bigquery-forecast constructs and executes a SELECT * FROM AI.FORECAST(...) query based on the provided parameters:

  • history_data (string, required): This specifies the source of the historical time series data. It can be either a fully qualified BigQuery table ID (e.g., my-project.my_dataset.my_table) or a SQL query that returns the data.
  • timestamp_col (string, required): The name of the column in your history_data that contains the timestamps.
  • data_col (string, required): The name of the column in your history_data that contains the numeric values to be forecasted.
  • id_cols (array of strings, optional): If you are forecasting multiple time series at once (e.g., sales for different products), this parameter takes an array of column names that uniquely identify each series. It defaults to an empty array if not provided.
  • horizon (integer, optional): The number of future time steps you want to predict. It defaults to 10 if not specified.

The behavior of this tool is influenced by the writeMode setting on its bigquery source:

  • allowed (default) and blocked: These modes do not impose any special restrictions on the bigquery-forecast tool.
  • protected: This mode enables session-based execution. The tool will operate within the same BigQuery session as other tools using the same source. This allows the history_data parameter to be a query that references temporary resources (e.g., TEMP tables) created within that session.

The tool's behavior is also influenced by the allowedDatasets restriction on the bigquery source:

  • Without allowedDatasets restriction: The tool can use any table or query for the history_data parameter.
  • With allowedDatasets restriction: The tool verifies that the history_data parameter only accesses tables within the allowed datasets.
    • If history_data is a table ID, the tool checks if the table's dataset is in the allowed list.
    • If history_data is a query, the tool performs a dry run to analyze the query and rejects it if it accesses any table outside the allowed list.

Example

kind: tools
name: forecast_tool
type: bigquery-forecast
source: my-bigquery-source
description: Use this tool to forecast time series data in BigQuery.

Sample Prompt

You can use the following sample prompts to call this tool:

  • Can you forecast the history time series data in bigquery table bqml_tutorial.google_analytic? Use project_id myproject.
  • What are the future total_visits in bigquery table bqml_tutorial.google_analytic?

Reference

field type required description
type string true Must be "bigquery-forecast".
source string true Name of the source the forecast tool should execute on.
description string true Description of the tool that is passed to the LLM.