Skip to content

Commit 774557c

Browse files
author
ochafik
committed
llama 3.1: allow {name: & {function: syntax even w/ builtin tools (70B model just likes that!)
1 parent d86a1ae commit 774557c

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

common/chat.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)