Discourse AI:使用 Mistral(流式传输)时并行工具调用被静默丢弃

非常感谢 @sam 的快速修复,以及 @zogstrip 的快速回复(原文拼写为 repply)。

一切运行正常 :+1:,效果也很棒:现在代理可以在一个响应中请求多次读取,我的 RAG 测试场景的 LLM 调用次数减少了 43%,搜索和读取所花费的时间减少了 40%,成本降低了 33%。

我已在 2026.10.0-latest(f18a1985b,包含 #44270)上使用 Mistral mistral-large-2512 进行了验证(移除了我的 parallel_tool_calls: false 临时解决方案后):

  • 我第一个帖子中提到的无网络复现脚本现在能返回所有调用:在单个块中返回 2/2 和 3/3 的调用,即使使用 partial_tool_calls 并通过 Endpoints::Mistral#decode_chunk 也是如此。每个块一个调用的方式仍然有效。(由于 process_streamed_message 现在可能返回数组,脚本现在需要一个 .flatten。)
  • 使用真实的 RAG 代理且没有临时解决方案时,Mistral 在单个块中发送了 4 个并行读取,并且这 4 个都被执行了。在 14 次代理运行中,所有请求的工具调用均被执行。

再次感谢!

2 个赞