我参考默认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或者请开始之类的字样都可以。