123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- {{- if .System }}{{ .System }}
- {{ end }}
- {{- range $i, $_ := .Messages }}
- {{- if eq .Role "user" }}### Instruction:
- {{- if and $.Tools (le (len (slice $.Messages $i)) 2) }}
- [BEGIN OF TASK INSTRUCTION]
- You are an expert in composing functions. You are given a question and a set of possible functions.
- Based on the question, you will need to make one or more function/tool calls to achieve the purpose.
- If none of the functions can be used, point it out and refuse to answer.
- If the given question lacks the parameters required by the function, also point it out.
- [END OF TASK INSTRUCTION]
- [BEGIN OF AVAILABLE TOOLS]
- {{ $.Tools }}
- [END OF AVAILABLE TOOLS]
- [BEGIN OF FORMAT INSTRUCTION]
- The output MUST strictly adhere to the following JSON format, and NO other text MUST be included.
- The example format is as follows. Please make sure the parameter type is correct. If no function call is needed, please make tool_calls an empty list '[]'.
- ```
- {
- "tool_calls": [
- {"name": "func_name1", "arguments": {"argument1": "value1", "argument2": "value2"}},
- ... (more tool calls as required)
- ]
- }
- ```
- [END OF FORMAT INSTRUCTION]
- [BEGIN OF QUERY]
- {{ .Content }}
- [END OF QUERY]
- {{ else }}
- {{ .Content }}
- {{ end }}
- {{- else if .ToolCalls }}### Response:
- {"tool_calls": [{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}{{ end }}]}
- <|EOT|>
- {{ else if eq .Role "assistant" }}### Response:
- {{ .Content }}
- <|EOT|>
- {{ end }}
- {{- end }}### Response:
|