model_server icon indicating copy to clipboard operation
model_server copied to clipboard

Gpt-oss multi turn template + add to agentic demo

Open dkalinowski opened this issue 3 weeks ago • 0 comments

🛠 Summary

0.35 BFCL multiturn unary

Changes to original chat template:

  • introducing reasoning=none - this automaticly adds empty reasoning channel so it forces the model to skip the reasoning part. in reasoning effort placeholder it puts "low", since "none" was not present during gpt-oss training phase
  • removed exception when chat history contains both: content and reasoning_content. For some reason, during multi-turn bfcl benchmark i saw model generating both channels, which caused exception during history rendering. instead of exception, the content is rendered and reasoning_content omitted (no idea why i just assumed content might be more insightful)
  • replaced thinking with reasoning_content - for some reason openai used thinking field to render reasoning from history. replaced with reasoning_content which is present in requests received during bfcl benchmark.
  • fixed issue with parsing empty tool_calls: [] array when rendering chat history. in some cases gpt-oss generates reasoning/content but no tool calls, bfcl sends empty array and chat template accessed index 0 assuming there always is some tool call. new chat templates ignores empty arrays now
  • removed |tojson from tool argument rendering. this introduced string escaping which causes escaping in output (chain reaction). openai harmony format assumes no escaping. this was related to both: function call output (result from mcp servers) and function call arguments (input to mcp servers) in chat history

dkalinowski avatar Dec 05 '25 09:12 dkalinowski