When using the response_model parameter in an Agno Agent configuration to generate structured output the agent ceases to call any defined tools. This issue occurs when running the agent locally with the Hermes-3-Llama-3.1-8B model. Without the response_model parameter, the tool calling functionality works as expected. However, enabling response_model appears to interfere with the tool calling mechanism, preventing the agent from invoking tools.
class MyData(BaseModel):
title: str = Field(..., description="title")
description: str = Field(..., description="description")
agent = Agent(
model=OpenAILike(
id="hermes-3-llama-3.1-8b",
api_key="lm-studio",
base_url="http://127.0.0.1:1234/v1",
),
response_model=MyData,
tools=[DuckDuckGoTools(news=False)