你想做什么?
新的Herme 2 Pro模型建议功能调用的结果以带有"tool"角色的消息形式呈现,例如:
<|im_start|>tool
<tool_response>...result here...</tool_response>
<|im_end|>
聊天API不支持带有"tool"角色的消息 - 将其视为错误请求。
我们应该如何解决这个问题?
在消息API中接受"tool"角色将使使用Hermes Pro的人的生活更加轻松 - 对于基于相同开放数据集的未来模型也是如此。
这对于Ollama中的模板工作有影响 - 甚至可能需要对模板进行彻底的重新思考。
不解决这个问题会有什么影响?
不解决这个问题意味着用户必须创建自己的模板并使用Ollama的 raw
选项,这抵消了使用Ollama的一些乐趣。
我确实认为函数调用和构建本地代理是Ollama真正可以发挥优势的一个领域,如果这样做的经验完全没有痛苦的话。
还有其他问题吗?
Hermes Pro功能调用与提示/模板指令的仓库:
https://github.com/NousResearch/Hermes-Function-Calling
2条答案
按热度按时间sxissh061#
<|im_start|>assistant<tool_call>...
也需要 JSON-mode 支持。xpcnnkqh2#
这也是在langchain内部实现更清洁的方式所需要的。
目前,ChatOllama不支持处理
ToolMessage
,其类型为tool
。为了解决这个问题,在OllamaFunctions(一个调用兼容的ChatOllama子类的工具)中,我们将
ToolMessage
作为类型assistant
传递。