@@ -384,12 +384,12 @@ static common_chat_params common_chat_params_init_llama_3_1_tool_calls(const com
384384 const auto & function = tool[" function" ];
385385 std::string name = function[" name" ];
386386 auto parameters = function[" parameters" ];
387+ builder.resolve_refs (parameters);
387388
388389 // https://github.com/meta-llama/llama-stack/tree/main/llama_stack/providers/remote/tool_runtime
389- if (allow_python_tag_builtin_tools && handle_builtin_tool (name, parameters) ) {
390- return ;
390+ if (allow_python_tag_builtin_tools) {
391+ handle_builtin_tool (name, parameters) ;
391392 }
392- builder.resolve_refs (parameters);
393393 tool_rules.push_back (
394394 builder.add_rule (
395395 name + " -call" ,
@@ -398,12 +398,9 @@ static common_chat_params common_chat_params_init_llama_3_1_tool_calls(const com
398398 builder.add_schema (name + " -args" , parameters) +
399399 " \" }\" " ));
400400 data.grammar_triggers .push_back ({" {\" name\" : \" " + name + " \" " , /* .at_start = */ true });
401- has_function = true ;
402401 });
403- if (has_function) {
404- data.grammar_triggers .push_back ({" {\" name\" :" , /* .at_start = */ true });
405- data.grammar_triggers .push_back ({" {\" type\" : \" function\" " , /* .at_start = */ true });
406- }
402+ data.grammar_triggers .push_back ({" {\" name\" :" , /* .at_start = */ true });
403+ data.grammar_triggers .push_back ({" {\" type\" : \" function\" " , /* .at_start = */ true });
407404 if (!builtin_tools.empty ()) {
408405 data.grammar_triggers .push_back ({" <|python_tag|>" , /* .at_start = */ false });
409406 }
0 commit comments