@@ -1517,17 +1517,10 @@ def test_system_prompt_runtime_override(self, make_agent):
15171517 assert result ["messages" ][0 ].text == "You are an Haystack expert."
15181518 assert result ["messages" ][1 ].text == "Hi"
15191519
1520- def test_user_prompt_raises_when_no_messages_and_no_prompt (self , weather_tool ):
1521- agent = Agent (chat_generator = MockChatGenerator (), tools = [weather_tool ])
1522- with pytest .raises (
1523- ValueError , match = "No messages provided to the Agent and neither user_prompt nor system_prompt is set"
1524- ):
1525- agent .run ()
1526-
15271520 def test_user_prompt_only_variables_forwarded_to_builder (self , make_agent ):
15281521 agent = make_agent (user_prompt = _user_msg ("Question: {{question}}" ))
15291522 # 'irrelevant_kwarg' is not a template variable — must not raise
1530- result = agent .run (question = "Will it snow?" , irrelevant_kwarg = "unused" )
1523+ result = agent .run (messages = [], question = "Will it snow?" , irrelevant_kwarg = "unused" )
15311524 assert "messages" in result
15321525
15331526 def test_user_prompt_with_template_variables (self , make_agent ):
@@ -1538,7 +1531,7 @@ def test_user_prompt_with_template_variables(self, make_agent):
15381531 + " on {{date}}?"
15391532 )
15401533 )
1541- result = agent .run (name = "Alice" , cities = ["Berlin" , "Paris" , "Rome" ], date = "2024-01-15" )
1534+ result = agent .run (messages = [], name = "Alice" , cities = ["Berlin" , "Paris" , "Rome" ], date = "2024-01-15" )
15421535 user_messages = [m for m in result ["messages" ] if m .is_from (ChatRole .USER )]
15431536 assert user_messages [0 ].text == "Hello ALICE, check weather for: Berlin, Paris, Rome on 2024-01-15?"
15441537
@@ -1549,7 +1542,7 @@ def test_user_prompt_with_template_variables(self, make_agent):
15491542
15501543 def test_runtime_user_prompt_overrides_init_prompt (self , make_agent ):
15511544 agent = make_agent (user_prompt = _user_msg ("Default prompt for {{city}}." ))
1552- result = agent .run (user_prompt = _user_msg ("Runtime prompt for {{city}}." ), city = "Berlin" )
1545+ result = agent .run (messages = [], user_prompt = _user_msg ("Runtime prompt for {{city}}." ), city = "Berlin" )
15531546 user_messages = [m for m in result ["messages" ] if m .is_from (ChatRole .USER )]
15541547 assert user_messages [0 ].text == "Runtime prompt for Berlin."
15551548
@@ -1580,7 +1573,7 @@ def test_system_prompt_and_user_prompt(self, make_agent):
15801573 assert agent ._system_chat_prompt_builder is not None
15811574 assert agent ._user_chat_prompt_builder is not None
15821575
1583- result = agent .run (project = "Haystack" , topic = "pipelines" )
1576+ result = agent .run (messages = [], project = "Haystack" , topic = "pipelines" )
15841577 messages = result ["messages" ]
15851578 assert messages [0 ].is_from (ChatRole .SYSTEM )
15861579 assert messages [0 ].text == "You help users of Haystack."
@@ -1629,7 +1622,7 @@ def _factory(user_prompt: str | None = None):
16291622 def test_rag_pipeline_user_prompt_init_only (self , make_rag_pipeline ):
16301623 pipeline = make_rag_pipeline ()
16311624 query = "Where is the Colosseum?"
1632- result = pipeline .run (data = {"retriever" : {"query" : query }, "agent" : {"query" : query }})
1625+ result = pipeline .run (data = {"retriever" : {"query" : query }, "agent" : {"query" : query , "messages" : [] }})
16331626 assert "agent" in result
16341627 agent_output = result ["agent" ]
16351628 assert "messages" in agent_output
@@ -1662,6 +1655,7 @@ def test_rag_pipeline_user_prompt_runtime_override(self, make_rag_pipeline):
16621655 "Answer: {{query}}"
16631656 ),
16641657 "query" : query ,
1658+ "messages" : [],
16651659 },
16661660 }
16671661 )
0 commit comments