MaxKB
MaxKB copied to clipboard
[BUG]多轮对话以后,出现token过长的提示
联系方式
MaxKB 版本
v1.0.3 (build at 2024-04-18T17:10, commit: 78cd31ea)
问题描述
创建了一个应用,选择的模型:gpt-3.5-turbo-0613 应用开启多轮对话和问题优化,问过几次之后,报错:异常Error code: 400 - {'error': {'message': "This model's maximum context length is 4097 tokens. However, your messages resulted in 5799 tokens. Please reduce the length of the messages.", 'type': 'invalid_request_error', 'param': 'messages', 'code': 'context_length_exceeded'}}
token过长的问题,但是平台也没有地方可以设置token
重现步骤
择的模型:gpt-3.5-turbo-0613 应用开启多轮对话和问题优化,问过几次之后,报错
期待的正确结果
No response
相关日志输出
No response
附加信息
感谢反馈,在应用-设置- 关联知识库的参数设置中有最大字符数限制。
确认此处限制确实没有包含多轮对话的字符数,后期版本会优化。
感谢反馈,在应用设置-关联知识库的参数设置中有最大字符数限制。 确认此处限制确实不包含多轮对话的字符数,后期版本会优化。
还有个疑惑,在应用设置-关联知识库的参数设置里面设置的最大引用字符数,是指每次提问问题引用的关联知识库里面的信息的最大字符数,还是指发送到gpt里面的最大字符数?
感谢反馈,在应用设置-关联知识库的参数设置中有最大字符数限制。 确认此处限制确实不包含多轮对话的字符数,后期版本会优化。
还有个疑惑,在应用设置-关联知识库的参数设置里面设置的最大引用字符数,是指每次提问问题引用的关联知识库里面的信息的最大字符数,还是指发送到gpt里面的最大字符数?
当前是引用知识库的最大字符数
感谢反馈,在应用设置-关联知识库的参数设置中有最大字符数限制。 确认此处限制确实不包含多轮对话的字符数,后期版本会优化。
还有个疑惑,在应用设置-关联知识库的参数设置里面设置的最大引用字符数,是指每次提问问题引用的关联知识库里面的信息的最大字符数,还是指发送到gpt里面的最大字符数?
当前是引用知识库的最大字符数
好的,谢谢回复。虽然不知道这个别人提过没有,我还是再提一下。能加上模型的参数配置吗?比如gpt的。maxToken、temperature、topP、frequencyPenalty、presencePenalty 等等一些api调用的参数。
模型参数配置的在 issue #58 中
这里提示 tokens 过长正常 是因为引用分段+ 多轮对话的内容及用户问题 超过了模型的最大长度 4097, 你可以适当把引用字符数调小,或者换一个接受字符数 8K 的模型试一下。
这个错误属于正常现象,该 issue先关闭了。
这里提示 tokens 过长正常 是因为引用分段+ 多轮对话的内容及用户问题 超过了模型的最大长度 4097, 你可以适当把引用字符数调小,或者换一个接受字符数 8K 的模型试一下。
这个错误属于正常现象,该 issue先关闭了。
是不是应该做个机制,判断下token超过固定长度之后,删除之前的对话。我的理解是知识库的会话应该是连续的,由程序自己来判断token的长度,剔除掉最开始的会话