Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9aea47a
Add Vertex AI Agent Engine operators (Create, Get, Query, Update, Del…
AlejandroMorgante Jun 12, 2026
9296f6e
Fix Vertex AI Agent Engine delete trigger
AlejandroMorgante Jun 12, 2026
7aae98d
Fix Google provider metadata ordering
AlejandroMorgante Jun 12, 2026
a5e0b11
Trigger CI
AlejandroMorgante Jun 13, 2026
c202cf0
Parse JSON string input in query_agent_engine to handle Jinja-templat…
AlejandroMorgante Jun 13, 2026
a09d3ad
Address review comments on Vertex AI Agent Engine operators
AlejandroMorgante Jun 15, 2026
8945fcd
Fix Agent Engine delete trigger timeout test
AlejandroMorgante Jun 15, 2026
24a725d
Use Agent Engine ID in Vertex AI operators
AlejandroMorgante Jun 16, 2026
d04718b
Log Vertex AI Agent Engine operator actions
AlejandroMorgante Jun 16, 2026
85aad53
Type Vertex AI Agent Engine hook results
AlejandroMorgante Jun 16, 2026
76c19b1
Tighten Vertex AI Agent Engine API surface
AlejandroMorgante Jun 16, 2026
191b14d
Update lock file for Agent Engine dependencies
AlejandroMorgante Jun 16, 2026
d72043f
Update Google provider dependency docs
AlejandroMorgante Jun 16, 2026
d0c3ce4
Wait for Agent Engine delete operations
AlejandroMorgante Jun 18, 2026
ebf48e3
Remove Agent Engine delete resource polling
AlejandroMorgante Jun 18, 2026
47ac699
Use public Agent Engine query job API
AlejandroMorgante Jun 19, 2026
bf56fe2
Document Agent Engine query job config
AlejandroMorgante Jun 19, 2026
6948c00
Add CheckQueryAgentEngineOperator and fix query operator
AlejandroMorgante Jun 19, 2026
f1bdae9
Fix _serialize_value duplication and unknown status handling in Agent…
AlejandroMorgante Jun 19, 2026
10ea6e5
Fix timeout comparison to >= in Agent Engine hook polling loops
AlejandroMorgante Jun 19, 2026
fdd2adf
Fix mypy errors in Agent Engine trigger and system test config types
AlejandroMorgante Jun 19, 2026
1055fe2
Handle Agent Engine polling edge cases
AlejandroMorgante Jun 20, 2026
70ede63
Clarify Agent Engine delete operation docs
AlejandroMorgante Jun 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions providers/google/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ PIP package Version required
``google-api-python-client`` ``>=2.0.2``
``google-auth`` ``>=2.29.0``
``google-auth-httplib2`` ``>=0.0.1``
``google-genai`` ``>=2.8.0``
``google-cloud-aiplatform[evaluation]`` ``>=1.155.0``
``ray[default]`` ``>=2.42.0; python_version < "3.13"``
``ray[default]`` ``>=2.49.0; python_version >= "3.13" and python_version < "3.14"``
Expand Down
1 change: 1 addition & 0 deletions providers/google/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ PIP package Version required
``google-api-python-client`` ``>=2.0.2``
``google-auth`` ``>=2.29.0``
``google-auth-httplib2`` ``>=0.0.1``
``google-genai`` ``>=2.8.0``
``google-cloud-aiplatform[evaluation]`` ``>=1.155.0``
``ray[default]`` ``>=2.42.0; python_version < "3.13"``
``ray[default]`` ``>=2.49.0; python_version >= "3.13" and python_version < "3.14"``
Expand Down
68 changes: 68 additions & 0 deletions providers/google/docs/operators/cloud/vertex_ai.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,74 @@ With Vertex AI, both AutoML training and custom training are available options.
Whichever option you choose for training, you can save models, deploy models, and
request predictions with Vertex AI.

Managing Agent Engines
^^^^^^^^^^^^^^^^^^^^^^

To create a Vertex AI Agent Engine you can use
:class:`~airflow.providers.google.cloud.operators.vertex_ai.agent_engine.CreateAgentEngineOperator`.

.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_agent_engine.py
:language: python
:dedent: 4
:start-after: [START how_to_cloud_vertex_ai_create_agent_engine_operator]
:end-before: [END how_to_cloud_vertex_ai_create_agent_engine_operator]

To get an Agent Engine you can use
:class:`~airflow.providers.google.cloud.operators.vertex_ai.agent_engine.GetAgentEngineOperator`.

.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_agent_engine.py
:language: python
:dedent: 4
:start-after: [START how_to_cloud_vertex_ai_get_agent_engine_operator]
:end-before: [END how_to_cloud_vertex_ai_get_agent_engine_operator]

To run a query job on an Agent Engine you can use
:class:`~airflow.providers.google.cloud.operators.vertex_ai.agent_engine.QueryAgentEngineOperator`.
The operator uses the public ``run_query_job`` SDK method. The ``config`` parameter
is required and must include ``query`` and ``output_gcs_uri``. The SDK writes query
input and output through Google Cloud Storage and the operator returns the serialized
query job result metadata, including the job name and GCS URIs. This operator starts
the query job and does not wait for the query job output.

.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_agent_engine.py
:language: python
:dedent: 4
:start-after: [START how_to_cloud_vertex_ai_query_agent_engine_operator]
:end-before: [END how_to_cloud_vertex_ai_query_agent_engine_operator]

To wait for a query job and retrieve its output you can use
:class:`~airflow.providers.google.cloud.operators.vertex_ai.agent_engine.CheckQueryAgentEngineOperator`.
The operator uses the public ``check_query_job`` SDK method. The ``config`` parameter
is optional. Set ``retrieve_result`` to ``True`` in ``config`` to return the query job
result from Google Cloud Storage. The same operation can be performed in the
deferrable mode.

.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_agent_engine.py
:language: python
:dedent: 4
:start-after: [START how_to_cloud_vertex_ai_check_query_agent_engine_operator]
:end-before: [END how_to_cloud_vertex_ai_check_query_agent_engine_operator]

To update an Agent Engine you can use
:class:`~airflow.providers.google.cloud.operators.vertex_ai.agent_engine.UpdateAgentEngineOperator`.

.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_agent_engine.py
:language: python
:dedent: 4
:start-after: [START how_to_cloud_vertex_ai_update_agent_engine_operator]
:end-before: [END how_to_cloud_vertex_ai_update_agent_engine_operator]

To delete an Agent Engine you can use
:class:`~airflow.providers.google.cloud.operators.vertex_ai.agent_engine.DeleteAgentEngineOperator`.
By default, the operator waits until the delete operation completes. The same operation
can be performed in the deferrable mode.

.. exampleinclude:: /../../google/tests/system/google/cloud/vertex_ai/example_vertex_ai_agent_engine.py
:language: python
:dedent: 4
:start-after: [START how_to_cloud_vertex_ai_delete_agent_engine_operator]
:end-before: [END how_to_cloud_vertex_ai_delete_agent_engine_operator]

Creating Datasets
^^^^^^^^^^^^^^^^^

Expand Down
2 changes: 2 additions & 0 deletions providers/google/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -614,6 +614,7 @@ operators:
- airflow.providers.google.cloud.operators.vertex_ai.generative_model
- airflow.providers.google.cloud.operators.vertex_ai.feature_store
- airflow.providers.google.cloud.operators.vertex_ai.ray
- airflow.providers.google.cloud.operators.vertex_ai.agent_engine
- integration-name: Google Data Studio
python-modules:
- airflow.providers.google.cloud.operators.looker
Expand Down Expand Up @@ -900,6 +901,7 @@ hooks:
- airflow.providers.google.cloud.hooks.vertex_ai.generative_model
- airflow.providers.google.cloud.hooks.vertex_ai.prediction_service
- airflow.providers.google.cloud.hooks.vertex_ai.feature_store
- airflow.providers.google.cloud.hooks.vertex_ai.agent_engine
- airflow.providers.google.cloud.hooks.vertex_ai.ray
- integration-name: Google Data Studio
python-modules:
Expand Down
1 change: 1 addition & 0 deletions providers/google/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ dependencies = [
"google-api-python-client>=2.0.2",
"google-auth>=2.29.0",
"google-auth-httplib2>=0.0.1",
"google-genai>=2.8.0",
# google-cloud-aiplatform doesn't install ray for python 3.12 (issue: https://github.com/googleapis/python-aiplatform/issues/5252).
# Temporarily lock in ray 2.42.0 which is compatible with python 3.12 until linked issue is solved.
# Remove the ray dependency as well as google-cloud-bigquery-storage once linked issue is fixed
Expand Down
Loading
Loading