Skip to content

Commit d76411a

Browse files
yeesiancopybara-github
authored andcommitted
fix: GenAI SDK client - do not register API methods in get or update for agent_engines with lightweight creation
PiperOrigin-RevId: 799239717
1 parent 8612402 commit d76411a

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

tests/unit/vertexai/genai/test_agent_engines.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1882,19 +1882,19 @@ def setup_method(self):
18821882
],
18831883
)
18841884
@pytest.mark.usefixtures("caplog")
1885-
@mock.patch.object(_genai_types.AgentEngine, "operation_schemas")
18861885
@mock.patch.object(agent_engines.AgentEngines, "_get")
18871886
def test_invalid_operation_schema(
18881887
self,
18891888
mock_get,
1890-
mock_operation_schemas,
18911889
test_case_name,
18921890
test_operation_schemas,
18931891
want_log_output,
18941892
caplog,
18951893
):
1896-
mock_get.return_value = _genai_types.AgentEngine() # just to avoid an API call
1897-
mock_operation_schemas.return_value = test_operation_schemas
1894+
mock_get.return_value = _genai_types.ReasoningEngine(
1895+
name=_TEST_AGENT_ENGINE_RESOURCE_NAME,
1896+
spec=_genai_types.ReasoningEngineSpec(class_methods=test_operation_schemas),
1897+
)
18981898
self.client.agent_engines.get(name=_TEST_AGENT_ENGINE_RESOURCE_NAME)
18991899
assert want_log_output in caplog.text
19001900

vertexai/_genai/agent_engines.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -970,12 +970,15 @@ def get(
970970
"projects/123/locations/us-central1/reasoningEngines/456" or a
971971
shortened name such as "reasoningEngines/456".
972972
"""
973+
api_resource = self._get(name=name, config=config)
973974
agent_engine = types.AgentEngine(
974975
api_client=self,
975976
api_async_client=AsyncAgentEngines(api_client_=self._api_client),
976-
api_resource=self._get(name=name, config=config),
977+
api_resource=api_resource,
977978
)
978-
return self._register_api_methods(agent_engine=agent_engine)
979+
if api_resource.spec:
980+
self._register_api_methods(agent_engine=agent_engine)
981+
return agent_engine
979982

980983
def create(
981984
self,
@@ -1513,7 +1516,9 @@ def update(
15131516
logger.info(
15141517
f"agent_engine=client.agent_engines.get('{agent_engine.api_resource.name}')"
15151518
)
1516-
return self._register_api_methods(agent_engine=agent_engine)
1519+
if agent_engine.api_resource.spec:
1520+
self._register_api_methods(agent_engine=agent_engine)
1521+
return agent_engine
15171522

15181523
def _stream_query(
15191524
self,

0 commit comments

Comments
 (0)