Repository navigation
fix: add id to Message.ToolCall and tool_call_id to Message (#667) - #769
Madhavkannank wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.
|
Hi @ParthSareen , could you please take a look or kick off the CI workflow when you have a moment? This fixes the missing tool linkage from #667. Thanks! |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.
Description
The Ollama Go server backend exposes both
ToolCall.ID(when a model requests a tool call) andMessage.ToolCallID(when returning arole: "tool"execution result back to the model, as seen inollama/api/types.go).Previously in
ollama-python:Message.ToolCalllacked theidfield, causing server-returned tool call IDs to be dropped.Messagelacked thetool_call_idfield, causing incomingrole: "tool"messages in_copy_messages()to droptool_call_idduringMessage.model_validate(...)serialization.This PR provides the complete two-way tool correlation fix, directly resolving the missing tool-result correlation identified in PR #712.
Changes
id: Optional[str] = NonetoMessage.ToolCallinollama/_types.py.tool_call_id: Optional[str] = NonetoMessageinollama/_types.py.tests/test_client.pyfor bothClient.chatandAsyncClient.chatverifying:idparsing from server responsestool_call['id'])idis omitted by the servermodel_dump())tool_call_idonrole: "tool"messages through_copy_messages()into outbound/api/chatrequests.Fixes #667