-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
20 changed files
with
745 additions
and
214 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
build | ||
tmp | ||
.vscode/settings.json | ||
target | ||
model.cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"C_Cpp.autoAddFileAssociations": false, | ||
"files.readonlyInclude": { | ||
"**/config_info.json": true | ||
}, | ||
"cSpell.words": [ | ||
"ckpt", | ||
"fmha", | ||
"llgtrt", | ||
"mpirun", | ||
"npuichigo", | ||
"openai", | ||
"trtllm" | ||
] | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
{#- This is adapted from huggingface tokenizer_config.json/chat_template but updated to match #} | ||
{#- https://github.com/meta-llama/llama-models/blob/main/models/llama3_1/prompt_format.md #} | ||
{{- bos_token }} | ||
{%- if custom_tools is defined %} | ||
{%- set tools = custom_tools %} | ||
{%- endif %} | ||
{%- if not date_string is defined %} | ||
{%- set date_string = "21 September 2024" %} | ||
{%- endif %} | ||
{%- if not tools is defined %} | ||
{%- set tools = none %} | ||
{%- endif %} | ||
|
||
{#- This block extracts the system message, so we can slot it into the right place. #} | ||
{%- if messages[0]['role'] == 'system' %} | ||
{%- set system_message = messages[0]['content']|trim %} | ||
{%- set messages = messages[1:] %} | ||
{%- else %} | ||
{%- set system_message = "" %} | ||
{%- endif %} | ||
|
||
{#- System message + builtin tools #} | ||
{{- "<|start_header_id|>system<|end_header_id|>\n\n" }} | ||
{%- if builtin_tools is defined or tools is not none %} | ||
{{- "Environment: ipython\n" }} | ||
{%- endif %} | ||
{%- if builtin_tools is defined %} | ||
{{- "Tools: " + builtin_tools | reject('equalto', 'code_interpreter') | join(", ") + "\n\n"}} | ||
{%- endif %} | ||
{{- "Cutting Knowledge Date: December 2023\n" }} | ||
{{- "Today Date: " + date_string + "\n\n" }} | ||
{{- system_message }} | ||
{{- "<|eot_id|>" }} | ||
|
||
{#- Custom tools are passed in a user message with some extra guidance #} | ||
{%- if not tools is none %} | ||
{{- '<|start_header_id|>user<|end_header_id|>\n\n' -}} | ||
{{- "Answer the user's question by making use of the following functions if needed.\n" }} | ||
{{- "If none of the function can be used, please say so.\n" }} | ||
{{- "Here is a list of functions in JSON format:\n" }} | ||
{%- for t in tools %} | ||
{{- t | tojson(indent=4) }} | ||
{{- "\n\n" }} | ||
{%- endfor %} | ||
{{- "<|eot_id|>"}} | ||
{%- endif %} | ||
|
||
{%- for message in messages %} | ||
{%- if not (message.role == 'ipython' or message.role == 'tool' or 'tool_calls' in message) %} | ||
{{- '<|start_header_id|>' + message['role'] + '<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' }} | ||
{%- elif 'tool_calls' in message %} | ||
{%- if not message.tool_calls|length == 1 %} | ||
{{- raise_exception("This model only supports single tool-calls at once!") }} | ||
{%- endif %} | ||
{%- set tool_call = message.tool_calls[0].function %} | ||
{%- if builtin_tools is defined and tool_call.name in builtin_tools %} | ||
{{- '<|start_header_id|>assistant<|end_header_id|>\n\n' -}} | ||
{{- "<|python_tag|>" + tool_call.name + ".call(" }} | ||
{%- for arg_name, arg_val in tool_call.arguments | items %} | ||
{{- arg_name + '="' + arg_val + '"' }} | ||
{%- if not loop.last %} | ||
{{- ", " }} | ||
{%- endif %} | ||
{%- endfor %} | ||
{{- ")" }} | ||
{%- else %} | ||
{{- '<|start_header_id|>assistant<|end_header_id|>\n\n' -}} | ||
{{- '<|python_tag|>{"name": "' + tool_call.name + '", ' }} | ||
{{- '"parameters": ' }} | ||
{{- tool_call.arguments | tojson }} | ||
{{- "}" }} | ||
{%- endif %} | ||
{%- if builtin_tools is defined %} | ||
{#- This means we're in ipython mode #} | ||
{{- "<|eom_id|>" }} | ||
{%- else %} | ||
{{- "<|eot_id|>" }} | ||
{%- endif %} | ||
{%- elif message.role == "tool" or message.role == "ipython" %} | ||
{{- "<|start_header_id|>ipython<|end_header_id|>\n\n" }} | ||
{%- if message.content is mapping or message.content is iterable %} | ||
{{- message.content | tojson }} | ||
{%- else %} | ||
{{- message.content }} | ||
{%- endif %} | ||
{{- "<|eot_id|>" }} | ||
{%- endif %} | ||
{%- endfor %} | ||
{%- if add_generation_prompt %} | ||
{{- '<|start_header_id|>assistant<|end_header_id|>\n\n' }} | ||
{%- endif %} | ||
|
Oops, something went wrong.