Repository navigation
fix(formatter): keep parallel Ollama tool calls on one assistant message - #3910
Merged
qbc2016 merged 1 commit intoNov 10, 2026
Merged
Conversation
OllamaChatFormatter gave every ToolCallBlock its own assistant message, so a turn with parallel tool calls became consecutive assistant messages. Ollama's server collates consecutive same-role messages by appending only their content to the first one, which drops the tool calls of every message after the first while their tool results stay. A tool call that follows another tool call of the same Msg now joins the message carrying the earlier calls, along with any text or images in between, matching the one-message shape of Ollama's parallel tool calling and of the other chat formatters.
Contributor
|
Thanks for the pull request. One thing worth sorting out before it is reviewed:
If you think it belongs here anyway, say so and a maintainer will take a look. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
OllamaChatFormatter gave every ToolCallBlock its own assistant message, so a turn with parallel tool calls became consecutive assistant messages. Ollama's server collates consecutive same-role messages by appending only their content to the first one, which drops the tool calls of every message after the first while their tool results stay.
A tool call that follows another tool call of the same Msg now joins the message carrying the earlier calls, along with any text or images in between, matching the one-message shape of Ollama's parallel tool calling and of the other chat formatters.
PR Title Format
Please ensure your PR title follows the Conventional Commits format:
<type>(<scope>): <description>feat(memory): add redis cache supportfeat,fix,docs,ci,refactor,test,chore,perf,style,build,revertAgentScope Version
[The version of AgentScope you are working on, e.g.
import agentscope; print(agentscope.__version__)]Description
[Please describe the background, purpose, changes made, and how to test this PR]
Checklist
Please check the following items before code is ready to be reviewed.