@@ -81,3 +81,28 @@ def test_date_inside_prompt(template_name: str, format: str, tools: list[dict]):
8181
8282 today_str = datetime .date .today ().strftime (format )
8383 assert today_str in prompt , f"Expected today's date ({ today_str } ) in content ({ prompt } )"
84+
85+
86+ @pytest .mark .parametrize ("add_generation_prompt" , [False , True ])
87+ @pytest .mark .parametrize ("template_name,expected_generation_prompt" , [
88+ ("meta-llama-Llama-3.3-70B-Instruct" , "<|start_header_id|>assistant<|end_header_id|>" ),
89+ ])
90+ def test_add_generation_prompt (template_name : str , expected_generation_prompt : str , add_generation_prompt : bool ):
91+ global server
92+ server .jinja = True
93+ server .chat_template_file = f'../../../models/templates/{ template_name } .jinja'
94+ server .start (timeout_seconds = TIMEOUT_SERVER_START )
95+
96+ res = server .make_request ("POST" , "/apply-template" , data = {
97+ "messages" : [
98+ {"role" : "user" , "content" : "What is today?" },
99+ ],
100+ "add_generation_prompt" : add_generation_prompt ,
101+ })
102+ assert res .status_code == 200
103+ prompt = res .body ["prompt" ]
104+
105+ if add_generation_prompt :
106+ assert expected_generation_prompt in prompt , f"Expected generation prompt ({ expected_generation_prompt } ) in content ({ prompt } )"
107+ else :
108+ assert expected_generation_prompt not in prompt , f"Did not expect generation prompt ({ expected_generation_prompt } ) in content ({ prompt } )"
0 commit comments