-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Describe the bug
The streaming tool example in https://google.github.io/adk-docs/streaming/streaming-tools/ returns errors on tool invokation.
To Reproduce
Steps to reproduce the behavior:
Run adk create streaming-tool-example
Take the code from the documentation and replace in agent.py file (adding right imports, API key etc)
Run adk web
Error 1 - running the example as is
ValueError: Failed to parse the parameter return_value: AsyncGenerator[str, NoneType] of function monitor_stock_price for automatic function calling.Automatic function calling works best with simpler function signature schema, consider manually parsing your function declaration for function monitor_stock_price.
Error 2 - removing type hinting from the monitor_stock_price function
async def monitor_stock_price(stock_symbol: str) -> AsyncGenerator[str, None]:
with
async def monitor_stock_price(stock_symbol: str):
Running adk web and requesting the agent eg "provide stock price for GOOGL" returns the following error:
Unable to serialize unknown type: <class 'async_generator'>.
TypeError: cannot pickle 'async_generator'
Desktop (please complete the following information):
- OS: macOS
- Python version(python -V): Python 3.11.14
- ADK version(pip show google-adk): 1.21.0 , 1.18.0 (tested both)
Model Information:
- Are you using LiteLLM: No
- gemini-2.0-flash-exp