You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been following your project for a while now. and use codecompanion daily. and love it more and more! It' lovable :D. I love the idea of running models locally, and kinda got a little sad when ollama is broken when it comes to function calling. Yesterday, I notised qwen3 got released about a week ago. That model is really interesting. capable for switching btw thinking and none thinking mode. It also got support for running tools. I know too little about this and scratch my head every day, but learning as I go. When testing out the model with ollama run qwen3 and came over this.
>>> /show template
{{- if .Messages }}
{{- if or .System .Tools }}<|im_start|>system
{{- if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within <tools></tools> XML tags:
<tools>
{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}
</tools>
For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>
{{- end }}<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}<tool_call>
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}</tool_call>
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user
<tool_response>
{{ .Content }}
</tool_response><|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
{{ end }}
{{- end }}
{{- else }}
{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ end }}{{ .Response }}{{ if .Response }}<|im_end|>{{ end }}
I guess this is pretty good info for writing tools for the qwen3 models. Anyways,Thanks for this awesome plugin.
Keep on rocking in the free world, NICE WORK! :D https://qwenlm.github.io/blog/qwen3/
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
I've been following your project for a while now. and use codecompanion daily. and love it more and more! It' lovable :D. I love the idea of running models locally, and kinda got a little sad when ollama is broken when it comes to function calling. Yesterday, I notised qwen3 got released about a week ago. That model is really interesting. capable for switching btw thinking and none thinking mode. It also got support for running tools. I know too little about this and scratch my head every day, but learning as I go. When testing out the model with ollama run qwen3 and came over this.
I guess this is pretty good info for writing tools for the qwen3 models. Anyways,Thanks for this awesome plugin.
Keep on rocking in the free world, NICE WORK! :D
https://qwenlm.github.io/blog/qwen3/
Beta Was this translation helpful? Give feedback.
All reactions