You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
** Please make sure you read the contribution guide and file the issues in the right place. ** Contribution guide.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Note
LLM server way: vLLM
Model Info: Qwen2.5-14B-Instruct
❌ Case1: Custom temperature=0.2 with generate_content_config
import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent
from google.adk.models.lite_llm import LiteLlm
from google.genai import types
def get_weather(city: str) -> dict:
"""Retrieves the current weather report for a specified city.
Args:
city (str): The name of the city for which to retrieve the weather report.
Returns:
dict: status and result or error msg.
"""
if city.lower() == "new york":
return {
"status": "success",
"report": (
"The weather in New York is sunny with a temperature of 25 degrees"
" Celsius (77 degrees Fahrenheit)."
),
}
else:
return {
"status": "error",
"error_message": f"Weather information for '{city}' is not available.",
}
def get_current_time(city: str) -> dict:
"""Returns the current time in a specified city.
Args:
city (str): The name of the city for which to retrieve the current time.
Returns:
dict: status and result or error msg.
"""
if city.lower() == "new york":
tz_identifier = "America/New_York"
else:
return {
"status": "error",
"error_message": (
f"Sorry, I don't have timezone information for {city}."
),
}
tz = ZoneInfo(tz_identifier)
now = datetime.datetime.now(tz)
report = (
f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
)
return {"status": "success", "report": report}
root_agent = Agent(
model=LiteLlm(
model="openai/Qwen2.5-14B-Instruct",
api_base = "http://127.0.0.1:8080/v1",
api_key="EMPTY",
),
name="weather_time_agent",
description=(
"Agent to answer questions about the time and weather in a city."
),
instruction=(
"You are a helpful agent who can answer user questions about the time and weather in a city."
),
tools=[get_weather, get_current_time],
+ generate_content_config=types.GenerateContentConfig(+ temperature=0.2, # More deterministic output+ max_output_tokens=250
)
)
adk web
Input: Hello
Output: Hello! How can I assist you today? Do you want to know the time or weather in a specific city?
Important
LLM server use default temperature=0.7, while generate_content_config does not work (both temperature and max_output_tokens.
✅ Case2: Custom temperature=0.2 with generate_content_config and LiteLLM args temperature=0.1
import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent
from google.adk.models.lite_llm import LiteLlm
from google.genai import types
def get_weather(city: str) -> dict:
"""Retrieves the current weather report for a specified city.
Args:
city (str): The name of the city for which to retrieve the weather report.
Returns:
dict: status and result or error msg.
"""
if city.lower() == "new york":
return {
"status": "success",
"report": (
"The weather in New York is sunny with a temperature of 25 degrees"
" Celsius (77 degrees Fahrenheit)."
),
}
else:
return {
"status": "error",
"error_message": f"Weather information for '{city}' is not available.",
}
def get_current_time(city: str) -> dict:
"""Returns the current time in a specified city.
Args:
city (str): The name of the city for which to retrieve the current time.
Returns:
dict: status and result or error msg.
"""
if city.lower() == "new york":
tz_identifier = "America/New_York"
else:
return {
"status": "error",
"error_message": (
f"Sorry, I don't have timezone information for {city}."
),
}
tz = ZoneInfo(tz_identifier)
now = datetime.datetime.now(tz)
report = (
f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
)
return {"status": "success", "report": report}
root_agent = Agent(
model=LiteLlm(
model="openai/Qwen2.5-14B-Instruct",
api_base = "http://127.0.0.1:8080/v1",
api_key="EMPTY",
+ temperature=0.1,
),
name="weather_time_agent",
description=(
"Agent to answer questions about the time and weather in a city."
),
instruction=(
"You are a helpful agent who can answer user questions about the time and weather in a city."
),
tools=[get_weather, get_current_time],
+ generate_content_config=types.GenerateContentConfig(+ temperature=0.2, # More deterministic output+ max_output_tokens=250
)
)
adk web
Input: Hello
Output: Hello! How can I assist you today? Do you want to know the time or weather in a specific city?
Important
LLM server use temperature=0.1, which is same as LiteLLM args. On the other hand, generate_content_config also does not work (both temperature and max_output_tokens.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: macOS
Python version(python -V): python 3.12
ADK version(pip show google-adk): 1.2.1
Additional context
Add any other context about the problem here.
** Please make sure you read the contribution guide and file the issues in the right place. **
Contribution guide.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Note
❌ Case1: Custom
temperature=0.2withgenerate_content_configimport datetime from zoneinfo import ZoneInfo from google.adk.agents import Agent from google.adk.models.lite_llm import LiteLlm from google.genai import types def get_weather(city: str) -> dict: """Retrieves the current weather report for a specified city. Args: city (str): The name of the city for which to retrieve the weather report. Returns: dict: status and result or error msg. """ if city.lower() == "new york": return { "status": "success", "report": ( "The weather in New York is sunny with a temperature of 25 degrees" " Celsius (77 degrees Fahrenheit)." ), } else: return { "status": "error", "error_message": f"Weather information for '{city}' is not available.", } def get_current_time(city: str) -> dict: """Returns the current time in a specified city. Args: city (str): The name of the city for which to retrieve the current time. Returns: dict: status and result or error msg. """ if city.lower() == "new york": tz_identifier = "America/New_York" else: return { "status": "error", "error_message": ( f"Sorry, I don't have timezone information for {city}." ), } tz = ZoneInfo(tz_identifier) now = datetime.datetime.now(tz) report = ( f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}' ) return {"status": "success", "report": report} root_agent = Agent( model=LiteLlm( model="openai/Qwen2.5-14B-Instruct", api_base = "http://127.0.0.1:8080/v1", api_key="EMPTY", ), name="weather_time_agent", description=( "Agent to answer questions about the time and weather in a city." ), instruction=( "You are a helpful agent who can answer user questions about the time and weather in a city." ), tools=[get_weather, get_current_time], + generate_content_config=types.GenerateContentConfig( + temperature=0.2, # More deterministic output + max_output_tokens=250 ) )HelloHello! How can I assist you today? Do you want to know the time or weather in a specific city?Important
LLM server use default
temperature=0.7, whilegenerate_content_configdoes not work (both temperature and max_output_tokens.✅ Case2: Custom
temperature=0.2withgenerate_content_configand LiteLLM argstemperature=0.1import datetime from zoneinfo import ZoneInfo from google.adk.agents import Agent from google.adk.models.lite_llm import LiteLlm from google.genai import types def get_weather(city: str) -> dict: """Retrieves the current weather report for a specified city. Args: city (str): The name of the city for which to retrieve the weather report. Returns: dict: status and result or error msg. """ if city.lower() == "new york": return { "status": "success", "report": ( "The weather in New York is sunny with a temperature of 25 degrees" " Celsius (77 degrees Fahrenheit)." ), } else: return { "status": "error", "error_message": f"Weather information for '{city}' is not available.", } def get_current_time(city: str) -> dict: """Returns the current time in a specified city. Args: city (str): The name of the city for which to retrieve the current time. Returns: dict: status and result or error msg. """ if city.lower() == "new york": tz_identifier = "America/New_York" else: return { "status": "error", "error_message": ( f"Sorry, I don't have timezone information for {city}." ), } tz = ZoneInfo(tz_identifier) now = datetime.datetime.now(tz) report = ( f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}' ) return {"status": "success", "report": report} root_agent = Agent( model=LiteLlm( model="openai/Qwen2.5-14B-Instruct", api_base = "http://127.0.0.1:8080/v1", api_key="EMPTY", + temperature=0.1, ), name="weather_time_agent", description=( "Agent to answer questions about the time and weather in a city." ), instruction=( "You are a helpful agent who can answer user questions about the time and weather in a city." ), tools=[get_weather, get_current_time], + generate_content_config=types.GenerateContentConfig( + temperature=0.2, # More deterministic output + max_output_tokens=250 ) )HelloHello! How can I assist you today? Do you want to know the time or weather in a specific city?Important
LLM server use
temperature=0.1, which is same as LiteLLM args. On the other hand,generate_content_configalso does not work (both temperature and max_output_tokens.Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
macOSpython 3.121.2.1Additional context
Add any other context about the problem here.