Skip to content

在限制CONTEXT_HISTORY_LIMIT的情况下,会出现Messages with role 'tool' must be a response to a preceding message with 'tool_calls'的错误 #1

@Melod-YI

Description

@Melod-YI

我参考默认env文件,设置CONTEXT_HISTORY_LIMIT=20后,调用deepseek的模型,提示Messages with role 'tool' must be a response to a preceding message with 'tool_calls'。

因为在 ai-client.ts 的处理逻辑中,是直接根据CONTEXT_HISTORY_LIMIT来裁切数组,但是deepseek的要求里,如果只把"role": "assistant"的记录删除了,在system后面直接跟tool,就会报上述的错误。

实际上如果要裁切可以考虑把assistant连同紧跟着的tool都删掉。
或者在CONTEXT_HISTORY_LIMIT改为统计对话的轮次。


另外在尝试使用minimax的时候,在刚启动的时候得到了 invalid params, chat content is empty (2013) 的错误。
似乎minimax的api里,不能只传一个system prompt,需要额外传一个user的message,使用空message或者请开始之类的字样都可以。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions