chore: Do not send api request when session does not have events

PiperOrigin-RevId: 775423356
This commit is contained in:
Shangjie Chen
2025-06-24 16:15:23 -07:00
committed by Copybara-Service
parent 09f1269bf7
commit 88a4402d14
2 changed files with 25 additions and 6 deletions
@@ -78,12 +78,15 @@ class VertexAiMemoryBankService(BaseMemoryService):
},
}
api_response = await api_client.async_request(
http_method='POST',
path=f'reasoningEngines/{self._agent_engine_id}/memories:generate',
request_dict=request_dict,
)
logger.info(f'Generate memory response: {api_response}')
if events:
api_response = await api_client.async_request(
http_method='POST',
path=f'reasoningEngines/{self._agent_engine_id}/memories:generate',
request_dict=request_dict,
)
logger.info(f'Generate memory response: {api_response}')
else:
logger.info('No events to add to memory.')
@override
async def search_memory(self, *, app_name: str, user_id: str, query: str):
@@ -48,6 +48,13 @@ MOCK_SESSION = Session(
],
)
MOCK_SESSION_WITH_EMPTY_EVENTS = Session(
app_name=MOCK_APP_NAME,
user_id=MOCK_USER_ID,
id='444',
last_update_time=22333,
)
RETRIEVE_MEMORIES_REGEX = r'^reasoningEngines/([^/]+)/memories:retrieve$'
GENERATE_MEMORIES_REGEX = r'^reasoningEngines/([^/]+)/memories:generate$'
@@ -136,6 +143,15 @@ async def test_add_session_to_memory(mock_get_api_client):
)
@pytest.mark.asyncio
@pytest.mark.usefixtures('mock_get_api_client')
async def test_add_empty_session_to_memory(mock_get_api_client):
memory_service = mock_vertex_ai_memory_bank_service()
await memory_service.add_session_to_memory(MOCK_SESSION_WITH_EMPTY_EVENTS)
mock_get_api_client.async_request.assert_not_called()
@pytest.mark.asyncio
@pytest.mark.usefixtures('mock_get_api_client')
async def test_search_memory(mock_get_api_client):