Chat Template Issue
#15
by
SeanIsYoung
- opened
In the tool call section should there is a comma that is always placed after name. Yet arguments the parameter that comes after name is optional. So should the comma not be optional as well?
current version
{{- '{' }}
{{- '"name": "' }}
{{- tool_call.name }}
{{- '"' }}
{{- ', '}}
{%- if tool_call.arguments is defined %}
{{- '"arguments": ' }}
{%- if tool_call.arguments is string %}
{{- tool_call.arguments }}
{%- else %}
{{- tool_call.arguments|tojson }}
{%- endif %}
{%- endif %}
{{- '}' }}
suggested version
{{- '{' }}
{{- '"name": "' }}
{{- tool_call.name }}
{{- '"' }}
{%- if tool_call.arguments is defined %}
{{- ', '}}
{{- '"arguments": ' }}
{%- if tool_call.arguments is string %}
{{- tool_call.arguments }}
{%- else %}
{{- tool_call.arguments|tojson }}
{%- endif %}
{%- endif %}
{{- '}' }}
ideally if arguments are not present then tool call is invalid and shouldn't be there, will discuss with team and let you know
So yes this is technically correct although afaik tool_call.arguments
is mandatory
Ok, Thanks.
Out of curiosity, what would the expected behaviour be in the event that you have a tool that doesn't take any arguments?
SeanIsYoung
changed discussion status to
closed